Compare commits

...

4 commits
1.0.0 ... main

Author SHA1 Message Date
ghost
0e746e2a99 update version 2023-11-04 11:49:51 +02:00
ghost
7d432ee39f fix qbittorrent api compatibility 2023-11-04 11:24:31 +02:00
ghost
d6822c2fe1 update yggtracker api, add search by category support 2023-11-04 10:46:05 +02:00
ghost
81e1b077d4 update node api 2023-11-04 10:17:52 +02:00
2 changed files with 73 additions and 42 deletions

View file

@ -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"
]
}
}
]

View file

@ -1,4 +1,4 @@
# VERSION: 1.00
# VERSION: 1.1.0
# LICENSE: MIT
# AUTHORS: https://github.com/YGGverse/qbittorrent-yggtracker-search-plugin
@ -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)