diff --git a/deluge_cli.py b/deluge_cli.py index 5ed592e..f883000 100755 --- a/deluge_cli.py +++ b/deluge_cli.py @@ -9,7 +9,7 @@ Usage: deluge_cli ls [--downloading | --seeding | --paused] deluge_cli toggle TORRENT deluge_cli progress - deluge_cli rm NAME [--debug | --warning | --error] + deluge_cli rm NAME [--destroy | --debug | --warning | --error] deluge_cli (-h | --help) deluge_cli --version @@ -24,6 +24,7 @@ Options: --debug Print all debug log --warning Print only logged warnings --error Print error messages (Error/Warning) + --destroy When removing choose to remove file on disk """ import argparse @@ -150,7 +151,7 @@ class Deluge(object): print('Response:', response) - def remove(self, name): + def remove(self, name, destroyFiles=False): matches = list(filter(lambda t: t.name == name, self.get_all())) logger.info('Matches for {}: {}'.format(name, matches)) @@ -158,7 +159,7 @@ class Deluge(object): raise ValueError('Multiple files found matching key. Unable to remove.') elif (len(matches) == 1): torrent = matches[0] - response = self.client.call('core.remove_torrent', torrent.key, False) + response = self.client.call('core.remove_torrent', torrent.key, destroyFiles) logger.info('Response: {}'.format(str(response))) if (response == False): @@ -298,8 +299,9 @@ def main(): deluge.togglePaused(_id) elif arguments['rm']: - logger.info('Remove by name: {}'.format(name)) - deluge.remove(name) + destroy = arguments['--destroy'] + logger.info('Remove by name: {}. Destroy files: {}'.format(name, destroy)) + deluge.remove(name, destroy) if __name__ == '__main__': main()