Example #1
0
    def fetch_button_command(self):
        url = self.url_entry.get().strip()
        if not url.startswith('http://'):
            return

        try:
            self.website = create_website(url)
        except StandardError as error:
            self.video_title_label['text'] = ''
            self.comment_url_label['text'] = ''
            self.comment_url_label['cursor'] = ''
            self.website = None
            self.alert(tkMessageBox.ERROR, error)
            return

        if self.website is None:
            self.alert(tkMessageBox.ERROR, u'不支持的网站')
            return

        title = self.website.downloader.title
        url = self.website.downloader.comment_url

        self.video_title_label['text'] = title
        self.comment_url_label['text'] = url
        self.comment_url_label['cursor'] = 'hand1'
        if self.output_entry.get().strip() == '':
            self.output_entry.delete(0, tk.END)
            self.output_entry.insert(0, title + '.ass')
 def _parse_subtitle(self, cid):
     page_full_url = self.COMMENT_URL.format(cid)
     self._print_info('Page full url: ' + page_full_url)
     website = None
     try:
         website = create_website(page_full_url)
         if website is None:
             self._print_info(page_full_url + " not supported")
             return ''
         else:
             self._print_info('Generating subtitle')
             text = website.ass_subtitles_text(font_name=u'黑体',
                                               font_size=36,
                                               resolution='%d:%d' %
                                               (self.WIDTH, self.HEIGHT),
                                               line_count=12,
                                               bottom_margin=0,
                                               tune_seconds=0)
             f = open(self._get_tmp_dir() + '/tmp.ass', 'w')
             f.write(text.encode('utf8'))
             f.close()
             self._print_info('Subtitle generation succeeded!')
             return 'tmp.ass'
     except Exception as e:
         self._print_info("Exception raised when generating subtitle: %s" %
                          e)
         return ''
Example #3
0
    def fetch_button_event_handler(self, event):
        url = self.url_textcrtl.GetValue().strip()
        if not url.startswith('http://'):
            return

        try:
            self.website = create_website(url)
        except StandardError as error:
            self.video_title_statictext.SetLabel('')
            self.comment_url_hyperlinkctrl.SetLabel('')
            self.comment_url_hyperlinkctrl.SetURL('')
            self.website = None
            self.alert(wx.ICON_ERROR, error)
            return

        if self.website is None:
            self.alert(wx.ICON_ERROR, u'不支持的网站')
            return

        title = self.website.downloader.title
        url = self.website.downloader.comment_url

        self.video_title_statictext.SetLabel(title)
        self.comment_url_hyperlinkctrl.SetLabel(url)
        self.comment_url_hyperlinkctrl.SetURL(url)
        if self.output_textcrtl.GetValue().strip() == '':
            self.output_textcrtl.SetValue(title + '.ass')
Example #4
0
    def fetch_pushButton_clicked_slot(self):
        url = self.url_lineEdit.text().strip()
        if not url.startswith('http://'):
            return

        try:
            self.website = create_website(url)
        except StandardError as error:
            self.video_title_label.setText('')
            self.comment_url_label.setText('')
            self.website = None
            self.alert(QMessageBox.Critical, error)
            return

        if self.website is None:
            self.alert(QMessageBox.Critical, u'不支持的网站')
            return

        title = self.website.downloader.title
        url = self.website.downloader.comment_url
        markup = '<a href="%s">%s</a>' % (url, url)

        self.video_title_label.setText(title)
        self.comment_url_label.setText(markup)
        if self.output_lineEdit.text().strip() == '':
            self.output_lineEdit.setText(title + '.ass')
 def _parse_subtitle(self, cid):
     page_full_url = self.COMMENT_URL.format(cid)
     self._print_info('Page full url: ' + page_full_url)
     website = None
     try:
         website = create_website(page_full_url)
         if website is None:
             self._print_info(page_full_url + " not supported")
             return ''
         else:
             self._print_info('Generating subtitle')
             text = website.ass_subtitles_text(
                 font_name=u'黑体',
                 font_size=36,
                 resolution='%d:%d' % (self.WIDTH, self.HEIGHT),
                 line_count=12,
                 bottom_margin=0,
                 tune_seconds=0
             )
             f = open(self._get_tmp_dir() + '/tmp.ass', 'w')
             f.write(text.encode('utf8'))
             f.close()
             self._print_info('Subtitle generation succeeded!')
             return 'tmp.ass'
     except Exception as e:
         self._print_info("Exception raised when generating subtitle: %s" % e)
         return ''
Example #6
0
    def on_fetch_button_clicked(self, widget):
        url = self.url_entry.get_text().strip()
        if not url.startswith('http://'):
            return

        try:
            self.website = create_website(url)
        except StandardError as error:
            self.video_title_label.set_text('')
            self.comment_url_label.set_text('')
            self.website = None
            self.alert(Gtk.MessageType.ERROR, error)
            return

        if self.website is None:
            self.alert(Gtk.MessageType.ERROR, u'不支持的网站')
            return

        title = self.website.downloader.title
        url = self.website.downloader.comment_url
        markup = '<a href="%s">%s</a>' % (url, url)

        self.video_title_label.set_text(title)
        self.comment_url_label.set_markup(markup)
        if self.output_entry.get_text().strip() == '':
            self.output_entry.set_text(title + '.ass')
Example #7
0
def create_website_with_cache(url):
    website = cache.get(url)
    if website is not None:
        return website

    website = create_website(url)

    if website is None:
        raise StandardError(u'不支持的网站')
    else:
        cache.set(url, website)
    return website
Example #8
0
 def parse_subtitle(self, cid):
     page_full_url = COMMENT_URL.format(cid)
     website = create_website(page_full_url)
     if website is None:
         return ''
     else:
         text = website.ass_subtitles_text(font_name=u'黑体',
                                           font_size=24,
                                           resolution='%d:%d' %
                                           (self.WIDTH, self.HEIGHT),
                                           line_count=12,
                                           bottom_margin=0,
                                           tune_seconds=0)
         f = open(self._get_tmp_dir() + '/tmp.ass', 'w')
         f.write(text.encode('utf8'))
         f.close()
         return 'tmp.ass'
Example #9
0
 def _parse_subtitle(self, cid):
     page_full_url = self.COMMENT_URL.format(cid)
     print page_full_url
     website = create_website(page_full_url)
     if website is None:
         print page_full_url + " not supported"
         return ''
     else:
         text = website.ass_subtitles_text(
             font_name=u'黑体',
             font_size=36,
             resolution='%d:%d' % (self.WIDTH, self.HEIGHT),
             line_count=12,
             bottom_margin=0,
             tune_seconds=0
         )
         f = open(tempfile.gettempdir() + '/tmp.ass', 'w')
         f.write(text.encode('utf8'))
         return 'tmp.ass'