forked from openlp/openlp
Fix service loading on Windows
This commit is contained in:
parent
de9e843c04
commit
e0f3d84bed
|
@ -24,6 +24,7 @@
|
||||||
|
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
|
import string
|
||||||
import logging
|
import logging
|
||||||
import cPickle
|
import cPickle
|
||||||
import zipfile
|
import zipfile
|
||||||
|
@ -416,7 +417,7 @@ class ServiceManager(QtGui.QWidget):
|
||||||
directory and will only be used for this service.
|
directory and will only be used for this service.
|
||||||
"""
|
"""
|
||||||
filename = QtGui.QFileDialog.getOpenFileName(self,
|
filename = QtGui.QFileDialog.getOpenFileName(self,
|
||||||
u'Open Order of Service',self.config.get_last_dir(),
|
u'Open Order of Service', self.config.get_last_dir(),
|
||||||
u'Services (*.oos)')
|
u'Services (*.oos)')
|
||||||
filename = unicode(filename)
|
filename = unicode(filename)
|
||||||
name = filename.split(os.path.sep)
|
name = filename.split(os.path.sep)
|
||||||
|
@ -426,14 +427,17 @@ class ServiceManager(QtGui.QWidget):
|
||||||
zip = zipfile.ZipFile(unicode(filename))
|
zip = zipfile.ZipFile(unicode(filename))
|
||||||
filexml = None
|
filexml = None
|
||||||
themename = None
|
themename = None
|
||||||
|
|
||||||
for file in zip.namelist():
|
for file in zip.namelist():
|
||||||
names = file.split(os.path.sep)
|
if os.name == u'nt':
|
||||||
|
winfile = string.replace(file, '/', os.path.sep)
|
||||||
|
names = winfile.split(os.path.sep)
|
||||||
|
else:
|
||||||
|
names = file.split(os.path.sep)
|
||||||
file_to = os.path.join(self.servicePath,
|
file_to = os.path.join(self.servicePath,
|
||||||
names[len(names) - 1])
|
names[len(names) - 1])
|
||||||
file_data = zip.read(file)
|
f = open(file_to, u'wb')
|
||||||
f = open(file_to, u'w')
|
f.write(zip.read(file))
|
||||||
f.write(file_data)
|
f.flush()
|
||||||
f.close()
|
f.close()
|
||||||
if file_to.endswith(u'ood'):
|
if file_to.endswith(u'ood'):
|
||||||
p_file = file_to
|
p_file = file_to
|
||||||
|
@ -449,11 +453,9 @@ class ServiceManager(QtGui.QWidget):
|
||||||
try:
|
try:
|
||||||
os.remove(p_file)
|
os.remove(p_file)
|
||||||
except:
|
except:
|
||||||
#if not present do not worry
|
log.exception(u'Failed to remove ood file')
|
||||||
pass
|
|
||||||
except:
|
except:
|
||||||
log.exception(u'Problem loading a service file')
|
log.exception(u'Problem loading a service file')
|
||||||
pass
|
|
||||||
self.isNew = False
|
self.isNew = False
|
||||||
self.serviceName = name[len(name) - 1]
|
self.serviceName = name[len(name) - 1]
|
||||||
self.parent.OosChanged(True, self.serviceName)
|
self.parent.OosChanged(True, self.serviceName)
|
||||||
|
|
Loading…
Reference in New Issue