Created a lambda function for converting numeric boolean to python values. Changed attribute packed to isFolder. Added finished attribute to also be returned when wanting progress.

This commit is contained in:
2018-05-13 19:03:22 +02:00
parent 75bd387904
commit 51461cee5e

View File

@@ -149,8 +149,8 @@ class Deluge(object):
def filterOnValue(self, torrents, value):
filteredTorrents = []
value_template = {'key': None, 'name': None, value: None}
for t in torrents:
value_template = {'key': None, 'name': None, value: None}
value_template['key'] = t.key
value_template['name'] = t.name
value_template[value] = getattr(t, value)
@@ -159,7 +159,7 @@ class Deluge(object):
return filteredTorrents
def progress(self):
attributes = ['progress', 'eta', 'state']
attributes = ['progress', 'eta', 'state', 'finished']
all_torrents = self.get_all()
torrents = []
@@ -189,21 +189,24 @@ class Torrent(object):
self.finished = finished
self.files = list(files)
def packed(self):
def isFolder(self):
return len(self.files) > 1
def toBool(self, value):
return True if strtobool(value) else False
@classmethod
def fromDeluge(cls, d):
# Receive a dict with byte values, convert all elements to string values
d = convert(d)
d['paused'] = True if strtobool(d['paused']) else False
toBool = lambda val: True if strtobool(val) else False
return cls(d['hash'], d['name'], d['progress'], d['eta'], d['save_path'], d['state'],
d['paused'], d['is_finished'], d['files'])
toBool(d['paused']), toBool(d['is_finished']), d['files'])
def toJSON(self):
return {'key': self.key, 'name': self.name, 'progress': self.progress, 'eta': self.eta,
'save path': self.save_path, 'state': self.state, 'paused': self.paused,
'finished': self.finished, 'files': self.files, 'packed': self.packed()}
'save_path': self.save_path, 'state': self.state, 'paused': self.paused,
'finished': self.finished, 'files': self.files, 'is_folder': self.isFolder()}
def __str__(self):
return "Name: {}, Progress: {}%, ETA: {}, State: {}, Paused: {}".format(