forked from openlp/openlp
Added validate function to serviceitem
This commit is contained in:
parent
d35d4f4f79
commit
443ad478c1
@ -508,3 +508,20 @@ class ServiceItem(object):
|
|||||||
self._new_item()
|
self._new_item()
|
||||||
self.render()
|
self.render()
|
||||||
|
|
||||||
|
def remove_invalid_frames(self, invalid_paths=None):
|
||||||
|
"""
|
||||||
|
Remove invalid frames, such as ones where the file no longer exists.
|
||||||
|
"""
|
||||||
|
if self.uses_file():
|
||||||
|
for frame in self.get_frames():
|
||||||
|
if self.get_frame_path(frame=frame) in invalid_paths:
|
||||||
|
self.remove_frame(frame)
|
||||||
|
|
||||||
|
def validate(self):
|
||||||
|
"""
|
||||||
|
Validates this service item
|
||||||
|
"""
|
||||||
|
if not self._raw_frames:
|
||||||
|
self.is_valid = False
|
||||||
|
return self.is_valid
|
||||||
|
|
||||||
|
@ -520,13 +520,8 @@ class ServiceManager(QtGui.QWidget):
|
|||||||
# Check if item contains a missing file.
|
# Check if item contains a missing file.
|
||||||
for item in list(self.serviceItems):
|
for item in list(self.serviceItems):
|
||||||
self.mainwindow.incrementProgressBar()
|
self.mainwindow.incrementProgressBar()
|
||||||
if item[u'service_item'].uses_file():
|
item[u'service_item'].remove_invalid_frames(missing_list)
|
||||||
for frame in item[u'service_item'].get_frames():
|
if not item[u'service_item'].validate():
|
||||||
path_from = item[u'service_item'].get_frame_path(
|
|
||||||
frame=frame)
|
|
||||||
if path_from in missing_list:
|
|
||||||
item[u'service_item'].remove_frame(frame)
|
|
||||||
if not item[u'service_item'].get_frames():
|
|
||||||
self.serviceItems.remove(item)
|
self.serviceItems.remove(item)
|
||||||
else:
|
else:
|
||||||
service_item = item[u'service_item'].get_service_repr()
|
service_item = item[u'service_item'].get_service_repr()
|
||||||
|
Loading…
Reference in New Issue
Block a user