mirror of
https://github.com/StuffAnThings/qbit_manage.git
synced 2025-10-25 13:37:08 +08:00
Adds ability to have update multiple tags #95
[FR]: Tag Torrents with Existing Tags #95
This commit is contained in:
parent
f2db556f90
commit
102a1e083b
2 changed files with 14 additions and 12 deletions
|
|
@ -271,17 +271,18 @@ class Config:
|
|||
logger.debug(e)
|
||||
# If using Format 1 convert to format 2
|
||||
if isinstance(tag_details, str):
|
||||
tracker['tag'] = self.util.check_for_attribute(self.data, tag_url, parent="tracker", default=default_tag)
|
||||
self.util.check_for_attribute(self.data, "tag", parent="tracker", subparent=tag_url, default=tracker['tag'], do_print=False)
|
||||
tracker['tag'] = self.util.check_for_attribute(self.data, tag_url, parent="tracker", default=default_tag, var_type="list")
|
||||
self.util.check_for_attribute(self.data, "tag", parent="tracker", subparent=tag_url, default=tracker['tag'], do_print=False, var_type="list")
|
||||
if tracker['tag'] == default_tag:
|
||||
try:
|
||||
self.data['tracker'][tag_url]['tag'] = default_tag
|
||||
self.data['tracker'][tag_url]['tag'] = [default_tag]
|
||||
except Exception:
|
||||
self.data['tracker'][tag_url] = {'tag': default_tag}
|
||||
self.data['tracker'][tag_url] = {'tag': [default_tag]}
|
||||
# Using Format 2
|
||||
else:
|
||||
tracker['tag'] = self.util.check_for_attribute(self.data, "tag", parent="tracker", subparent=tag_url, default=tag_url)
|
||||
if tracker['tag'] == tag_url: self.data['tracker'][tag_url]['tag'] = tag_url
|
||||
tracker['tag'] = self.util.check_for_attribute(self.data, "tag", parent="tracker", subparent=tag_url, default=tag_url, var_type="list")
|
||||
if tracker['tag'] == [tag_url]: self.data['tracker'][tag_url]['tag'] = [tag_url]
|
||||
if isinstance(tracker['tag'], str): tracker['tag'] = [tracker['tag']]
|
||||
tracker['max_ratio'] = self.util.check_for_attribute(self.data, "max_ratio", parent="tracker", subparent=tag_url,
|
||||
var_type="float", default_int=-2, default_is_none=True, do_print=False, save=False)
|
||||
tracker['max_seeding_time'] = self.util.check_for_attribute(self.data, "max_seeding_time", parent="tracker", subparent=tag_url,
|
||||
|
|
@ -292,11 +293,12 @@ class Config:
|
|||
return (tracker)
|
||||
if tracker['url']:
|
||||
default_tag = tracker['url'].split('/')[2].split(':')[0]
|
||||
tracker['tag'] = self.util.check_for_attribute(self.data, "tag", parent="tracker", subparent=default_tag, default=default_tag)
|
||||
tracker['tag'] = self.util.check_for_attribute(self.data, "tag", parent="tracker", subparent=default_tag, default=default_tag, var_type="list")
|
||||
if isinstance(tracker['tag'], str): tracker['tag'] = [tracker['tag']]
|
||||
try:
|
||||
self.data['tracker'][default_tag]['tag'] = default_tag
|
||||
self.data['tracker'][default_tag]['tag'] = [default_tag]
|
||||
except Exception:
|
||||
self.data['tracker'][default_tag] = {'tag': default_tag}
|
||||
self.data['tracker'][default_tag] = {'tag': [default_tag]}
|
||||
e = (f'No tags matched for {tracker["url"]}. Please check your config.yml file. Setting tag to {default_tag}')
|
||||
self.notify(e, 'Tag', False)
|
||||
logger.warning(e)
|
||||
|
|
|
|||
|
|
@ -202,10 +202,10 @@ class Qbt:
|
|||
if torrent.tags == '' or (len([x for x in check_tags if x not in ignore_tags]) == 0):
|
||||
tracker = self.config.get_tags([x.url for x in torrent.trackers if x.url.startswith('http')])
|
||||
if tracker["tag"]:
|
||||
num_tags += 1
|
||||
num_tags += len(tracker["tag"])
|
||||
body = []
|
||||
body += print_line(util.insert_space(f'Torrent Name: {torrent.name}', 3), loglevel)
|
||||
body += print_line(util.insert_space(f'New Tag: {tracker["tag"]}', 8), loglevel)
|
||||
body += print_line(util.insert_space(f'New Tag{"s" if len(tracker["tag"]) > 1 else ""}: {", ".join(tracker["tag"])}', 8), loglevel)
|
||||
body += print_line(util.insert_space(f'Tracker: {tracker["url"]}', 8), loglevel)
|
||||
body.extend(self.set_tags_and_limits(torrent, tracker["max_ratio"], tracker["max_seeding_time"], tracker["limit_upload_speed"], tracker["tag"]))
|
||||
category = self.config.get_category(torrent.save_path) if torrent.category == '' else torrent.category
|
||||
|
|
@ -215,7 +215,7 @@ class Qbt:
|
|||
"body": "\n".join(body),
|
||||
"torrent_name": torrent.name,
|
||||
"torrent_category": category,
|
||||
"torrent_tag": tracker["tag"],
|
||||
"torrent_tag": ", ".join(tracker["tag"]),
|
||||
"torrent_tracker": tracker["url"],
|
||||
"notifiarr_indexer": tracker["notifiarr"],
|
||||
"torrent_max_ratio": tracker["max_ratio"],
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue