From 01a4c88cc4f271d4009268345b8a2f0d9e0f905a Mon Sep 17 00:00:00 2001 From: jblu Date: Tue, 12 Sep 2023 13:04:38 -0500 Subject: [PATCH] Fixed #58 --- config.toml.example | 4 ++-- qbit-maid.py | 5 +++-- qlist.py | 8 ++++---- qlogging.py | 5 ++++- qprocess.py | 8 ++++---- test_qbitmaid.py | 5 +++-- 6 files changed, 20 insertions(+), 15 deletions(-) diff --git a/config.toml.example b/config.toml.example index 2d0b079..59a5eee 100755 --- a/config.toml.example +++ b/config.toml.example @@ -14,8 +14,8 @@ protected_tag = "ipt" non_protected_tag = "public" [torrent] -age = 2419200 -minimum_age = 432000 +max_age = 2419200 +min_age = 432000 delete_torrents = false [pushover] diff --git a/qbit-maid.py b/qbit-maid.py index 82f6c86..eebf871 100755 --- a/qbit-maid.py +++ b/qbit-maid.py @@ -55,8 +55,8 @@ class Qbt: #torrent self.delete_torrents = self.config["torrent"]["delete_torrents"] - self.minimum_age = self.config["torrent"]["minimum_age"] - self.age = self.config["torrent"]["age"] + self.min_age = self.config["torrent"]["min_age"] + self.max_age = self.config["torrent"]["max_age"] #pushover self.use_pushover = self.config["pushover"]["use_pushover"] @@ -112,6 +112,7 @@ class Qbt: if self.use_log: list_qbit_api_info(self) list_first_tor(self) + debug_torrent_list(self) build_tor_list(self) process_counts(self) if self.use_log: diff --git a/qlist.py b/qlist.py index b3b3f76..4b6c82c 100755 --- a/qlist.py +++ b/qlist.py @@ -32,9 +32,9 @@ def build_tor_list(self): self.qbt_client.torrents_add_tags(self.tracker_protected_tag,torrent['hash']) elif is_not_protected_tracker(torrent['tracker'], self.tracker_whitelist.values()): self.qbt_client.torrents_add_tags(self.tracker_non_protected_tag,torrent['hash']) - if is_preme(torrent['added_on'], self.minimum_age, self.t.time()): + if is_preme(torrent['seeding_time'], self.minimum_age): self.preme_tor_counter += 1 - self.tl.debug(f'Premature torrent: ["{torrent["name"][0:20]}..."] hash: {torrent["hash"]}') + self.tl.debug(f'Premature torrent: ["{torrent["name"][0:20]}..."] Seconds Seeded: [{torrent["seeding_time"]}] hash: {torrent["hash"]}') continue elif is_protected_tracker(torrent['tracker'], self.tracker_whitelist.values()): if is_tag_blank(torrent['tags']): @@ -50,8 +50,8 @@ def build_tor_list(self): self.tracker_list.append(torrent) -def is_preme(added, minage, time): - if added + minage >= time: +def is_preme(seeding_time, minage): + if seeding_time >= minage: return True def is_cat_ignored(cat, catlist): diff --git a/qlogging.py b/qlogging.py index f1aa323..9c6d0ba 100755 --- a/qlogging.py +++ b/qlogging.py @@ -90,4 +90,7 @@ def send_ping(self, req_obj, healthcheck_url): try: req_obj.get(healthcheck_url, timeout=10) except req_obj.RequestException as e: - self.tl.info(f"Ping failed: {e}") \ No newline at end of file + self.tl.info(f"Ping failed: {e}") + +def debug_torrent_list(self): + self.tl.debug(self.torrent_list) \ No newline at end of file diff --git a/qprocess.py b/qprocess.py index 38cd649..4662ce6 100755 --- a/qprocess.py +++ b/qprocess.py @@ -12,9 +12,9 @@ def tor_processor(self): elif is_protected_under_ratio(canidate['ratio'], 1.05, self.tracker_protected_tag, canidate["tags"]): if self.use_log: self.tl.debug(f'["{canidate["name"][0:20]}..."] is below a 1.05 ratio({canidate["ratio"]})') - if is_old_tor(canidate['added_on'], self.age, self.t.time()): + if is_old_tor(canidate['time_active'], self.max_age): if self.use_log: - self.tl.debug(f'["{canidate["name"][0:20]}..."] Seconds old: {self.t.time() - self.age - canidate["added_on"]}') + self.tl.debug(f'["{canidate["name"][0:20]}..."] Seconds old: {canidate["time_active"]} Delta: {canidate["time_active"] - self.max_age}') self.torrent_hash_delete_list.append(canidate['infohash_v1']) if self.use_log: self.tl.info(f'Submitted ["{canidate["name"][0:20]}..."] for deletion from the protected list.') @@ -56,8 +56,8 @@ def is_protected_under_ratio(torratio, setratio, settag, tortag): if torratio < float(setratio) and settag in tortag: return True -def is_old_tor(toradd, setage, currenttime): - if toradd + setage <= currenttime: +def is_old_tor(realage, maxage): + if realage >= maxage: return True def is_protected_over_ratio(torratio, setratio, settag, tortag): diff --git a/test_qbitmaid.py b/test_qbitmaid.py index 2c599f2..20d0ec8 100755 --- a/test_qbitmaid.py +++ b/test_qbitmaid.py @@ -4,8 +4,9 @@ from qprocess import is_downloading,is_protected_under_ratio,is_old_tor,is_prote class TestQbitmaid(unittest.TestCase): def test_ispreme_sanity(self): - self.assertTrue(is_preme(1,1,1)) - self.assertFalse(is_preme(1,1,3)) + self.assertTrue(is_preme(1,1)) + self.assertTrue(is_preme(2,1)) + self.assertFalse(is_preme(1,2)) def test_ispreme(self): pass