Module: deluge
Branch: improved-logging
Commit: 63fa5bf85b3879a678311a03a121adbc87c0c318

Author: Pedro Algarvio <[email protected]>
Date:   Thu Dec  9 18:08:34 2010 +0000

Reuse existing "TorrentAddedEvent" instead of creating a new one.

---

 deluge/core/torrentmanager.py          |   21 +++++++--------------
 deluge/event.py                        |   18 ++++--------------
 deluge/plugins/execute/execute/core.py |    1 -
 deluge/plugins/label/label/core.py     |    5 ++---
 deluge/ui/console/eventlog.py          |   12 ++++--------
 deluge/ui/console/main.py              |    5 ++---
 deluge/ui/sessionproxy.py              |    5 ++---
 7 files changed, 21 insertions(+), 46 deletions(-)

diff --git a/deluge/core/torrentmanager.py b/deluge/core/torrentmanager.py
index 7f48370..4a2bfaf 100644
--- a/deluge/core/torrentmanager.py
+++ b/deluge/core/torrentmanager.py
@@ -476,23 +476,16 @@ class TorrentManager(component.Component):
             # Save the session state
             self.save_state()
 
-        # Emit signals
+        # Emit torrent_added signal
+        from_state = False
         if torrent_info and state is None:
-            # Emit the torrent_added signal
-            component.get("EventManager").emit(
-                TorrentAddedEvent(torrent.torrent_id)
-            )
-            signal_type = "added"
-        else:
-            # Emit the torrent_loaded signal
-            component.get("EventManager").emit(
-                TorrentLoadedEvent(torrent.torrent_id)
-            )
-            signal_type = "loaded"
-
+            from_state = True
+        component.get("EventManager").emit(
+            TorrentAddedEvent(torrent.torrent_id, from_state)
+        )
         log.info("Torrent %s %s by user: %s",
                  torrent.get_status(["name"])["name"],
-                 signal_type,
+                 (from_state and "added" or "loaded"),
                  component.get("RPCServer").get_session_user())
         return torrent.torrent_id
 
diff --git a/deluge/event.py b/deluge/event.py
index d2c83c9..e2b0f6f 100644
--- a/deluge/event.py
+++ b/deluge/event.py
@@ -79,24 +79,14 @@ class TorrentAddedEvent(DelugeEvent):
     """
     Emitted when a new torrent is successfully added to the session.
     """
-    def __init__(self, torrent_id):
+    def __init__(self, torrent_id, from_state):
         """
         :param torrent_id: the torrent_id of the torrent that was added
         :type torrent_id: string
+        :param from_state: was the torrent loaded from state? Or is it a new 
torrent.
+        :type from_state: bool
         """
-        self._args = [torrent_id]
-
-class TorrentLoadedEvent(DelugeEvent):
-    """
-    Emitted when an already managed torrent is loaded successfully and added to
-    the session.
-    """
-    def __init__(self, torrent_id):
-        """
-        :param torrent_id: the torrent_id of the torrent that was added
-        :type torrent_id: string
-        """
-        self._args = [torrent_id]
+        self._args = [torrent_id, from_state]
 
 class TorrentRemovedEvent(DelugeEvent):
     """
diff --git a/deluge/plugins/execute/execute/core.py 
b/deluge/plugins/execute/execute/core.py
index bdbed5b..4c5e660 100644
--- a/deluge/plugins/execute/execute/core.py
+++ b/deluge/plugins/execute/execute/core.py
@@ -55,7 +55,6 @@ EXECUTE_COMMAND = 2
 
 EVENT_MAP = {
     "complete": "TorrentFinishedEvent",
-    "loaded": "TorrentLoadedEvent",
     "added": "TorrentAddedEvent"
 }
 
diff --git a/deluge/plugins/label/label/core.py 
b/deluge/plugins/label/label/core.py
index d77868c..70846c1 100644
--- a/deluge/plugins/label/label/core.py
+++ b/deluge/plugins/label/label/core.py
@@ -110,8 +110,7 @@ class Core(CorePluginBase):
 
         self.clean_initial_config()
 
-        
component.get("EventManager").register_event_handler("TorrentLoadedEvent", 
self.post_torrent_load_or_add)
-        
component.get("EventManager").register_event_handler("TorrentAddedEvent", 
self.post_torrent_load_or_add)
+        
component.get("EventManager").register_event_handler("TorrentAddedEvent", 
self.post_torrent_add)
         
component.get("EventManager").register_event_handler("TorrentRemovedEvent", 
self.post_torrent_remove)
 
         #register tree:
@@ -133,7 +132,7 @@ class Core(CorePluginBase):
         return dict( [(label, 0) for label in self.labels.keys()])
 
     ## Plugin hooks ##
-    def post_torrent_load_or_add(self, torrent_id):
+    def post_torrent_add(self, torrent_id, from_state):
         log.debug("post_torrent_load_or_add")
         torrent = self.torrents[torrent_id]
 
diff --git a/deluge/ui/console/eventlog.py b/deluge/ui/console/eventlog.py
index f9b7809..745709e 100644
--- a/deluge/ui/console/eventlog.py
+++ b/deluge/ui/console/eventlog.py
@@ -50,7 +50,6 @@ class EventLog(component.Component):
         self.console = component.get("ConsoleUI")
         self.prefix = "{!event!}* "
 
-        client.register_event_handler("TorrentLoadedEvent", 
self.on_torrent_loaded_event)
         client.register_event_handler("TorrentAddedEvent", 
self.on_torrent_added_event)
         client.register_event_handler("PreTorrentRemovedEvent", 
self.on_torrent_removed_event)
         client.register_event_handler("TorrentStateChangedEvent", 
self.on_torrent_state_changed_event)
@@ -62,14 +61,11 @@ class EventLog(component.Component):
         client.register_event_handler("PluginEnabledEvent", 
self.on_plugin_enabled_event)
         client.register_event_handler("PluginDisabledEvent", 
self.on_plugin_disabled_event)
 
-    def on_torrent_loaded_event(self, torrent_id):
+    def on_torrent_added_event(self, torrent_id, from_state):
         def on_torrent_status(status):
-            self.console.write(self.prefix + "TorrentLoaded: {!info!}%s (%s)" 
% (status["name"], torrent_id))
-        client.core.get_torrent_status(torrent_id, 
["name"]).addCallback(on_torrent_status)
-
-    def on_torrent_added_event(self, torrent_id):
-        def on_torrent_status(status):
-            self.console.write(self.prefix + "TorrentAdded: {!info!}%s (%s)" % 
(status["name"], torrent_id))
+            self.console.write(self.prefix + "TorrentAdded(from_state=%s): 
{!info!}%s (%s)" % (
+                from_state, status["name"], torrent_id)
+            )
         client.core.get_torrent_status(torrent_id, 
["name"]).addCallback(on_torrent_status)
 
     def on_torrent_removed_event(self, torrent_id):
diff --git a/deluge/ui/console/main.py b/deluge/ui/console/main.py
index 0c05138..4afb0fc 100644
--- a/deluge/ui/console/main.py
+++ b/deluge/ui/console/main.py
@@ -241,8 +241,7 @@ class ConsoleUI(component.Component):
         client.core.get_session_state().addCallback(on_session_state)
 
         # Register some event handlers to keep the torrent list up-to-date
-        client.register_event_handler("TorrentLoadedEvent", 
self.on_torrent_loaded_or_added_event)
-        client.register_event_handler("TorrentAddedEvent", 
self.on_torrent_loaded_or_added_event)
+        client.register_event_handler("TorrentAddedEvent", 
self.on_torrent_added_event)
         client.register_event_handler("TorrentRemovedEvent", 
self.on_torrent_removed_event)
 
     def update(self):
@@ -440,7 +439,7 @@ class ConsoleUI(component.Component):
 
         return ret
 
-    def on_torrent_loaded_or_added_event(self, torrent_id):
+    def on_torrent_added_event(self, torrent_id, from_state):
         def on_torrent_status(status):
             self.torrents.append((torrent_id, status["name"]))
         client.core.get_torrent_status(torrent_id, 
["name"]).addCallback(on_torrent_status)
diff --git a/deluge/ui/sessionproxy.py b/deluge/ui/sessionproxy.py
index dc77b68..9382355 100644
--- a/deluge/ui/sessionproxy.py
+++ b/deluge/ui/sessionproxy.py
@@ -67,8 +67,7 @@ class SessionProxy(component.Component):
 
         client.register_event_handler("TorrentStateChangedEvent", 
self.on_torrent_state_changed)
         client.register_event_handler("TorrentRemovedEvent", 
self.on_torrent_removed)
-        client.register_event_handler("TorrentLoadedEvent", 
self.on_torrent_loaded_or_added)
-        client.register_event_handler("TorrentAddedEvent", 
self.on_torrent_loaded_or_added)
+        client.register_event_handler("TorrentAddedEvent", 
self.on_torrent_added)
 
     def start(self):
         def on_torrent_status(status):
@@ -241,7 +240,7 @@ class SessionProxy(component.Component):
             self.torrents[torrent_id][1]["state"] = state
             self.cache_times[torrent_id]["state"] = time.time()
 
-    def on_torrent_loaded_or_added(self, torrent_id):
+    def on_torrent_added(self, torrent_id, from_state):
         self.torrents[torrent_id] = [time.time() - self.cache_time - 1, {}]
         self.cache_times[torrent_id] = {}
         def on_status(status):

-- 
You received this message because you are subscribed to the Google Groups 
"deluge-commit" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/deluge-commit?hl=en.

Reply via email to