Exemple #1
0
    def create_from_service_item(self, item):
        """
        Create a custom slide from a text service item

        :param item:  the service item to be converted to a Custom item
        """
        custom = CustomSlide()
        custom.title = item.title
        if item.theme:
            custom.theme_name = item.theme
        else:
            custom.theme_name = ''
        footer = ' '.join(item.raw_footer)
        if footer:
            if footer.startswith(item.title):
                custom.credits = footer[len(item.title) + 1:]
            else:
                custom.credits = footer
        else:
            custom.credits = ''
        custom_xml = CustomXMLBuilder()
        for (idx, slide) in enumerate(item._raw_frames):
            custom_xml.add_verse_to_lyrics('custom', str(idx + 1), slide['raw_slide'])
        custom.text = str(custom_xml.extract_xml(), 'utf-8')
        self.plugin.db_manager.save_object(custom)
        self.on_search_text_button_clicked()
Exemple #2
0
 def create_from_service_item(self, item):
     """
     Create a custom slide from a text service item
     """
     custom = CustomSlide()
     custom.title = item.title
     if item.theme:
         custom.theme_name = item.theme
     else:
         custom.theme_name = u''
     footer = u' '.join(item.raw_footer)
     if footer:
         if footer.startswith(item.title):
             custom.credits = footer[len(item.title) + 1:]
         else:
             custom.credits = footer
     else:
         custom.credits = u''
     custom_xml = CustomXMLBuilder()
     for (idx, slide) in enumerate(item._raw_frames):
         custom_xml.add_verse_to_lyrics(u'custom', unicode(idx + 1), slide['raw_slide'])
     custom.text = unicode(custom_xml.extract_xml(), u'utf-8')
     self.plugin.manager.save_object(custom)
     self.onSearchTextButtonClicked()
     if item.name.lower() == u'custom':
         Receiver.send_message(u'service_item_update', u'%s:%s:%s' % (custom.id, item.unique_identifier, False))
Exemple #3
0
 def save_custom(self):
     """
     Saves the custom.
     """
     if not self._validate():
         return False
     sxml = CustomXMLBuilder()
     for count in range(self.slide_list_view.count()):
         sxml.add_verse_to_lyrics('custom', str(count + 1), self.slide_list_view.item(count).text())
     self.custom_slide.title = self.title_edit.text()
     self.custom_slide.text = str(sxml.extract_xml(), 'utf-8')
     self.custom_slide.credits = self.credit_edit.text()
     self.custom_slide.theme_name = self.theme_combo_box.currentText()
     success = self.manager.save_object(self.custom_slide)
     self.media_item.auto_select_id = self.custom_slide.id
     return success
 def saveCustom(self):
     """
     Saves the custom.
     """
     if not self._validate():
         return False
     sxml = CustomXMLBuilder()
     for count in range(self.slideListView.count()):
         sxml.add_verse_to_lyrics(u'custom', unicode(count + 1), self.slideListView.item(count).text())
     self.customSlide.title = self.titleEdit.text()
     self.customSlide.text = unicode(sxml.extract_xml(), u'utf-8')
     self.customSlide.credits = self.creditEdit.text()
     self.customSlide.theme_name = self.themeComboBox.currentText()
     success = self.manager.save_object(self.customSlide)
     self.mediaitem.autoSelectId = self.customSlide.id
     return success
Exemple #5
0
 def save_custom(self):
     """
     Saves the custom.
     """
     if not self._validate():
         return False
     sxml = CustomXMLBuilder()
     for count in range(self.slide_list_view.count()):
         sxml.add_verse_to_lyrics('custom', str(count + 1), self.slide_list_view.item(count).text())
     self.custom_slide.title = self.title_edit.text()
     self.custom_slide.text = str(sxml.extract_xml(), 'utf-8')
     self.custom_slide.credits = self.credit_edit.text()
     self.custom_slide.theme_name = self.theme_combo_box.currentText()
     success = self.manager.save_object(self.custom_slide)
     self.media_item.auto_select_id = self.custom_slide.id
     return success
Exemple #6
0
 def add_slide(self, item_title, html_details, theme_name):
     custom_slide = CustomSlide()
     custom_slide.title = item_title
     sxml = CustomXMLBuilder()
     slide_content = ''
     if html_details is None:
         slide_content = item_title
     else:
         # we need non-html here, but the input is html
         slide_content = self._process_details(html_details)
     sxml.add_verse_to_lyrics('custom', str(1), slide_content)
     custom_slide.text = str(sxml.extract_xml(), 'utf-8')
     custom_slide.credits = 'pco'
     custom_slide.theme_name = theme_name
     custom = Registry().get('custom')
     custom_db_manager = custom.plugin.db_manager
     custom_db_manager.save_object(custom_slide)
     return custom_slide.id