mirror of
				https://github.com/StuffAnThings/qbit_manage.git
				synced 2025-11-01 00:56:03 +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) |                             logger.debug(e) | ||||||
|                         # If using Format 1 convert to format 2 |                         # If using Format 1 convert to format 2 | ||||||
|                         if isinstance(tag_details, str): |                         if isinstance(tag_details, str): | ||||||
|                             tracker['tag'] = self.util.check_for_attribute(self.data, tag_url, parent="tracker", default=default_tag) |                             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) |                             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: |                             if tracker['tag'] == default_tag: | ||||||
|                                 try: |                                 try: | ||||||
|                                     self.data['tracker'][tag_url]['tag'] = default_tag |                                     self.data['tracker'][tag_url]['tag'] = [default_tag] | ||||||
|                                 except Exception: |                                 except Exception: | ||||||
|                                     self.data['tracker'][tag_url] = {'tag': default_tag} |                                     self.data['tracker'][tag_url] = {'tag': [default_tag]} | ||||||
|                         # Using Format 2 |                         # Using Format 2 | ||||||
|                         else: |                         else: | ||||||
|                             tracker['tag'] = self.util.check_for_attribute(self.data, "tag", parent="tracker", subparent=tag_url, default=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 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, |                             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) |                                                                                  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, |                             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) |                         return (tracker) | ||||||
|         if tracker['url']: |         if tracker['url']: | ||||||
|             default_tag = tracker['url'].split('/')[2].split(':')[0] |             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: |             try: | ||||||
|                 self.data['tracker'][default_tag]['tag'] = default_tag |                 self.data['tracker'][default_tag]['tag'] = [default_tag] | ||||||
|             except Exception: |             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}') |             e = (f'No tags matched for {tracker["url"]}. Please check your config.yml file. Setting tag to {default_tag}') | ||||||
|             self.notify(e, 'Tag', False) |             self.notify(e, 'Tag', False) | ||||||
|             logger.warning(e) |             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): |                 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')]) |                     tracker = self.config.get_tags([x.url for x in torrent.trackers if x.url.startswith('http')]) | ||||||
|                     if tracker["tag"]: |                     if tracker["tag"]: | ||||||
|                         num_tags += 1 |                         num_tags += len(tracker["tag"]) | ||||||
|                         body = [] |                         body = [] | ||||||
|                         body += print_line(util.insert_space(f'Torrent Name: {torrent.name}', 3), loglevel) |                         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 += 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"])) |                         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 |                         category = self.config.get_category(torrent.save_path) if torrent.category == '' else torrent.category | ||||||
|  | @ -215,7 +215,7 @@ class Qbt: | ||||||
|                             "body": "\n".join(body), |                             "body": "\n".join(body), | ||||||
|                             "torrent_name": torrent.name, |                             "torrent_name": torrent.name, | ||||||
|                             "torrent_category": category, |                             "torrent_category": category, | ||||||
|                             "torrent_tag": tracker["tag"], |                             "torrent_tag": ", ".join(tracker["tag"]), | ||||||
|                             "torrent_tracker": tracker["url"], |                             "torrent_tracker": tracker["url"], | ||||||
|                             "notifiarr_indexer": tracker["notifiarr"], |                             "notifiarr_indexer": tracker["notifiarr"], | ||||||
|                             "torrent_max_ratio": tracker["max_ratio"], |                             "torrent_max_ratio": tracker["max_ratio"], | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue