From 3e9320de5a88eda7ef619c1959b8118e07c7d514 Mon Sep 17 00:00:00 2001 From: Aymene69 Date: Fri, 23 Feb 2024 14:43:00 +0100 Subject: [PATCH] Fixed RD multiple torrent adding, fixed russian and indian language, added dutch --- debrid/realdebrid.py | 40 ++++++++++++++++++++++++++++++---------- index.html | 3 +++ utils/parse_xml.py | 4 +++- utils/process_results.py | 1 + 4 files changed, 37 insertions(+), 11 deletions(-) diff --git a/debrid/realdebrid.py b/debrid/realdebrid.py index e838651b..57e30f5e 100644 --- a/debrid/realdebrid.py +++ b/debrid/realdebrid.py @@ -3,6 +3,22 @@ import time +def is_already_added(magnet, config): + hash = magnet.split("urn:btih:")[1].split("&")[0].lower() + print("Getting Real-Debrid torrents") + url = "https://api.real-debrid.com/rest/1.0/torrents" + headers = { + "Authorization": f"Bearer {config['debridKey']}" + } + response = requests.get(url, headers=headers) + data = response.json() + for torrent in data: + if torrent['hash'] == hash: + return torrent['id'] + return None + + + def get_stream_link_rd(query, config): print("Started getting Real-Debrid link") magnet = json.loads(query)['magnet'] @@ -10,17 +26,22 @@ def get_stream_link_rd(query, config): print("Getting config") print("Got config") print("Adding magnet to Real-Debrid") - url = "https://api.real-debrid.com/rest/1.0/torrents/addMagnet" + torrent_id = is_already_added(magnet, config) + print(torrent_id) headers = { "Authorization": f"Bearer {config['debridKey']}" } - data = { - "magnet": magnet - } - response = requests.post(url, headers=headers, data=data) - data = response.json() - torrent_id = data['id'] - print("Added magnet to Real-Debrid. ID: " + torrent_id) + if torrent_id: + print("Torrent already added to Real-Debrid. ID: " + torrent_id) + else: + url = "https://api.real-debrid.com/rest/1.0/torrents/addMagnet" + data = { + "magnet": magnet + } + response = requests.post(url, headers=headers, data=data) + data = response.json() + torrent_id = data['id'] + print("Added magnet to Real-Debrid. ID: " + torrent_id) print("Getting torrent info") url = "https://api.real-debrid.com/rest/1.0/torrents/info/" + torrent_id response = requests.get(url, headers=headers) @@ -92,5 +113,4 @@ def get_stream_link_rd(query, config): response = requests.post(url, headers=headers, data=data) data = response.json() print("Unrestricted link") - return data['download'] - + return data['download'] \ No newline at end of file diff --git a/index.html b/index.html index 4af79b14..dc0efc93 100644 --- a/index.html +++ b/index.html @@ -172,6 +172,9 @@

Filtering

+ + + diff --git a/utils/parse_xml.py b/utils/parse_xml.py index d1223183..7d39927d 100644 --- a/utils/parse_xml.py +++ b/utils/parse_xml.py @@ -54,6 +54,7 @@ def get_emoji(language): "pt": "🇵🇹", "ru": "🇷🇺", "in": "🇮🇳", + "nl": "🇳🇱", "multi": "🌍" } return emoji_dict.get(language, "🇬🇧") @@ -68,7 +69,8 @@ def detect_language(torrent_name): "it": r'\b(ITALIAN|IT|ITA)\b', "pt": r'\b(PORTUGUESE|PT|POR)\b', "ru": r'\b(RUSSIAN|RU|RUS)\b', - "in": r'\b(INDIAN|IN|HINDI|TELUGU|TAMIL|KANNADA|MALAYALAM|PUNJABI|MARATHI|BENGALI|GUJARATI|URDU|ODIA|ASSAMESE|KONKANI|MANIPURI|NEPALI|SANSKRIT|SINHALA|SINDHI|TIBETAN|BHOJPURI|DHIVEHI|KASHMIRI|KURUKH|MAITHILI|NEWARI|RAJASTHANI|SANTALI|SINDHI|TULU)\b' + "in": r'\b(INDIAN|IN|HINDI|TELUGU|TAMIL|KANNADA|MALAYALAM|PUNJABI|MARATHI|BENGALI|GUJARATI|URDU|ODIA|ASSAMESE|KONKANI|MANIPURI|NEPALI|SANSKRIT|SINHALA|SINDHI|TIBETAN|BHOJPURI|DHIVEHI|KASHMIRI|KURUKH|MAITHILI|NEWARI|RAJASTHANI|SANTALI|SINDHI|TULU)\b', + "nl": r'\b(DUTCH|NL|NLD)\b', } for language, pattern in language_patterns.items(): diff --git a/utils/process_results.py b/utils/process_results.py index 77813bce..e11dc1ae 100644 --- a/utils/process_results.py +++ b/utils/process_results.py @@ -15,6 +15,7 @@ def get_emoji(language): "pt": "🇵🇹", "ru": "🇷🇺", "in": "🇮🇳", + "nl": "🇳🇱", "multi": "🌍" } return emoji_dict.get(language, "🇬🇧")