forked from openlp/openlp
modified servicemanager to check for missing files during service save
This commit is contained in:
parent
187bb647c0
commit
7f440527f8
@ -465,10 +465,13 @@ class ServiceManager(QtGui.QWidget):
|
|||||||
service = []
|
service = []
|
||||||
write_list = []
|
write_list = []
|
||||||
total_size = 0
|
total_size = 0
|
||||||
|
abort_save = False
|
||||||
Receiver.send_message(u'cursor_busy')
|
Receiver.send_message(u'cursor_busy')
|
||||||
# Number of items + 1 to zip it
|
# Number of items + 1 to zip it
|
||||||
self.mainwindow.displayProgressBar(len(self.serviceItems) + 1)
|
self.mainwindow.displayProgressBar(len(self.serviceItems) + 1)
|
||||||
for item in self.serviceItems:
|
for item in self.serviceItems:
|
||||||
|
if abort_save:
|
||||||
|
continue
|
||||||
self.mainwindow.incrementProgressBar()
|
self.mainwindow.incrementProgressBar()
|
||||||
service.append({u'serviceitem':
|
service.append({u'serviceitem':
|
||||||
item[u'service_item'].get_service_repr()})
|
item[u'service_item'].get_service_repr()})
|
||||||
@ -482,6 +485,21 @@ class ServiceManager(QtGui.QWidget):
|
|||||||
# Only write a file once
|
# Only write a file once
|
||||||
if path_from in write_list:
|
if path_from in write_list:
|
||||||
continue
|
continue
|
||||||
|
if not os.path.isfile(path_from):
|
||||||
|
Receiver.send_message(u'cursor_normal')
|
||||||
|
title = unicode(translate('OpenLP.ServiceManager',
|
||||||
|
'Service File Missing'))
|
||||||
|
message = unicode(translate('OpenLP.ServiceManager',
|
||||||
|
'File missing from service\n\n %s \n\n'
|
||||||
|
'Continue saving?' % path_from ))
|
||||||
|
ans = QtGui.QMessageBox.critical(self, title, message,
|
||||||
|
QtGui.QMessageBox.StandardButtons(
|
||||||
|
QtGui.QMessageBox.Yes | QtGui.QMessageBox.No))
|
||||||
|
if ans == QtGui.QMessageBox.No:
|
||||||
|
abort_save = True
|
||||||
|
continue
|
||||||
|
Receiver.send_message(u'cursor_busy')
|
||||||
|
else:
|
||||||
file_size = os.path.getsize(path_from)
|
file_size = os.path.getsize(path_from)
|
||||||
size_limit = 52428800 # 50MiB
|
size_limit = 52428800 # 50MiB
|
||||||
#if file_size > size_limit:
|
#if file_size > size_limit:
|
||||||
@ -501,6 +519,11 @@ class ServiceManager(QtGui.QWidget):
|
|||||||
# continue
|
# continue
|
||||||
write_list.append(path_from)
|
write_list.append(path_from)
|
||||||
total_size += file_size
|
total_size += file_size
|
||||||
|
if abort_save:
|
||||||
|
self._fileName = u''
|
||||||
|
self.mainwindow.finishedProgressBar()
|
||||||
|
Receiver.send_message(u'cursor_normal')
|
||||||
|
return False
|
||||||
log.debug(u'ServiceManager.saveFile - ZIP contents size is %i bytes' %
|
log.debug(u'ServiceManager.saveFile - ZIP contents size is %i bytes' %
|
||||||
total_size)
|
total_size)
|
||||||
service_content = cPickle.dumps(service)
|
service_content = cPickle.dumps(service)
|
||||||
|
Loading…
Reference in New Issue
Block a user