Updated kodi settings on Lenovo

This commit is contained in:
2026-03-22 22:28:43 +01:00
parent 725dfa7157
commit 32b5a81da6
10925 changed files with 575678 additions and 5511 deletions

View File

@@ -136,7 +136,7 @@ class TMDBMovieScraper(object):
info['duration'] = movie['runtime'] * 60
ratings = {'themoviedb': {'rating': float(movie['vote_average']), 'votes': int(movie['vote_count'])}}
uniqueids = {'tmdb': str(movie['id']), 'imdb': movie['imdb_id']}
uniqueids = _parse_uniqueids(movie)
cast = [{
'name': actor['name'],
'role': actor['character'],
@@ -164,6 +164,12 @@ def _parse_media_id(title):
return {'type': 'imdb', 'id':title[5:]}
return None
def _parse_uniqueids(movie):
uniqueids = {'tmdb': str(movie['id'])}
if movie.get('imdb_id'):
uniqueids['imdb'] = movie['imdb_id']
return uniqueids
def _get_movie(mid, language=None, search=False):
details = None if search else \
'trailers,images,releases,casts,keywords' if language is not None else \
@@ -184,23 +190,28 @@ def _parse_artwork(movie, collection, urlbases, language):
landscape = []
logos = []
fanart = []
keyart = []
if 'images' in movie:
posters = _build_image_list_with_fallback(movie['images']['posters'], urlbases, language)
landscape = _build_image_list_with_fallback(movie['images']['backdrops'], urlbases, language)
logos = _build_image_list_with_fallback(movie['images']['logos'], urlbases, language)
fanart = _build_fanart_list(movie['images']['backdrops'], urlbases)
fanart = _build_list_without_titles(movie['images']['backdrops'], urlbases)
keyart = _build_list_without_titles(movie['images']['posters'], urlbases)
setposters = []
setlandscape = []
setfanart = []
setkeyart = []
if collection and 'images' in collection:
setposters = _build_image_list_with_fallback(collection['images']['posters'], urlbases, language)
setlandscape = _build_image_list_with_fallback(collection['images']['backdrops'], urlbases, language)
setfanart = _build_fanart_list(collection['images']['backdrops'], urlbases)
setfanart = _build_list_without_titles(collection['images']['backdrops'], urlbases)
setkeyart = _build_list_without_titles(collection['images']['posters'], urlbases)
return {'poster': posters, 'landscape': landscape, 'fanart': fanart,
'set.poster': setposters, 'set.landscape': setlandscape, 'set.fanart': setfanart, 'clearlogo': logos}
'set.poster': setposters, 'set.landscape': setlandscape, 'set.fanart': setfanart,
'clearlogo': logos, 'keyart': keyart, 'set.keyart': setkeyart}
def _build_image_list_with_fallback(imagelist, urlbases, language, language_fallback='en'):
images = _build_image_list(imagelist, urlbases, [language])
@@ -215,7 +226,7 @@ def _build_image_list_with_fallback(imagelist, urlbases, language, language_fall
return images
def _build_fanart_list(imagelist, urlbases):
def _build_list_without_titles(imagelist, urlbases):
return _build_image_list(imagelist, urlbases, ['xx', None])
def _build_image_list(imagelist, urlbases, languages=[]):

View File

@@ -12,7 +12,8 @@ def configure_tmdb_artwork(details, settings):
return details
art = details['available_art']
if not settings.getSettingBool('fetch_posters'):
posters_enabled = settings.getSettingBool('fetch_posters')
if not posters_enabled:
if 'poster' in art:
del art['poster']
if 'set.poster' in art:
@@ -32,6 +33,15 @@ def configure_tmdb_artwork(details, settings):
if fanart_enabled:
art['set.fanart'] = art.get('set.fanart', []) + art['set.landscape']
del art['set.landscape']
if not settings.getSettingBool('keyart'):
if 'keyart' in art:
if posters_enabled:
art['poster'] = art.get('poster', []) + art['keyart']
del art['keyart']
if 'set.keyart' in art:
if posters_enabled:
art['set.poster'] = art.get('set.poster', []) + art['set.keyart']
del art['set.keyart']
return details
@@ -75,6 +85,9 @@ def _configure_default_rating(details, settings):
def _configure_tags(details, settings):
if not settings.getSettingBool('add_tags'):
del details['info']['tag']
elif settings.getSettingBool('enable_tag_whitelist'):
whitelist = set(tag.strip().lower() for tag in settings.getStringList('tag_whitelist'))
details['info']['tag'] = [tag for tag in details['info']['tag'] if tag.lower() in whitelist]
return details
# pylint: disable=invalid-name
@@ -102,6 +115,9 @@ class PathSpecificSettings(object):
def getSettingString(self, id):
return self._inner_get_setting(id, basestring, '')
def getStringList(self, id):
return self._inner_get_setting(id, list, [])
def _inner_get_setting(self, setting_id, setting_type, default):
value = self.data.get(setting_id)
if isinstance(value, setting_type):