Skip to content

Commit 7fc5585

Browse files
replace existing trackers when updating from list URL
and also hide the "requests" import in an attempt to lower the number of bug reports from people not having it installed who probably don't even need it
1 parent 5dc4fd9 commit 7fc5585

File tree

3 files changed

+11
-6
lines changed

3 files changed

+11
-6
lines changed

defaulttrackers/core.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@
4141
import datetime
4242
import logging
4343
import re
44-
import requests
4544
import time
4645
import traceback
4746

@@ -81,15 +80,18 @@ def update(self):
8180
@export
8281
def update_trackerlist_from_url(self):
8382
if self.config["dynamic_trackerlist_url"]:
83+
import requests # hide the import here in an attempt to lower the number of bug reports from people not having "python-requests" installed
8484
now = datetime.datetime.utcnow()
8585
last_update = datetime.datetime.utcfromtimestamp(self.config["last_dynamic_trackers_update"])
8686
if now - last_update > datetime.timedelta(days=self.config["dynamic_trackers_update_interval"]):
87-
old_trackers = set([t["url"] for t in self.config["trackers"]])
8887
try:
8988
page = requests.get(self.config["dynamic_trackerlist_url"]).text
90-
new_trackers = [url for url in re.findall(r'\w+://[\w\-.:/]+', page) if is_url(url) and url not in old_trackers]
91-
for new_tracker in new_trackers:
92-
self.config["trackers"].append({"url": new_tracker})
89+
new_trackers = [url for url in re.findall(r'\w+://[\w\-.:/]+', page) if is_url(url)]
90+
if new_trackers:
91+
# replace all existing trackers
92+
self.config["trackers"] = []
93+
for new_tracker in new_trackers:
94+
self.config["trackers"].append({"url": new_tracker})
9395
self.config["last_dynamic_trackers_update"] = time.mktime(now.timetuple())
9496
except:
9597
traceback.print_exc()

egg/DefaultTrackers-0.1-py2.7.egg

181 Bytes
Binary file not shown.

setup.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
#
33
# setup.py
44
#
5-
# Copyright (C) 2013-2016 Stefan Talpalaru <[email protected]>
5+
# Copyright (C) 2013-2018 Ștefan Talpalaru <[email protected]>
66
#
77
# Basic plugin template created by:
88
# Copyright (C) 2008 Martijn Voncken <[email protected]>
@@ -71,6 +71,9 @@
7171

7272
packages=[__plugin_name__.lower()],
7373
package_data = __pkg_data__,
74+
install_requires=[
75+
'requests',
76+
],
7477

7578
entry_points="""
7679
[deluge.plugin.core]

0 commit comments

Comments
 (0)