summaryrefslogtreecommitdiffstats
path: root/addons/metadata.themoviedb.org.python/python/scraper_datahelper.py
diff options
context:
space:
mode:
Diffstat (limited to 'addons/metadata.themoviedb.org.python/python/scraper_datahelper.py')
-rw-r--r--addons/metadata.themoviedb.org.python/python/scraper_datahelper.py54
1 files changed, 54 insertions, 0 deletions
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