First change outside of deluge/ui/console - fixed a problem when removing torrents

This commit is contained in:
Asmageddon 2012-07-01 22:34:09 +02:00
parent 76babd951d
commit 78137540f2
1 changed files with 18 additions and 11 deletions

View File

@ -113,13 +113,16 @@ class SessionProxy(component.Component):
""" """
sd = {} sd = {}
for torrent_id in torrent_ids: for torrent_id in torrent_ids:
if keys: try:
sd[torrent_id] = dict([ if keys:
(x, y) for x, y in self.torrents[torrent_id][1].iteritems() sd[torrent_id] = dict([
if x in keys (x, y) for x, y in self.torrents[torrent_id][1].iteritems()
]) if x in keys
else: ])
sd[torrent_id] = dict(self.torrents[torrent_id][1]) else:
sd[torrent_id] = dict(self.torrents[torrent_id][1])
except KeyError:
continue
return sd return sd
@ -195,10 +198,14 @@ class SessionProxy(component.Component):
# Update the internal torrent status dict with the update values # Update the internal torrent status dict with the update values
t = time.time() t = time.time()
for key, value in result.items(): for key, value in result.items():
self.torrents[key][0] = t try:
self.torrents[key][1].update(value) self.torrents[key][0] = t
for k in value: self.torrents[key][1].update(value)
self.cache_times[key][k] = t for k in value:
self.cache_times[key][k] = t
except KeyError:
#The torrent was removed
continue
# Create the status dict # Create the status dict
if not torrent_ids: if not torrent_ids: