From c04dcc2e7d834218ef2d4194331e383402495ae1 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 10 Apr 2024 20:07:22 +0200 Subject: Adding upstream version 2:20.4+dfsg. Signed-off-by: Daniel Baumann --- .../python/scraper_datahelper.py | 54 ++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 addons/metadata.themoviedb.org.python/python/scraper_datahelper.py (limited to 'addons/metadata.themoviedb.org.python/python/scraper_datahelper.py') diff --git a/addons/metadata.themoviedb.org.python/python/scraper_datahelper.py b/addons/metadata.themoviedb.org.python/python/scraper_datahelper.py new file mode 100644 index 0000000..23504e0 --- /dev/null +++ b/addons/metadata.themoviedb.org.python/python/scraper_datahelper.py @@ -0,0 +1,54 @@ +import re +try: + from urlparse import parse_qsl +except ImportError: # py2 / py3 + from urllib.parse import parse_qsl + +# get addon params from the plugin path querystring +def get_params(argv): + result = {'handle': int(argv[0])} + if len(argv) < 2 or not argv[1]: + return result + + result.update(parse_qsl(argv[1].lstrip('?'))) + return result + +def combine_scraped_details_info_and_ratings(original_details, additional_details): + def update_or_set(details, key, value): + if key in details: + details[key].update(value) + else: + details[key] = value + + if additional_details: + if additional_details.get('info'): + update_or_set(original_details, 'info', additional_details['info']) + if additional_details.get('ratings'): + update_or_set(original_details, 'ratings', additional_details['ratings']) + return original_details + +def combine_scraped_details_available_artwork(original_details, additional_details): + if additional_details and additional_details.get('available_art'): + available_art = additional_details['available_art'] + if not original_details.get('available_art'): + original_details['available_art'] = available_art + else: + for arttype, artlist in available_art.items(): + original_details['available_art'][arttype] = \ + artlist + original_details['available_art'].get(arttype, []) + + return original_details + +def find_uniqueids_in_text(input_text): + result = {} + res = re.search(r'(themoviedb.org/movie/)([0-9]+)', input_text) + if (res): + result['tmdb'] = res.group(2) + res = re.search(r'imdb....?/title/tt([0-9]+)', input_text) + if (res): + result['imdb'] = 'tt' + res.group(1) + else: + res = re.search(r'imdb....?/Title\?t{0,2}([0-9]+)', input_text) + if (res): + result['imdb'] = 'tt' + res.group(1) + return result -- cgit v1.2.3