diff --git a/openlp/core/lib/serviceitem.py b/openlp/core/lib/serviceitem.py index 45691deb4..0a00d57cb 100644 --- a/openlp/core/lib/serviceitem.py +++ b/openlp/core/lib/serviceitem.py @@ -63,15 +63,14 @@ class ServiceItem(object): self.audit = u'' self.items = [] self.iconic_representation = None - self.raw_slides = None - self.display_frames = [] self.raw_footer = None self.theme = None self.service_item_path = None self.service_item_type = None self.editEnabled = False - self.raw_frames = [] - self.uuid = unicode(uuid.uuid1()) + self._raw_frames = [] + self._display_frames = [] + self._uuid = unicode(uuid.uuid1()) def addIcon(self, icon): """ @@ -90,14 +89,14 @@ class ServiceItem(object): The render method is what generates the frames for the screen. """ log.debug(u'Render called') - self.display_frames = [] + self._display_frames = [] if self.service_item_type == ServiceItemType.Text: log.debug(u'Formatting slides') if self.theme is None: self.RenderManager.set_override_theme(None) else: self.RenderManager.set_override_theme(self.theme) - for slide in self.raw_frames: + for slide in self._raw_frames: before = time.time() formated = self.RenderManager.format_slide(slide[u'raw_slide']) for format in formated: @@ -105,12 +104,12 @@ class ServiceItem(object): for line in format: lines += line + u'\n' title = lines.split(u'\n')[0] - self.display_frames.append({u'title': title, u'text': lines}) + self._display_frames.append({u'title': title, u'text': lines}) log.info(u'Formatting took %4s' % (time.time() - before)) elif self.service_item_type == ServiceItemType.Command: - self.display_frames = self.raw_frames + self._display_frames = self._raw_frames elif self.service_item_type == ServiceItemType.Image: - for slide in self.raw_frames: + for slide in self._raw_frames: slide[u'image'] = \ self.RenderManager.resize_image(slide[u'image']) else: @@ -127,7 +126,7 @@ class ServiceItem(object): self.RenderManager.set_override_theme(None) else: self.RenderManager.set_override_theme(self.theme) - format = self.display_frames[row][u'text'].split(u'\n') + format = self._display_frames[row][u'text'].split(u'\n') frame = self.RenderManager.generate_slide(format, self.raw_footer) return frame @@ -147,7 +146,7 @@ class ServiceItem(object): """ self.service_item_type = ServiceItemType.Image self.service_item_path = path - self.raw_frames.append( + self._raw_frames.append( {u'title': title, u'image': image}) def add_from_text(self, title, raw_slide): @@ -162,7 +161,7 @@ class ServiceItem(object): """ self.service_item_type = ServiceItemType.Text title = title.split(u'\n')[0] - self.raw_frames.append( + self._raw_frames.append( {u'title': title, u'raw_slide': raw_slide}) def add_from_command(self, path, file_name, image): @@ -180,7 +179,7 @@ class ServiceItem(object): """ self.service_item_type = ServiceItemType.Command self.service_item_path = path - self.raw_frames.append( + self._raw_frames.append( {u'title': file_name, u'image': image}) def get_service_repr(self): @@ -200,13 +199,13 @@ class ServiceItem(object): } service_data = [] if self.service_item_type == ServiceItemType.Text: - for slide in self.raw_frames: + for slide in self._raw_frames: service_data.append(slide) elif self.service_item_type == ServiceItemType.Image: - for slide in self.raw_frames: + for slide in self._raw_frames: service_data.append(slide[u'title']) elif self.service_item_type == ServiceItemType.Command: - for slide in self.raw_frames: + for slide in self._raw_frames: service_data.append({u'title':slide[u'title'], u'image':slide[u'image']}) return {u'header': service_header, u'data': service_data} @@ -232,7 +231,7 @@ class ServiceItem(object): self.audit = header[u'audit'] if self.service_item_type == ServiceItemType.Text: for slide in serviceitem[u'serviceitem'][u'data']: - self.raw_frames.append(slide) + self._raw_frames.append(slide) elif self.service_item_type == ServiceItemType.Image: for text_image in serviceitem[u'serviceitem'][u'data']: filename = os.path.join(path, text_image) @@ -245,11 +244,11 @@ class ServiceItem(object): def merge(self, other): """ - Updates the uuid with the value from the original one - The uuid is unique for a give service item but this allows one to + Updates the _uuid with the value from the original one + The _uuid is unique for a give service item but this allows one to replace an original version. """ - self.uuid = other.uuid + self._uuid = other._uuid def __eq__(self, other): """ @@ -257,13 +256,13 @@ class ServiceItem(object): """ if not other: return False - return self.uuid == other.uuid + return self._uuid == other._uuid def __ne__(self, other): """ Confirms the service items are not for the same instance """ - return self.uuid != other.uuid + return self._uuid != other._uuid def isSong(self): return self.name == u'Songs' @@ -282,12 +281,16 @@ class ServiceItem(object): def getFrames(self): if self.service_item_type == ServiceItemType.Text: - return self.display_frames + return self._display_frames else: - return self.raw_frames + return self._raw_frames def get_rendered_frame(self, row): + """ + Returns the correct frame for a given list and + renders it if required. + """ if self.service_item_type == ServiceItemType.Text: return self.render_individual(row) else: - return self.raw_frames[row][u'image'] + return self._raw_frames[row][u'image']