From 64337108a115a4cc83fbcd7275d98a8eda8cd247 Mon Sep 17 00:00:00 2001 From: Alexandr Bogomyakov Date: Sun, 7 Jun 2020 20:15:57 +0300 Subject: [PATCH] Added transmission client. --- gaspar/gaspar.py | 14 ++++++++++++++ gaspar/notify.py | 1 + gaspar/transmission.py | 8 ++++++++ requirements.txt | 1 + 4 files changed, 24 insertions(+) create mode 100644 gaspar/transmission.py diff --git a/gaspar/gaspar.py b/gaspar/gaspar.py index 29a06f8..8a804c7 100644 --- a/gaspar/gaspar.py +++ b/gaspar/gaspar.py @@ -72,11 +72,25 @@ def main(): pre="\n") update.message.reply_text(msg, parse_mode='HTML', disable_web_page_preview=True) + def handle_client(update, context): + log.info( + "Got /client request from user [%s] %s", + update.message.chat['id'], + update.message.from_user.username) + try: + host, port = update.message.text.split(':') + except: + update.message.reply_text( + 'Send transmission RPC address like host:port', + parse_mode='HTML', + disable_web_page_preview=True) + updater = Updater(token, use_context=True) update_watcher(updater.bot) updater.dispatcher.add_handler(CommandHandler('list', list_alerts)) + updater.dispatcher.add_handler(CommandHandler('client', handle_client)) updater.dispatcher.add_handler(MessageHandler(filters.Filters.text, add)) updater.start_polling() diff --git a/gaspar/notify.py b/gaspar/notify.py index d5df6e7..46fda93 100644 --- a/gaspar/notify.py +++ b/gaspar/notify.py @@ -4,6 +4,7 @@ import logging from datetime import datetime from .rutracker import Torrent from .tools import format_topic +from .transmission import add_tor UPDATE_INTERVAL = 2 * 60 * 60 # in secs. diff --git a/gaspar/transmission.py b/gaspar/transmission.py new file mode 100644 index 0000000..4d8c8ca --- /dev/null +++ b/gaspar/transmission.py @@ -0,0 +1,8 @@ +from transmission_rpc import Client + +def add_tor(tor_hash): + c = Client(host='msk.hexor.ru', port=80) + m = f'magnet:?xt=urn:btih:{tor_hash}' + c.add_torrent(m) + + diff --git a/requirements.txt b/requirements.txt index 2e299b8..6303377 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1 +1,2 @@ python-telegram-bot==12.7 +transmission-rpc==2.0.4