From 3b988f3973b326a030d1ad34b8ed3683eb83acf2 Mon Sep 17 00:00:00 2001 From: Anton Soroko Date: Sat, 26 Oct 2024 13:15:57 +0300 Subject: [PATCH 1/3] Fix typos in log.debug() --- burst/burst.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/burst/burst.py b/burst/burst.py index 5cd15fa5..902fe32f 100644 --- a/burst/burst.py +++ b/burst/burst.py @@ -397,7 +397,7 @@ def extract_subpage(q, id, name, torrent, size, seeds, peers, info_hash, referer if info_hash_search: log.debug("[%s] Parser debug | Matched '%s' iteration for query '%s': %s" % (provider, 'info_hash', info_hash_search, info_hash)) if referer_search: - log.debug("[%s] Parser debug | Matched '%s' iteration for query '%s': %s" % (provider, 'info_hash', referer_search, referer)) + log.debug("[%s] Parser debug | Matched '%s' iteration for query '%s': %s" % (provider, 'referer', referer_search, referer)) if description: name = '{} ({})'.format(name, description) @@ -609,7 +609,7 @@ def extract_from_page(provider, content): matches = re.findall(r'magnet:\?[^\'"\s<>\[\]]+', content) if matches: result = matches[0] - log.debug('[%s] Matched magnet link: %s' % (provider, repr(result))) + log.debug('[%s] Matched magnet info_hash search: %s' % (provider, repr(result))) return result matches = re.findall(r'http(.*?).torrent["\']', content) @@ -646,7 +646,7 @@ def extract_from_page(provider, content): matches = re.findall(r'/download.php\?id=([A-Za-z0-9]{40})\W', content) if matches: result = "magnet:?xt=urn:btih:" + matches[0] - log.debug('[%s] Matched download link: %s' % (provider, repr(result))) + log.debug('[%s] Matched magnet info_hash search: %s' % (provider, repr(result))) return result matches = re.findall(r'(/download.php\?id=[A-Za-z0-9]+[^\s\'"]*)', content) From 8ac2898edda6dccf091117de545d42c85e1da58d Mon Sep 17 00:00:00 2001 From: Anton Soroko Date: Sat, 26 Oct 2024 13:16:57 +0300 Subject: [PATCH 2/3] Add rule for animaunt to extract_from_page() --- burst/burst.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/burst/burst.py b/burst/burst.py index 902fe32f..e08a1537 100644 --- a/burst/burst.py +++ b/burst/burst.py @@ -649,6 +649,13 @@ def extract_from_page(provider, content): log.debug('[%s] Matched magnet info_hash search: %s' % (provider, repr(result))) return result + matches = re.findall(r'/engine/download.php\?id=[A-Za-z0-9]+[^\s\'"]*', content) # animaunt + if matches: + result = definition['root_url'] + matches[0] + result += "|Referer=" + result # we need to add Referer header to download .torrent + log.debug('[%s] Matched download link: %s' % (provider, repr(result))) + return result + matches = re.findall(r'(/download.php\?id=[A-Za-z0-9]+[^\s\'"]*)', content) if matches: result = definition['root_url'] + matches[0] From ab57dd104f079f808ff2b758349d496c63c3b11f Mon Sep 17 00:00:00 2001 From: Anton Soroko Date: Sat, 26 Oct 2024 13:19:44 +0300 Subject: [PATCH 3/3] Add AniMaunt tracker --- burst/providers/icons/animaunt.png | Bin 0 -> 7055 bytes burst/providers/providers.json | 28 ++++++++++++++++++++++++++++ resources/settings.xml | 4 ++++ 3 files changed, 32 insertions(+) create mode 100644 burst/providers/icons/animaunt.png diff --git a/burst/providers/icons/animaunt.png b/burst/providers/icons/animaunt.png new file mode 100644 index 0000000000000000000000000000000000000000..7e6bb3b84413cb2a102dc699399d8ad80ff92a36 GIT binary patch literal 7055 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 literal 0 HcmV?d00001 diff --git a/burst/providers/providers.json b/burst/providers/providers.json index e683edf4..de5f172d 100644 --- a/burst/providers/providers.json +++ b/burst/providers/providers.json @@ -169,6 +169,34 @@ "subpage": false, "tv_keywords": "{title:ru:jp}" }, + "animaunt": { + "anime_keywords": "{title:ru:jp}", + "base_url": "https://animaunt.org/", + "post_data": "{'story': 'QUERY', 'do': 'search', 'subaction': 'search'}", + "color": "FFFFFFFF", + "enabled": true, + "general_keywords": "{title}", + "language": "ru", + "languages": "ru", + "movie_keywords": "{title:ru:jp}", + "name": "AniMaunt", + "parser": { + "infohash": "", + "name": "item(tag='a', select=('class', 'th-title'))", + "description": "'WebDL 1080p'", + "peers": "", + "row": "find_all(tag='div', select=('class', 'thumb'))", + "seeds": "1", + "size": "", + "torrent": "item(tag='a', select=('class', 'th-title'), attribute='href')" + }, + "predefined": false, + "private": false, + "season_keywords": "{title:ru:jp}", + "separator": "+", + "subpage": true, + "tv_keywords": "{title:ru:jp}" + }, "ArabP2P": { "anime_extra": "", "anime_keywords": "{title:original} s{season:2}e{episode:2}", diff --git a/resources/settings.xml b/resources/settings.xml index 7a633f51..0590eee1 100644 --- a/resources/settings.xml +++ b/resources/settings.xml @@ -59,6 +59,10 @@ + + + +