diff --git a/python_rpc/main.py b/python_rpc/main.py index 36c0a922..c1f410d1 100644 --- a/python_rpc/main.py +++ b/python_rpc/main.py @@ -36,7 +36,7 @@ if start_download_payload: if start_seeding_payload: initial_seeding = json.loads(urllib.parse.unquote(start_seeding_payload)) for seed in initial_seeding: - torrent_downloader = TorrentDownloader(torrent_session) + torrent_downloader = TorrentDownloader(torrent_session, lt.torrent_flags.upload_mode) downloads[seed['game_id']] = torrent_downloader torrent_downloader.start_download(seed['url'], seed['save_path'], "") @@ -156,7 +156,7 @@ def action(): if downloader: downloader.cancel_download() elif action == 'resume_seeding': - torrent_downloader = TorrentDownloader(torrent_session) + torrent_downloader = TorrentDownloader(torrent_session, lt.torrent_flags.upload_mode) downloads[game_id] = torrent_downloader torrent_downloader.start_download(data['url'], data['save_path'], "") elif action == 'pause_seeding': diff --git a/python_rpc/torrent_downloader.py b/python_rpc/torrent_downloader.py index 46ee4e33..ca4c2fa8 100644 --- a/python_rpc/torrent_downloader.py +++ b/python_rpc/torrent_downloader.py @@ -1,9 +1,10 @@ import libtorrent as lt class TorrentDownloader: - def __init__(self, torrent_session): + def __init__(self, torrent_session, flags = lt.torrent_flags.auto_managed): self.torrent_handle = None self.session = torrent_session + self.flags = flags self.trackers = [ "udp://tracker.opentrackr.org:1337/announce", "http://tracker.opentrackr.org:1337/announce", @@ -102,9 +103,8 @@ class TorrentDownloader: ] def start_download(self, magnet: str, save_path: str, header: str): - params = {'url': magnet, 'save_path': save_path, 'trackers': self.trackers} + params = {'url': magnet, 'save_path': save_path, 'trackers': self.trackers, 'flags': self.flags} self.torrent_handle = self.session.add_torrent(params) - self.torrent_handle.set_flags(lt.torrent_flags.auto_managed) self.torrent_handle.resume() def pause_download(self):