mirror of
https://github.com/KevinMidboe/delugeClient.git
synced 2025-10-29 12:00:13 +00:00
Compare commits
6 Commits
feature/pa
...
refactor
| Author | SHA1 | Date | |
|---|---|---|---|
| 57b1b4e1f2 | |||
| fada382a32 | |||
| 8d943cb1ad | |||
| bd516f34d8 | |||
| cfe14dd1ba | |||
| 5e39ecb8bc |
2
.gitignore
vendored
2
.gitignore
vendored
@@ -1,3 +1,5 @@
|
|||||||
|
deluge_cli.log
|
||||||
|
|
||||||
# Byte-compiled / optimized / DLL files
|
# Byte-compiled / optimized / DLL files
|
||||||
__pycache__/
|
__pycache__/
|
||||||
*.py[cod]
|
*.py[cod]
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
@@ -42,7 +42,7 @@ from pprint import pprint
|
|||||||
from deluge_client import DelugeRPCClient
|
from deluge_client import DelugeRPCClient
|
||||||
from sshtunnel import SSHTunnelForwarder
|
from sshtunnel import SSHTunnelForwarder
|
||||||
from docopt import docopt
|
from docopt import docopt
|
||||||
from .utils import ColorizeFilter, convert
|
from utils import ColorizeFilter, convert
|
||||||
|
|
||||||
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
|
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
|
||||||
|
|
||||||
@@ -150,7 +150,7 @@ class Deluge(object):
|
|||||||
|
|
||||||
print('Response:', response)
|
print('Response:', response)
|
||||||
|
|
||||||
def remove(self, name):
|
def remove(self, name, destroy=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 +158,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, destroy)
|
||||||
logger.info('Response: {}'.format(str(response)))
|
logger.info('Response: {}'.format(str(response)))
|
||||||
|
|
||||||
if (response == False):
|
if (response == False):
|
||||||
@@ -298,8 +298,11 @@ 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: {}.'.format(name))
|
||||||
|
if destroy:
|
||||||
|
logger.info('Destroy set, removing files')
|
||||||
|
deluge.remove(name, destroy)
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
main()
|
main()
|
||||||
|
|||||||
@@ -2,11 +2,10 @@ asn1crypto==0.24.0
|
|||||||
bcrypt==3.1.4
|
bcrypt==3.1.4
|
||||||
cffi==1.11.5
|
cffi==1.11.5
|
||||||
colored==1.3.5
|
colored==1.3.5
|
||||||
cryptography==2.3
|
cryptography==2.5
|
||||||
deluge-client==1.6.0
|
deluge-client==1.6.0
|
||||||
docopt==0.6.2
|
docopt==0.6.2
|
||||||
idna==2.7
|
idna==2.7
|
||||||
paramiko==2.4.1
|
|
||||||
pyasn1==0.4.4
|
pyasn1==0.4.4
|
||||||
pycparser==2.18
|
pycparser==2.18
|
||||||
PyNaCl==1.2.1
|
PyNaCl==1.2.1
|
||||||
|
|||||||
2
utils.py
2
utils.py
@@ -35,7 +35,7 @@ class ColorizeFilter(logging.Filter):
|
|||||||
return True
|
return True
|
||||||
|
|
||||||
def convert(data):
|
def convert(data):
|
||||||
if isinstance(data, bytes): return data.decode('ascii')
|
if isinstance(data, bytes): return data.decode('utf-8')
|
||||||
if isinstance(data, dict): return dict(map(convert, data.items()))
|
if isinstance(data, dict): return dict(map(convert, data.items()))
|
||||||
if isinstance(data, tuple): return map(convert, data)
|
if isinstance(data, tuple): return map(convert, data)
|
||||||
json_data = json.dumps(data)
|
json_data = json.dumps(data)
|
||||||
|
|||||||
Reference in New Issue
Block a user