TrackerShare: move the tracker list cleanup code from getSupportedProtocols() to a separate method

This commit is contained in:
Vadim Ushakov 2019-07-17 23:35:39 +07:00
parent 0d02c3c4da
commit cb363d2f11

View file

@ -96,12 +96,7 @@ class TrackerStorage(object):
return protocol
def getSupportedProtocols(self):
if not self.site_announcer:
return None
supported_trackers = self.site_announcer.getSupportedTrackers()
def deleteUnusedTrackers(self, supported_trackers):
# If a tracker is in our list, but is absent from the results of getSupportedTrackers(),
# it seems to be supported by software, but forbidden by the settings or network configuration.
# We check and remove thoose trackers here, since onTrackerError() is never emitted for them.
@ -113,6 +108,14 @@ class TrackerStorage(object):
self.log.info("Tracker %s looks unused, removing." % tracker_address)
del trackers[tracker_address]
def getSupportedProtocols(self):
if not self.site_announcer:
return None
supported_trackers = self.site_announcer.getSupportedTrackers()
self.deleteUnusedTrackers(supported_trackers)
protocols = set()
for tracker_address in supported_trackers:
protocol = self.getNormalizedTrackerProtocol(tracker_address)