Removed gets a --destroy parameter to choose to destroy the local files while removing frmo deluge.

This commit is contained in:
2019-09-18 23:00:16 +02:00
parent 5e39ecb8bc
commit 6ca9e91bd7

View File

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