Пример #1
0
    def on_button_add_torrent_clicked(self, menuitem, use_settings=False):
        torrent_link = get_value_in_selected_row(self.matching_treeview,
                                                 self.matching_store,
                                                 column_index=3)
        # Save current data to dict
        self.store_subscription_data()

        if torrent_link is None:
            return

        def add_torrent_callback(torrent_download):
            torrent_download = TorrentDownload(torrent_download)
            if torrent_download.success:
                return
            textview = self.glade.get_widget("textview_messages")
            textbuffer = textview.get_buffer()

            if torrent_download.filedump is None:
                return
            readable_body = http.clean_html_body(torrent_download.filedump)
            textbuffer.set_text(readable_body)

            notebook = self.glade.get_widget("notebook_lower")
            notebook.set_current_page(1)

            # Quick hack to make sure the message is visible to the user.
            hpaned = self.glade.get_widget("hpaned_matching")
            max_pos = hpaned.get_property("max-position")
            hpaned.set_position(int(max_pos * 0.3))

        self.gtkUI.add_torrent(
            torrent_link, self.subscription_data if use_settings else None,
            add_torrent_callback)
    def on_button_add_torrent_clicked(self, menuitem, use_settings=False):
        torrent_link = get_value_in_selected_row(self.matching_treeview,
                                                 self.matching_store, column_index=3)
        # Save current data to dict
        self.store_subscription_data()

        if torrent_link is None:
            return

        def add_torrent_callback(torrent_download):
            torrent_download = TorrentDownload(torrent_download)
            if torrent_download.success:
                return
            textview = self.glade.get_widget("textview_messages")
            textbuffer = textview.get_buffer()

            readable_body = http.clean_html_body(torrent_download.filedump)
            textbuffer.set_text(readable_body)

            notebook = self.glade.get_widget("notebook_lower")
            notebook.set_current_page(1)

            # Quick hack to make sure the message is visible to the user.
            hpaned = self.glade.get_widget("hpaned_matching")
            #if hpaned.get_position() == 0:
            max_pos = hpaned.get_property("max-position")
            hpaned.set_position(int(max_pos * 0.3))

        self.gtkUI.add_torrent(torrent_link,
                               self.subscription_data if use_settings else None,
                               add_torrent_callback)
Пример #3
0
 def on_button_delete_message_clicked(self, button):
     message_key = get_value_in_selected_row(self.email_messages_treeview,
                                             self.email_messages_store)
     if not message_key:
         return
     # Check that this message is not used by any subscriptions
     subscriptions_with_notification = []
     # Go through subscriptions and find those with this notification
     for key in self.subscriptions.keys():
         if message_key in self.subscriptions[key][
                 "email_notifications"].keys():
             subscriptions_with_notification.append(
                 self.subscriptions[key]["name"])
     # Any subscriptions that use this message?
     if subscriptions_with_notification:
         subscription_titles = ''.join([
             "* %s\n" % title for title in subscriptions_with_notification
         ])
         md = gtk.MessageDialog(
             component.get("Preferences").pref_dialog,
             gtk.DIALOG_DESTROY_WITH_PARENT, gtk.MESSAGE_INFO,
             gtk.BUTTONS_CLOSE)
         md.set_markup(
             "This Email Message is used by the following subscriptions:\n<b>%s</b>"
             "You must first remove the notication from the subscriptions "
             "before deleting the email message!" % subscription_titles)
         md.run()
         md.destroy()
         return
     # Delete from core config
     self.save_email_message(None,
                             email_message_key=message_key,
                             delete=True)
Пример #4
0
 def on_button_delete_subscription_clicked(self,
                                           event=None,
                                           a=None,
                                           col=None):
     key = get_value_in_selected_row(self.subscriptions_treeview,
                                     self.subscriptions_store)
     if key:
         self.save_subscription(None, subscription_key=key, delete=True)
Пример #5
0
 def on_button_send_email_clicked(self, menuitem):
     key = get_value_in_selected_row(self.email_messages_treeview, self.email_messages_store)
     # Send email
     torrents = ["Torrent title"]
     send_torrent_email(self.email_config,
                        self.email_messages[key],
                        subscription_data={"name": "Test subscription"},
                        torrent_name_list=torrents,
                        defered=True, callback_func=self.test_email_callback)
Пример #6
0
 def on_button_edit_message_clicked(self, event=None, a=None, col=None):
     key = get_value_in_selected_row(self.email_messages_treeview, self.email_messages_store)
     if key:
         if col and col.get_title() == 'Active':
             # Save to config
             self.email_messages[key]["active"] = not self.email_messages[key]["active"]
             self.save_email_message(self.email_messages[key])
         else:
             edit_message_dialog = DialogEmailMessage(self, self.email_messages[key])
             edit_message_dialog.show()
Пример #7
0
    def on_button_send_email_clicked(self, menuitem):
        key = get_value_in_selected_row(self.email_messages_treeview, self.email_messages_store)

        def test_email_callback(return_value):
            if return_value:
                self.log.warn("Test email successfully sent!")
            else:
                self.log.warn("Failed to send test email!")
        # Send email from daemon
        client.yarss2.send_test_email(key).addCallback(test_email_callback)
Пример #8
0
 def on_button_edit_cookie_clicked(self, Event=None, a=None, col=None):
     key = get_value_in_selected_row(self.cookies_treeview, self.cookies_store)
     if key:
         if col and col.get_title() == 'Active':
             # Save to config
             self.cookies[key]["active"] = not self.cookies[key]["active"]
             self.save_cookie(self.cookies[key])
         else:
             dialog_cookie = DialogCookie(self, self.cookies[key])
             dialog_cookie.show()
Пример #9
0
 def on_button_edit_cookie_clicked(self, event=None, a=None, col=None):
     key = get_value_in_selected_row(self.cookies_treeview, self.cookies_store)
     if key:
         if col and col.get_title() == 'Active':
             # Save to config
             self.cookies[key]["active"] = not self.cookies[key]["active"]
             self.save_cookie(self.cookies[key])
         else:
             dialog_cookie = DialogCookie(self, self.cookies[key])
             dialog_cookie.show()
Пример #10
0
 def on_button_edit_message_clicked(self, Event=None, a=None, col=None):
     key = get_value_in_selected_row(self.email_messages_treeview, self.email_messages_store)
     if key:
         if col and col.get_title() == 'Active':
             # Save to config
             self.email_messages[key]["active"] = not self.email_messages[key]["active"]
             self.save_email_message(self.email_messages[key])
         else:
             edit_message_dialog = DialogEmailMessage(self, self.email_messages[key])
             edit_message_dialog.show()
Пример #11
0
 def on_button_edit_rssfeed_clicked(self, Event=None, a=None, col=None):
     key = get_value_in_selected_row(self.rssfeeds_treeview, self.rssfeeds_store)
     if key:
         if col and col.get_title() == 'Active':
             # Check if dummy
             if key == yarss_config.DUMMY_RSSFEED_KEY:
                 return
             # Save to config
             self.rssfeeds[key]["active"] = not self.rssfeeds[key]["active"]
             self.save_rssfeed(self.rssfeeds[key])
         else:
             edit_rssfeed_dialog = DialogRSSFeed(self, self.rssfeeds[key])
             edit_rssfeed_dialog.show()
Пример #12
0
 def on_button_edit_rssfeed_clicked(self, event=None, a=None, col=None):
     key = get_value_in_selected_row(self.rssfeeds_treeview, self.rssfeeds_store)
     if key:
         if col and col.get_title() == 'Active':
             # Check if dummy
             if key == yarss_config.DUMMY_RSSFEED_KEY:
                 return
             # Save to config
             self.rssfeeds[key]["active"] = not self.rssfeeds[key]["active"]
             self.save_rssfeed(self.rssfeeds[key])
         else:
             edit_rssfeed_dialog = DialogRSSFeed(self, self.rssfeeds[key])
             edit_rssfeed_dialog.show()
Пример #13
0
 def on_button_edit_subscription_clicked(self, event=None, a=None, col=None):
     key = get_value_in_selected_row(self.subscriptions_treeview, self.subscriptions_store)
     if key:
         if col and col.get_title() == 'Active':
             self.subscriptions[key]["active"] = not self.subscriptions[key]["active"]
             self.save_subscription(self.subscriptions[key])
         else:
             edit_subscription_dialog = DialogSubscription(self,
                                                           self.log,
                                                           self.subscriptions[key],
                                                           self.rssfeeds,
                                                           self.email_messages,
                                                           self.cookies)
             edit_subscription_dialog.show()
Пример #14
0
 def on_button_edit_subscription_clicked(self, Event=None, a=None, col=None):
     key = get_value_in_selected_row(self.subscriptions_treeview, self.subscriptions_store)
     if key:
         if col and col.get_title() == 'Active':
             self.subscriptions[key]["active"] = not self.subscriptions[key]["active"]
             self.save_subscription(self.subscriptions[key])
         else:
             edit_subscription_dialog = DialogSubscription(self,
                                                           self.log,
                                                           self.subscriptions[key],
                                                           self.rssfeeds,
                                                           self.get_move_completed_list(),
                                                           self.get_download_location_list(),
                                                           self.email_messages,
                                                           self.cookies)
             edit_subscription_dialog.show()
Пример #15
0
    def on_button_delete_rssfeed_clicked(self, event=None, a=None, col=None):
        key = get_value_in_selected_row(self.rssfeeds_treeview, self.rssfeeds_store)
        if not key:
            return
        # Check that this rss feed has no subscriptions
        feed_subscriptions = self.get_subscription_count_for_feeds()

        # Any registered subscriptions?
        if sum(feed_subscriptions[key]) > 0:
            md = Gtk.MessageDialog(component.get("Preferences").pref_dialog,
                                   Gtk.DialogFlags.DESTROY_WITH_PARENT, Gtk.MessageType.INFO,
                                   Gtk.ButtonsType.CLOSE,
                                   "This RSS Feed have subscriptions registered. Delete subscriptions first!")
            md.run()
            md.destroy()
            return
        else:
            self.save_rssfeed(None, rssfeed_key=key, delete=True)
Пример #16
0
    def on_button_delete_rssfeed_clicked(self,Event=None, a=None, col=None):
        key = get_value_in_selected_row(self.rssfeeds_treeview, self.rssfeeds_store)
        if not key:
            return
        # Check that this rss feed has no subscriptions
        feed_subscriptions = self.get_subscription_count_for_feeds()

        # Any registered subscriptions?
        if sum(feed_subscriptions[key]) > 0:
            md = gtk.MessageDialog(component.get("Preferences").pref_dialog,
                                   gtk.DIALOG_DESTROY_WITH_PARENT, gtk.MESSAGE_INFO,
                                   gtk.BUTTONS_CLOSE,
                                   "This RSS Feed have subscriptions registered. Delete subscriptions first!")
            md.run()
            md.destroy()
            return
        else:
            self.save_rssfeed(None, rssfeed_key=key, delete=True)
Пример #17
0
 def on_button_delete_message_clicked(self, button):
     message_key = get_value_in_selected_row(self.email_messages_treeview, self.email_messages_store)
     if not message_key:
         return
     # Check that this message is not used by any subscriptions
     subscriptions_with_notification = []
     # Go through subscriptions and find those with this notification
     for key in self.subscriptions.keys():
         if message_key in self.subscriptions[key]["email_notifications"].keys():
             subscriptions_with_notification.append(self.subscriptions[key]["name"])
     # Any subscriptions that use this message?
     if subscriptions_with_notification:
         subscription_titles = ''.join(["* %s\n" % title for title in subscriptions_with_notification])
         md = gtk.MessageDialog(component.get("Preferences").pref_dialog,
                                gtk.DIALOG_DESTROY_WITH_PARENT, gtk.MESSAGE_INFO,
                                gtk.BUTTONS_CLOSE)
         md.set_markup("This Email Message is used by the following subscriptions:\n<b>%s</b>"
                       "You must first remove the notication from the subscriptions "
                       "before deleting the email message!" % subscription_titles)
         md.run()
         md.destroy()
         return
     # Delete from core config
     self.save_email_message(None, email_message_key=message_key, delete=True)
Пример #18
0
 def on_button_reset_last_matched(self, menuitem):
     key = get_value_in_selected_row(self.subscriptions_treeview, self.subscriptions_store)
     if key:
         self.subscriptions[key]["last_match"] = ""
         self.save_subscription(self.subscriptions[key])
Пример #19
0
 def on_button_run_subscription_clicked(self, menuitem):
     key = get_value_in_selected_row(self.subscriptions_treeview, self.subscriptions_store)
     if key:
         client.yarss2.initiate_rssfeed_update(None, subscription_key=key)
 def on_button_copy_to_clipboard(self, menuitem, index):
     text = get_value_in_selected_row(self.matching_treeview,
                                      self.matching_store, column_index=index)
     if text is not None:
         gtk.clipboard_get().set_text(text)
Пример #21
0
 def on_button_reset_last_matched(self, menuitem):
     key = get_value_in_selected_row(self.subscriptions_treeview, self.subscriptions_store)
     if key:
         self.subscriptions[key]["last_match"] = ""
         self.save_subscription(self.subscriptions[key])
Пример #22
0
 def on_button_delete_subscription_clicked(self,Event=None, a=None, col=None):
     key = get_value_in_selected_row(self.subscriptions_treeview, self.subscriptions_store)
     if key:
         self.save_subscription(None, subscription_key=key, delete=True)
Пример #23
0
 def on_button_delete_cookie_clicked(self, button):
     key = get_value_in_selected_row(self.cookies_treeview, self.cookies_store)
     if key:
         # Delete from core config
         self.save_cookie(None, cookie_key=key, delete=True)
Пример #24
0
 def on_button_run_subscription_clicked(self, menuitem):
     key = get_value_in_selected_row(self.subscriptions_treeview, self.subscriptions_store)
     if key:
         client.yarss2.initiate_rssfeed_update(None, subscription_key=key)
Пример #25
0
 def on_button_delete_cookie_clicked(self, button):
     key = get_value_in_selected_row(self.cookies_treeview, self.cookies_store)
     if key:
         # Delete from core config
         self.save_cookie(None, cookie_key=key, delete=True)
 def on_button_copy_to_clipboard(self, menuitem, index):
     text = get_value_in_selected_row(self.matching_treeview,
                                      self.matching_store, column_index=index)
     if text is not None:
         Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD).set_text(text, -1)
Пример #27
0
 def on_button_copy_to_clipboard(self, menuitem, index):
     text = get_value_in_selected_row(self.matching_treeview,
                                      self.matching_store,
                                      column_index=index)
     if text is not None:
         gtk.clipboard_get().set_text(text)
    def on_button_add_torrent_clicked(self, menuitem, use_settings=False):
        torrent_link = get_value_in_selected_row(self.matching_treeview,
                                                 self.matching_store, column_index=3)

        self.button_add_torrent_clicked(torrent_link, use_settings)