Ejemplo n.º 1
0
 def update(self, episode):
     heading = episode.title
     subheading = _('from %s') % (episode.channel.title)
     details = self.details_fmt % (
         util.format_date(episode.published),
         util.format_filesize(episode.file_size, digits=1)
         if episode.file_size > 0 else "-", episode.get_play_info_string())
     self.define_colors()
     hyperlinks = [(0, None)]
     self.text_buffer.set_text('')
     self.text_buffer.insert_with_tags_by_name(
         self.text_buffer.get_end_iter(), heading, 'heading')
     self.text_buffer.insert_at_cursor('\n')
     self.text_buffer.insert_with_tags_by_name(
         self.text_buffer.get_end_iter(), subheading, 'subheading')
     self.text_buffer.insert_at_cursor('\n')
     self.text_buffer.insert_with_tags_by_name(
         self.text_buffer.get_end_iter(), details, 'details')
     self.text_buffer.insert_at_cursor('\n\n')
     for target, text in util.extract_hyperlinked_text(
             episode.description_html or episode.description):
         hyperlinks.append((self.text_buffer.get_char_count(), target))
         if target:
             self.text_buffer.insert_with_tags_by_name(
                 self.text_buffer.get_end_iter(), text, 'hyperlink')
         else:
             self.text_buffer.insert(self.text_buffer.get_end_iter(), text)
     hyperlinks.append((self.text_buffer.get_char_count(), None))
     self.hyperlinks = [
         (start, end, url)
         for (start, url), (end, _) in zip(hyperlinks, hyperlinks[1:])
         if url
     ]
     self.text_buffer.place_cursor(self.text_buffer.get_start_iter())
Ejemplo n.º 2
0
 def update(self, heading, subheading, episode):
     hyperlinks = [(0, None)]
     self.text_buffer.set_text('')
     self.text_buffer.insert_with_tags_by_name(self.text_buffer.get_end_iter(), heading, 'heading')
     self.text_buffer.insert_at_cursor('\n')
     self.text_buffer.insert_with_tags_by_name(self.text_buffer.get_end_iter(), subheading, 'subheading')
     self.text_buffer.insert_at_cursor('\n\n')
     for target, text in util.extract_hyperlinked_text(episode.description_html or episode.description):
         hyperlinks.append((self.text_buffer.get_char_count(), target))
         if target:
             self.text_buffer.insert_with_tags_by_name(
                 self.text_buffer.get_end_iter(), text, 'hyperlink')
         else:
             self.text_buffer.insert(
                 self.text_buffer.get_end_iter(), text)
     hyperlinks.append((self.text_buffer.get_char_count(), None))
     self.hyperlinks = [(start, end, url) for (start, url), (end, _) in zip(hyperlinks, hyperlinks[1:]) if url]
     self.text_buffer.place_cursor(self.text_buffer.get_start_iter())
Ejemplo n.º 3
0
 def update(self, heading, subheading, episode):
     self.define_colors()
     hyperlinks = [(0, None)]
     self.text_buffer.set_text('')
     self.text_buffer.insert_with_tags_by_name(self.text_buffer.get_end_iter(), heading, 'heading')
     self.text_buffer.insert_at_cursor('\n')
     self.text_buffer.insert_with_tags_by_name(self.text_buffer.get_end_iter(), subheading, 'subheading')
     self.text_buffer.insert_at_cursor('\n\n')
     for target, text in util.extract_hyperlinked_text(episode.description_html or episode.description):
         hyperlinks.append((self.text_buffer.get_char_count(), target))
         if target:
             self.text_buffer.insert_with_tags_by_name(
                 self.text_buffer.get_end_iter(), text, 'hyperlink')
         else:
             self.text_buffer.insert(
                 self.text_buffer.get_end_iter(), text)
     hyperlinks.append((self.text_buffer.get_char_count(), None))
     self.hyperlinks = [(start, end, url) for (start, url), (end, _) in zip(hyperlinks, hyperlinks[1:]) if url]
     self.text_buffer.place_cursor(self.text_buffer.get_start_iter())
Ejemplo n.º 4
0
    def update(self, episode):
        self.scrolled_window.get_vadjustment().set_value(0)

        heading = episode.title
        subheading = _('from %s') % (episode.channel.title)
        details = self.details_fmt % {
            'date': util.format_date(episode.published),
            'size': util.format_filesize(episode.file_size, digits=1)
            if episode.file_size > 0 else "-",
            'duration': episode.get_play_info_string()}
        self.define_colors()
        hyperlinks = [(0, None)]
        self.text_buffer.set_text('')
        if episode.link:
            hyperlinks.append((self.text_buffer.get_char_count(), episode.link))
        self.text_buffer.insert_with_tags_by_name(self.text_buffer.get_end_iter(), heading, 'heading')
        if episode.link:
            hyperlinks.append((self.text_buffer.get_char_count(), None))
        self.text_buffer.insert_at_cursor('\n')
        self.text_buffer.insert_with_tags_by_name(self.text_buffer.get_end_iter(), subheading, 'subheading')
        self.text_buffer.insert_at_cursor('\n')
        self.text_buffer.insert_with_tags_by_name(self.text_buffer.get_end_iter(), details, 'details')
        self.text_buffer.insert_at_cursor('\n\n')
        for target, text in util.extract_hyperlinked_text(episode.html_description()):
            hyperlinks.append((self.text_buffer.get_char_count(), target))
            if target:
                self.text_buffer.insert_with_tags_by_name(
                    self.text_buffer.get_end_iter(), text, 'hyperlink')
            else:
                self.text_buffer.insert(
                    self.text_buffer.get_end_iter(), text)
        hyperlinks.append((self.text_buffer.get_char_count(), None))
        self.hyperlinks = [(start, end, url) for (start, url), (end, _) in zip(hyperlinks, hyperlinks[1:]) if url]
        self.text_buffer.place_cursor(self.text_buffer.get_start_iter())

        if self.populate_popup_id is not None:
            self.text_view.disconnect(self.populate_popup_id)
        self.populate_popup_id = self.text_view.connect('populate-popup', self.on_populate_popup)
        self.episode = episode