3 from urlparse
import parse_qsl
4 except ImportError: # py2 / py3
5 from urllib
.parse
import parse_qsl
7 # get addon params from the plugin path querystring
9 result
= {'handle': int(argv
[0])}
10 if len(argv
) < 2 or not argv
[1]:
13 result
.update(parse_qsl(argv
[1].lstrip('?')))
16 def combine_scraped_details_info_and_ratings(original_details
, additional_details
):
17 def update_or_set(details
, key
, value
):
19 details
[key
].update(value
)
23 if additional_details
:
24 if additional_details
.get('info'):
25 update_or_set(original_details
, 'info', additional_details
['info'])
26 if additional_details
.get('ratings'):
27 update_or_set(original_details
, 'ratings', additional_details
['ratings'])
28 return original_details
30 def combine_scraped_details_available_artwork(original_details
, additional_details
):
31 if additional_details
and additional_details
.get('available_art'):
32 available_art
= additional_details
['available_art']
33 if not original_details
.get('available_art'):
34 original_details
['available_art'] = available_art
36 for arttype
, artlist
in available_art
.items():
37 original_details
['available_art'][arttype
] = \
38 artlist
+ original_details
['available_art'].get(arttype
, [])
40 return original_details
42 def find_uniqueids_in_text(input_text
):
44 res
= re
.search(r
'(themoviedb.org/movie/)([0-9]+)', input_text
)
46 result
['tmdb'] = res
.group(2)
47 res
= re
.search(r
'imdb....?/title/tt([0-9]+)', input_text
)
49 result
['imdb'] = 'tt' + res
.group(1)
51 res
= re
.search(r
'imdb....?/Title\?t{0,2}([0-9]+)', input_text
)
53 result
['imdb'] = 'tt' + res
.group(1)