Merge pull request #30 from jonbranan/fix_preme_logging
#28 #26 #25 lots of changes
This commit is contained in:
commit
3556382e62
@ -9,11 +9,11 @@
|
|||||||
"non_protected_tag": "public",
|
"non_protected_tag": "public",
|
||||||
"age": 2419200,
|
"age": 2419200,
|
||||||
"minimum_age": 432000,
|
"minimum_age": 432000,
|
||||||
"use_pushover": true,
|
"use_pushover": false,
|
||||||
"use_log": true,
|
"use_log": true,
|
||||||
"po_key": "",
|
"po_key": "",
|
||||||
"po_token": "",
|
"po_token": "",
|
||||||
"delete_torrents": false,
|
"delete_torrents": false,
|
||||||
"enable_dragnet": true,
|
"enable_dragnet": true,
|
||||||
"dragnet_outfile": "./orphaned.csv"
|
"dragnet_outfile": "./dragnet.csv"
|
||||||
}
|
}
|
@ -1,4 +1,3 @@
|
|||||||
#The first file shall contain an client to the qbit api and the processing of the torrents.
|
|
||||||
import qbittorrentapi
|
import qbittorrentapi
|
||||||
import pushover
|
import pushover
|
||||||
from json import load
|
from json import load
|
||||||
@ -34,7 +33,7 @@ class Qbt:
|
|||||||
self.po = pushover
|
self.po = pushover
|
||||||
self.ct = Counter
|
self.ct = Counter
|
||||||
self.cv = csv
|
self.cv = csv
|
||||||
# Variables torlog uses from config.json
|
# Init config.json
|
||||||
self.use_pushover = self.config["use_pushover"]
|
self.use_pushover = self.config["use_pushover"]
|
||||||
self.use_log = self.config["use_log"]
|
self.use_log = self.config["use_log"]
|
||||||
self.po_key = self.config["po_key"]
|
self.po_key = self.config["po_key"]
|
||||||
@ -77,8 +76,8 @@ class Qbt:
|
|||||||
list_first_tor(self)
|
list_first_tor(self)
|
||||||
build_tor_list(self)
|
build_tor_list(self)
|
||||||
process_counts(self)
|
process_counts(self)
|
||||||
if self.use_log:
|
# if self.use_log:
|
||||||
torrent_count(self)
|
# torrent_count(self)
|
||||||
tor_processor(self)
|
tor_processor(self)
|
||||||
if self.use_log:
|
if self.use_log:
|
||||||
print_processor(self)
|
print_processor(self)
|
||||||
|
41
qlist.py
41
qlist.py
@ -8,40 +8,37 @@ def build_tor_list(self):
|
|||||||
while self.torrent_list:
|
while self.torrent_list:
|
||||||
torrent = self.torrent_list.pop()
|
torrent = self.torrent_list.pop()
|
||||||
if self.use_log:
|
if self.use_log:
|
||||||
self.tl.debug(f'["{torrent["name"][0:20]}..."] {torrent["infohash_v1"]}')
|
self.tl.debug(f'---Analyzing ["{torrent["name"][0:20]}..."] {torrent["infohash_v1"]}---')
|
||||||
|
if is_protected_tracker(torrent['tracker'], self.tracker_whitelist.values()):
|
||||||
|
if is_tag_blank(torrent['tags']):
|
||||||
|
self.qbt_client.torrents_add_tags(self.tracker_protected_tag,torrent['hash'])
|
||||||
|
if self.use_log:
|
||||||
|
self.tl.debug(f'Tagging Protected torrent: ["{torrent["name"][0:20]}..."] {torrent["tracker"]}hash: {torrent["hash"]}')
|
||||||
|
self.tracker_list.append(torrent)
|
||||||
|
if is_not_protected_tracker(torrent['tracker'], self.tracker_whitelist.values()):
|
||||||
|
if is_tag_blank(torrent['tags']):
|
||||||
|
self.qbt_client.torrents_add_tags(self.tracker_non_protected_tag,torrent['hash'])
|
||||||
|
if self.use_log:
|
||||||
|
self.tl.debug(f'Tagging Non-protected torrent: ["{torrent["name"][0:20]}..."] {torrent["tracker"]}hash: {torrent["hash"]}')
|
||||||
|
self.tracker_list.append(torrent)
|
||||||
if is_ignored_tag(self.ignored_tags.values(),torrent['tags']):
|
if is_ignored_tag(self.ignored_tags.values(),torrent['tags']):
|
||||||
self.ignored_counter += 1
|
self.ignored_counter += 1
|
||||||
|
self.tl.info(f'Ignored tag: ["{torrent["name"][0:20]}..."] tags: {torrent["tags"]} hash: {torrent["hash"]}')
|
||||||
continue
|
continue
|
||||||
# if torrent['added_on'] + self.minimum_age >= self.t.time():
|
|
||||||
if is_preme(torrent['added_on'], self.minimum_age, self.t.time()):
|
if is_preme(torrent['added_on'], self.minimum_age, self.t.time()):
|
||||||
self.preme_tor_counter += 1
|
self.preme_tor_counter += 1
|
||||||
|
self.tl.debug(f'Premature torrent: ["{torrent["name"][0:20]}..."] hash: {torrent["hash"]}')
|
||||||
continue
|
continue
|
||||||
# if torrent['category'] in self.cat_whitelist.values():
|
|
||||||
if is_cat_ignored(torrent['category'], self.cat_whitelist.values()):
|
if is_cat_ignored(torrent['category'], self.cat_whitelist.values()):
|
||||||
self.tl.info(f'Ignored torrent:["{torrent["name"][0:20]}..."]')
|
self.tl.info(f'Ignored category: ["{torrent["name"][0:20]}..."] category:[{torrent["category"]}] hash: {torrent["hash"]}')
|
||||||
self.ignored_counter += 1
|
self.ignored_counter += 1
|
||||||
continue
|
continue
|
||||||
# if torrent['tracker'] == '':
|
|
||||||
if is_tracker_blank(torrent['tracker']):
|
if is_tracker_blank(torrent['tracker']):
|
||||||
if self.use_log:
|
if self.use_log:
|
||||||
self.tl.warning(f'Torrent doesn\'t have a tracker ["{torrent["name"][0:20]}..."] [{torrent["tracker"]}]hash: {torrent["hash"]}')
|
self.tl.warning(f'Torrent doesn\'t have a tracker ["{torrent["name"][0:20]}..."] [{torrent["tracker"]}]hash: {torrent["hash"]}')
|
||||||
self.ignored_counter += 1
|
self.ignored_counter += 1
|
||||||
continue
|
continue
|
||||||
# if torrent['tracker'].split('/')[2] in self.tracker_whitelist.values():
|
|
||||||
if is_protected_tracker(torrent['tracker'], self.tracker_whitelist.values()):
|
|
||||||
if self.use_log:
|
|
||||||
self.tl.debug(f'Protected torrent: {torrent["tracker"]}hash: {torrent["hash"]}')
|
|
||||||
# if torrent['tags'] == '':
|
|
||||||
if is_tag_blank(torrent['tags']):
|
|
||||||
self.qbt_client.torrents_add_tags(self.tracker_protected_tag,torrent['hash'])
|
|
||||||
self.tracker_list.append(torrent)
|
|
||||||
if is_not_protected_tracker(torrent['tracker'], self.tracker_whitelist.values()):
|
|
||||||
if self.use_log:
|
|
||||||
self.tl.debug(f'Non-protected torrent: {torrent["tracker"]}hash: {torrent["hash"]}')
|
|
||||||
# if torrent['tags'] == '':
|
|
||||||
if is_tag_blank(torrent['tags']):
|
|
||||||
self.qbt_client.torrents_add_tags(self.tracker_non_protected_tag,torrent['hash'])
|
|
||||||
self.tracker_list.append(torrent)
|
|
||||||
|
|
||||||
def is_preme(added, minage, time):
|
def is_preme(added, minage, time):
|
||||||
if added + minage >= time:
|
if added + minage >= time:
|
||||||
@ -56,10 +53,14 @@ def is_tracker_blank(tracker):
|
|||||||
return True
|
return True
|
||||||
|
|
||||||
def is_protected_tracker(tracker, trackerlist):
|
def is_protected_tracker(tracker, trackerlist):
|
||||||
|
if tracker == '':
|
||||||
|
return False
|
||||||
if tracker.split('/')[2] in trackerlist:
|
if tracker.split('/')[2] in trackerlist:
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def is_not_protected_tracker(tracker, trackerlist):
|
def is_not_protected_tracker(tracker, trackerlist):
|
||||||
|
if tracker == '':
|
||||||
|
return False
|
||||||
if tracker.split('/')[2] not in trackerlist:
|
if tracker.split('/')[2] not in trackerlist:
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
@ -68,6 +68,7 @@ def list_qbit_api_info(self):
|
|||||||
|
|
||||||
def torrent_count(self):
|
def torrent_count(self):
|
||||||
"""write torrent counts to log file"""
|
"""write torrent counts to log file"""
|
||||||
|
#Doesn't work because tracker_list doesn't have a count property. Each object does. List comprehension?
|
||||||
self.tl.debug(f'torrents that are protected {self.tracker_list.count("ipt")}')
|
self.tl.debug(f'torrents that are protected {self.tracker_list.count("ipt")}')
|
||||||
self.tl.debug(f'torrents that aren\'t protected {self.tracker_list.count("public")}')
|
self.tl.debug(f'torrents that aren\'t protected {self.tracker_list.count("public")}')
|
||||||
|
|
||||||
|
@ -3,30 +3,27 @@ def tor_processor(self):
|
|||||||
If torrent meets criteria for deletion, its infohash_v1 will be appended to self.torrent_hash_delete_list
|
If torrent meets criteria for deletion, its infohash_v1 will be appended to self.torrent_hash_delete_list
|
||||||
"""
|
"""
|
||||||
for canidate in self.tracker_list:
|
for canidate in self.tracker_list:
|
||||||
# if canidate['state'] == 'downloading':
|
if self.use_log:
|
||||||
|
self.tl.debug(f'---Reviewing canidate: ["{canidate["name"][0:20]}..."] {canidate["infohash_v1"]}---')
|
||||||
if is_downloading(canidate['state']):
|
if is_downloading(canidate['state']):
|
||||||
if self.use_log:
|
if self.use_log:
|
||||||
self.tl.info(f'["{canidate["name"][0:20]}..."] is still downloading and will be skipped.')
|
self.tl.info(f'["{canidate["name"][0:20]}..."] is still downloading and will be skipped.')
|
||||||
continue
|
continue
|
||||||
# elif canidate['ratio'] < float(1.05) and self.tracker_protected_tag in canidate["tags"]:
|
|
||||||
elif is_protected_under_ratio(canidate['ratio'], 1.05, self.tracker_protected_tag, canidate["tags"]):
|
elif is_protected_under_ratio(canidate['ratio'], 1.05, self.tracker_protected_tag, canidate["tags"]):
|
||||||
if self.use_log:
|
if self.use_log:
|
||||||
self.tl.debug(f'["{canidate["name"][0:20]}..."] is below a 1.05 ratio({canidate["ratio"]})')
|
self.tl.debug(f'["{canidate["name"][0:20]}..."] is below a 1.05 ratio({canidate["ratio"]})')
|
||||||
# if canidate['added_on'] + self.age <= self.t.time():
|
|
||||||
if is_old_tor(canidate['added_on'], self.age, self.t.time()):
|
if is_old_tor(canidate['added_on'], self.age, self.t.time()):
|
||||||
if self.use_log:
|
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: {self.t.time() - self.age - canidate["added_on"]}')
|
||||||
self.torrent_hash_delete_list.append(canidate['infohash_v1'])
|
self.torrent_hash_delete_list.append(canidate['infohash_v1'])
|
||||||
if self.use_log:
|
if self.use_log:
|
||||||
self.tl.info(f'Submitted ["{canidate["name"][0:20]}..."] for deletion from the protected list.')
|
self.tl.info(f'Submitted ["{canidate["name"][0:20]}..."] for deletion from the protected list.')
|
||||||
# elif canidate['ratio'] >= float(1.05) and self.tracker_protected_tag in canidate["tags"]:
|
|
||||||
elif is_protected_over_ratio(canidate['ratio'], 1.05, self.tracker_protected_tag, canidate["tags"]):
|
elif is_protected_over_ratio(canidate['ratio'], 1.05, self.tracker_protected_tag, canidate["tags"]):
|
||||||
if self.use_log:
|
if self.use_log:
|
||||||
self.tl.debug(f'["{canidate["name"][0:20]}..."] is above a 1.05 ratio({canidate["ratio"]}).')
|
self.tl.debug(f'["{canidate["name"][0:20]}..."] is above a 1.05 ratio({canidate["ratio"]}).')
|
||||||
self.torrent_hash_delete_list.append(canidate['infohash_v1'])
|
self.torrent_hash_delete_list.append(canidate['infohash_v1'])
|
||||||
if self.use_log:
|
if self.use_log:
|
||||||
self.tl.info(f'Submitted ["{canidate["name"][0:20]}..."] for deletion from the protected list.')
|
self.tl.info(f'Submitted ["{canidate["name"][0:20]}..."] for deletion from the protected list.')
|
||||||
# elif self.tracker_non_protected_tag in canidate["tags"]:
|
|
||||||
elif is_not_protected_tor(self.tracker_non_protected_tag, canidate["tags"]):
|
elif is_not_protected_tor(self.tracker_non_protected_tag, canidate["tags"]):
|
||||||
self.torrent_hash_delete_list.append(canidate['infohash_v1'])
|
self.torrent_hash_delete_list.append(canidate['infohash_v1'])
|
||||||
if self.use_log:
|
if self.use_log:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user