diff --git a/python/lib/tmdbscraper/tmdb.py b/python/lib/tmdbscraper/tmdb.py
index bb7893e..ab31212 100644
--- a/python/lib/tmdbscraper/tmdb.py
+++ b/python/lib/tmdbscraper/tmdb.py
@@ -190,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])
@@ -221,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=[]):
diff --git a/python/scraper_config.py b/python/scraper_config.py
index 43db848..2fe39a5 100644
--- a/python/scraper_config.py
+++ b/python/scraper_config.py
@@ -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
diff --git a/resources/language/resource.language.en_gb/strings.po b/resources/language/resource.language.en_gb/strings.po
index 729530a..a260f54 100644
--- a/resources/language/resource.language.en_gb/strings.po
+++ b/resources/language/resource.language.en_gb/strings.po
@@ -96,6 +96,10 @@ msgctxt "#30017"
msgid "Tag whitelist"
msgstr ""
+msgctxt "#30018"
+msgid "Separate TMDb posters without title to keyart"
+msgstr ""
+
msgctxt "#30100"
msgid "Language for Fanart.tv artwork"
msgstr ""
diff --git a/resources/language/resource.language.en_us/strings.po b/resources/language/resource.language.en_us/strings.po
index 3907955..f0d8179 100644
--- a/resources/language/resource.language.en_us/strings.po
+++ b/resources/language/resource.language.en_us/strings.po
@@ -97,6 +97,10 @@ msgctxt "#30017"
msgid "Tag whitelist"
msgstr ""
+msgctxt "#30018"
+msgid "Separate TMDb posters without title to keyart"
+msgstr ""
+
msgctxt "#30100"
msgid "Language for Fanart.tv artwork"
msgstr ""
diff --git a/resources/settings.xml b/resources/settings.xml
index 331a79f..dd2f09e 100644
--- a/resources/settings.xml
+++ b/resources/settings.xml
@@ -153,6 +153,11 @@
true
+
+ 0
+ true
+
+
0
true
diff --git a/test/unittests/test_tmdb_buildimagelist.py b/test/unittests/test_tmdb_buildimagelist.py
index 42c5c4b..c9b31e7 100644
--- a/test/unittests/test_tmdb_buildimagelist.py
+++ b/test/unittests/test_tmdb_buildimagelist.py
@@ -1,5 +1,5 @@
import unittest
-from python.lib.tmdbscraper.tmdb import _build_fanart_list, _build_image_list
+from python.lib.tmdbscraper.tmdb import _build_list_without_titles, _build_image_list
class TestBuildImageList(unittest.TestCase):
def setUp(self):
@@ -26,20 +26,20 @@ def test_build_image_list_with_language_filter(self):
self.assertEqual(len(result), 1)
- def test_build_fanart_list_from_language_none(self):
+ def test_build_titlefree_list_from_language_none(self):
imagelist = [
{'file_path': '/img1.jpg', 'iso_639_1': None},
{'file_path': '/img3.jpg', 'iso_639_1': 'en'}
]
- result = _build_fanart_list(imagelist, self.urlbases)
+ result = _build_list_without_titles(imagelist, self.urlbases)
self.assertEqual(len(result), 1)
- def test_build_fanart_list_from_language_xx(self):
+ def test_build_titlefree_list_from_language_xx(self):
imagelist = [
{'file_path': '/img1.jpg', 'iso_639_1': 'xx'},
{'file_path': '/img3.jpg', 'iso_639_1': 'en'}
]
- result = _build_fanart_list(imagelist, self.urlbases)
+ result = _build_list_without_titles(imagelist, self.urlbases)
self.assertEqual(len(result), 1)