From 81e1b077d419ee0897a312f5f2deb8f2f7e768c4 Mon Sep 17 00:00:00 2001 From: ghost Date: Sat, 4 Nov 2023 10:17:52 +0200 Subject: [PATCH 1/4] update node api --- nodes.json | 73 +++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 50 insertions(+), 23 deletions(-) diff --git a/nodes.json b/nodes.json index f0692d2..22c2778 100644 --- a/nodes.json +++ b/nodes.json @@ -1,28 +1,55 @@ [ { "name":"YGGtracker", - "description":"YGGtracker official node", - "url":"http://[201:23b4:991a:634d:8359:4521:5576:15b7]/yggtracker/", - "api":"http://[201:23b4:991a:634d:8359:4521:5576:15b7]/yggtracker/api/torrents?%s", - "sensitive":null, - "yggdrasil":null, - "locale":"en", - "locales": - [ - "en", - "cs", - "eo", - "fr", - "ka", - "de", - "he", - "it", - "lv", - "pl", - "pt", - "ru", - "es", - "uk" - ] + "description":"YGGtracker official", + "url":"http://[201:23b4:991a:634d:8359:4521:5576:15b7]/yggtracker/api/torrents?%s", + "categories": + { + "all":[ + "movie", + "series", + "tv", + "animation", + "music", + "game", + "audiobook", + "podcast", + "book", + "archive", + "picture", + "software", + "other" + ], + "anime":[ + "animation" + ], + "books": + [ + "book", + "audiobook" + ], + "games":[ + "game" + ], + "movies":[ + "movie", + "series" + ], + "music":[ + "music" + ], + "pictures":[ + "picture" + ], + "software":[ + "software", + "archive" + ], + "tv":[ + "tv", + "podcast", + "series" + ] + } } ] \ No newline at end of file From d6822c2fe13b5508d5bace20d01e65074b6e9996 Mon Sep 17 00:00:00 2001 From: ghost Date: Sat, 4 Nov 2023 10:46:05 +0200 Subject: [PATCH 2/4] update yggtracker api, add search by category support --- yggtracker.py | 40 ++++++++++++++++++++++------------------ 1 file changed, 22 insertions(+), 18 deletions(-) diff --git a/yggtracker.py b/yggtracker.py index 050dcac..bf15c6a 100644 --- a/yggtracker.py +++ b/yggtracker.py @@ -12,6 +12,17 @@ class yggtracker(object): name = 'YGGtracker' url = 'https://github.com/YGGverse/YGGtracker' + supported_categories = [ + 'all', + 'anime', + 'books', + 'games', + 'movies', + 'music', + 'pictures', + 'software', + 'tv' + ] def __init__(self): pass @@ -32,27 +43,20 @@ class yggtracker(object): # apply query request what = unquote(what) params = { - 'query': what + 'query': what, + 'filter': 'true' } - # apply locales filter - if len(node['locales']) > 0: - params['locales'] = '|'.join(node['locales']) + # apply categories filter + categories = [] + for category in node['categories'][cat]: + categories.append(category) - # apply sensitive filter - if node['sensitive'] is True: - params['sensitive'] = '1' - if node['sensitive'] is False: - params['sensitive'] = '0' - - # apply yggdrasil filter - if node['yggdrasil'] is True: - params['yggdrasil'] = '1' - if node['yggdrasil'] is False: - params['yggdrasil'] = '0' + if len(categories) > 0: + params['categories'] = '|'.join(categories) # send api request - response = retrieve_url(node['api'] % urlencode(params)) + response = retrieve_url(node['url'] % urlencode(params)) response_json = json.loads(response) # check empty response @@ -67,7 +71,7 @@ class yggtracker(object): 'size': str(item['torrent']['file']['size']) + " B", 'seeds': item['torrent']['scrape']['seeders'], 'leech': item['torrent']['scrape']['leechers'], - 'engine_url': node['url'], - 'desc_link': item['torrent']['url'][node['locale']] + 'engine_url': response_json['tracker']['url'], + 'desc_link': item['torrent']['url'] } prettyPrinter(res) \ No newline at end of file From 7d432ee39fb083998670584d5b1779b415d29a4b Mon Sep 17 00:00:00 2001 From: ghost Date: Sat, 4 Nov 2023 11:24:31 +0200 Subject: [PATCH 3/4] fix qbittorrent api compatibility --- yggtracker.py | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/yggtracker.py b/yggtracker.py index bf15c6a..48c7e29 100644 --- a/yggtracker.py +++ b/yggtracker.py @@ -12,17 +12,17 @@ class yggtracker(object): name = 'YGGtracker' url = 'https://github.com/YGGverse/YGGtracker' - supported_categories = [ - 'all', - 'anime', - 'books', - 'games', - 'movies', - 'music', - 'pictures', - 'software', - 'tv' - ] + supported_categories = { + 'all':[], + 'anime':[], + 'books':[], + 'games':[], + 'movies':[], + 'music':[], + 'pictures':[], + 'software':[], + 'tv':[] + } def __init__(self): pass From 0e746e2a99379cf582792b15d33b30879874c10e Mon Sep 17 00:00:00 2001 From: ghost Date: Sat, 4 Nov 2023 11:49:51 +0200 Subject: [PATCH 4/4] update version --- yggtracker.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yggtracker.py b/yggtracker.py index 48c7e29..53e06d3 100644 --- a/yggtracker.py +++ b/yggtracker.py @@ -1,4 +1,4 @@ -# VERSION: 1.00 +# VERSION: 1.1.0 # LICENSE: MIT # AUTHORS: https://github.com/YGGverse/qbittorrent-yggtracker-search-plugin