From 5fbf0baa0fae1e3ae61e0e81c57888999de3bd88 Mon Sep 17 00:00:00 2001 From: Hachi-R Date: Sat, 21 Dec 2024 10:15:04 -0300 Subject: [PATCH] feat: enhance seed status retrieval --- python_rpc/main.py | 13 +++++++++++-- python_rpc/torrent_downloader.py | 1 + src/main/services/download/download-manager.ts | 9 +++++++++ 3 files changed, 21 insertions(+), 2 deletions(-) diff --git a/python_rpc/main.py b/python_rpc/main.py index 561a022b..85d7334a 100644 --- a/python_rpc/main.py +++ b/python_rpc/main.py @@ -42,9 +42,18 @@ def seed_status(): auth_error = validate_rpc_password() if auth_error: return auth_error + + seed_status = [] + for _, downloader in downloads.items(): + if not downloader: + continue - status = torrent_downloader.get_seed_status() - return jsonify(status), 200 + response = downloader.get_download_status() + + if response.get('status') == 5: + seed_status.append(response) + + return jsonify(seed_status), 200 @app.route("/healthcheck", methods=["GET"]) def healthcheck(): diff --git a/python_rpc/torrent_downloader.py b/python_rpc/torrent_downloader.py index a3a8376c..dcfdaf78 100644 --- a/python_rpc/torrent_downloader.py +++ b/python_rpc/torrent_downloader.py @@ -139,6 +139,7 @@ class TorrentDownloader: 'fileSize': info.total_size() if info else 0, 'progress': status.progress, 'downloadSpeed': status.download_rate, + 'uploadSpeed': status.upload_rate, 'numPeers': status.num_peers, 'numSeeds': status.num_seeds, 'status': status.state, diff --git a/src/main/services/download/download-manager.ts b/src/main/services/download/download-manager.ts index 04eaf844..bb1bf9f8 100644 --- a/src/main/services/download/download-manager.ts +++ b/src/main/services/download/download-manager.ts @@ -144,6 +144,15 @@ export class DownloadManager { } public static async getSeedStatus() { + const seedStatus = await PythonRPC.rpc + .get("/seed-status") + .then((results) => { + if (results === null) return []; + return results.data; + }); + + console.log(seedStatus); + // const gamesToSeed = await gameRepository.find({ // where: { shouldSeed: true, isDeleted: false }, // });