diff options
author | Andrew Resch <andrewresch@gmail.com> | 2008-02-21 22:20:28 +0000 |
---|---|---|
committer | Andrew Resch <andrewresch@gmail.com> | 2008-02-21 22:20:28 +0000 |
commit | 300b4a790585981f89cf57bd6649a5246e996614 (patch) | |
tree | dd41569570de8a6e7829b34be5c676b5e3bebedb | |
parent | bff0e3f8d5698b6284e87c42df62de6f4f9c2eb9 (diff) | |
download | deluge-300b4a790585981f89cf57bd6649a5246e996614.tar.gz deluge-300b4a790585981f89cf57bd6649a5246e996614.tar.bz2 deluge-300b4a790585981f89cf57bd6649a5246e996614.zip |
Scrape tracker if tracker doesn't report number of peers on reply.
-rw-r--r-- | src/core.py | 3 | ||||
-rw-r--r-- | src/deluge_core.cpp | 7 |
2 files changed, 7 insertions, 3 deletions
diff --git a/src/core.py b/src/core.py index 71b5e3210..04c050785 100644 --- a/src/core.py +++ b/src/core.py @@ -764,6 +764,9 @@ Space:") + " " + nice_free) self.set_supp_torrent_state_val(event['unique_ID'], "tracker_status", _("Announce OK")) + if event['num_complete'] == -1 or event['num_incomplete'] == -1: + self.scrape_tracker(event['unique_ID']) + elif event['event_type'] is self.constants['EVENT_TRACKER_ALERT']: match = re.search('tracker:\s*".*"\s*(.*)', event["message"]) message = match and match.groups()[0] or "" diff --git a/src/deluge_core.cpp b/src/deluge_core.cpp index 83415e487..1abdb6842 100644 --- a/src/deluge_core.cpp +++ b/src/deluge_core.cpp @@ -1584,10 +1584,11 @@ std::cout << asctime(timeinfo) << " torrent_pop_event()" << std::endl; return NULL; if (handle_exists(handle)) - return Py_BuildValue("{s:i,s:i,s:s}", + return Py_BuildValue("{s:i,s:i,s:i,s:i,s:s}", "event_type", EVENT_TRACKER_REPLY, - "unique_ID", - M_torrents->at(index).unique_ID, + "unique_ID", M_torrents->at(index).unique_ID, + "num_complete", handle.status().num_complete, + "num_incomplete", handle.status().num_incomplete, "message", a->msg().c_str()); else { Py_INCREF(Py_None); return Py_None; } |