Skip to content

Commit 9c1f05f

Browse files
authored
add option for keyart (#248)
posters without text.
1 parent aeae2a6 commit 9c1f05f

File tree

6 files changed

+38
-10
lines changed

6 files changed

+38
-10
lines changed

python/lib/tmdbscraper/tmdb.py

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -190,23 +190,28 @@ def _parse_artwork(movie, collection, urlbases, language):
190190
landscape = []
191191
logos = []
192192
fanart = []
193+
keyart = []
193194

194195
if 'images' in movie:
195196
posters = _build_image_list_with_fallback(movie['images']['posters'], urlbases, language)
196197
landscape = _build_image_list_with_fallback(movie['images']['backdrops'], urlbases, language)
197198
logos = _build_image_list_with_fallback(movie['images']['logos'], urlbases, language)
198-
fanart = _build_fanart_list(movie['images']['backdrops'], urlbases)
199+
fanart = _build_list_without_titles(movie['images']['backdrops'], urlbases)
200+
keyart = _build_list_without_titles(movie['images']['posters'], urlbases)
199201

200202
setposters = []
201203
setlandscape = []
202204
setfanart = []
205+
setkeyart = []
203206
if collection and 'images' in collection:
204207
setposters = _build_image_list_with_fallback(collection['images']['posters'], urlbases, language)
205208
setlandscape = _build_image_list_with_fallback(collection['images']['backdrops'], urlbases, language)
206-
setfanart = _build_fanart_list(collection['images']['backdrops'], urlbases)
209+
setfanart = _build_list_without_titles(collection['images']['backdrops'], urlbases)
210+
setkeyart = _build_list_without_titles(collection['images']['posters'], urlbases)
207211

208212
return {'poster': posters, 'landscape': landscape, 'fanart': fanart,
209-
'set.poster': setposters, 'set.landscape': setlandscape, 'set.fanart': setfanart, 'clearlogo': logos}
213+
'set.poster': setposters, 'set.landscape': setlandscape, 'set.fanart': setfanart,
214+
'clearlogo': logos, 'keyart': keyart, 'set.keyart': setkeyart}
210215

211216
def _build_image_list_with_fallback(imagelist, urlbases, language, language_fallback='en'):
212217
images = _build_image_list(imagelist, urlbases, [language])
@@ -221,7 +226,7 @@ def _build_image_list_with_fallback(imagelist, urlbases, language, language_fall
221226

222227
return images
223228

224-
def _build_fanart_list(imagelist, urlbases):
229+
def _build_list_without_titles(imagelist, urlbases):
225230
return _build_image_list(imagelist, urlbases, ['xx', None])
226231

227232
def _build_image_list(imagelist, urlbases, languages=[]):

python/scraper_config.py

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@ def configure_tmdb_artwork(details, settings):
1212
return details
1313

1414
art = details['available_art']
15-
if not settings.getSettingBool('fetch_posters'):
15+
posters_enabled = settings.getSettingBool('fetch_posters')
16+
if not posters_enabled:
1617
if 'poster' in art:
1718
del art['poster']
1819
if 'set.poster' in art:
@@ -32,6 +33,15 @@ def configure_tmdb_artwork(details, settings):
3233
if fanart_enabled:
3334
art['set.fanart'] = art.get('set.fanart', []) + art['set.landscape']
3435
del art['set.landscape']
36+
if not settings.getSettingBool('keyart'):
37+
if 'keyart' in art:
38+
if posters_enabled:
39+
art['poster'] = art.get('poster', []) + art['keyart']
40+
del art['keyart']
41+
if 'set.keyart' in art:
42+
if posters_enabled:
43+
art['set.poster'] = art.get('set.poster', []) + art['set.keyart']
44+
del art['set.keyart']
3545

3646
return details
3747

resources/language/resource.language.en_gb/strings.po

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,10 @@ msgctxt "#30017"
9696
msgid "Tag whitelist"
9797
msgstr ""
9898

99+
msgctxt "#30018"
100+
msgid "Separate TMDb posters without title to keyart"
101+
msgstr ""
102+
99103
msgctxt "#30100"
100104
msgid "Language for Fanart.tv artwork"
101105
msgstr ""

resources/language/resource.language.en_us/strings.po

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,10 @@ msgctxt "#30017"
9797
msgid "Tag whitelist"
9898
msgstr ""
9999

100+
msgctxt "#30018"
101+
msgid "Separate TMDb posters without title to keyart"
102+
msgstr ""
103+
100104
msgctxt "#30100"
101105
msgid "Language for Fanart.tv artwork"
102106
msgstr ""

resources/settings.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,11 @@
153153
<default>true</default>
154154
<control type="toggle"/>
155155
</setting>
156+
<setting id="keyart" type="boolean" label="30018" help="">
157+
<level>0</level>
158+
<default>true</default>
159+
<control type="toggle"/>
160+
</setting>
156161
<setting id="trailer" type="boolean" label="30004" help="">
157162
<level>0</level>
158163
<default>true</default>

test/unittests/test_tmdb_buildimagelist.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import unittest
2-
from python.lib.tmdbscraper.tmdb import _build_fanart_list, _build_image_list
2+
from python.lib.tmdbscraper.tmdb import _build_list_without_titles, _build_image_list
33

44
class TestBuildImageList(unittest.TestCase):
55
def setUp(self):
@@ -26,20 +26,20 @@ def test_build_image_list_with_language_filter(self):
2626

2727
self.assertEqual(len(result), 1)
2828

29-
def test_build_fanart_list_from_language_none(self):
29+
def test_build_titlefree_list_from_language_none(self):
3030
imagelist = [
3131
{'file_path': '/img1.jpg', 'iso_639_1': None},
3232
{'file_path': '/img3.jpg', 'iso_639_1': 'en'}
3333
]
34-
result = _build_fanart_list(imagelist, self.urlbases)
34+
result = _build_list_without_titles(imagelist, self.urlbases)
3535

3636
self.assertEqual(len(result), 1)
3737

38-
def test_build_fanart_list_from_language_xx(self):
38+
def test_build_titlefree_list_from_language_xx(self):
3939
imagelist = [
4040
{'file_path': '/img1.jpg', 'iso_639_1': 'xx'},
4141
{'file_path': '/img3.jpg', 'iso_639_1': 'en'}
4242
]
43-
result = _build_fanart_list(imagelist, self.urlbases)
43+
result = _build_list_without_titles(imagelist, self.urlbases)
4444

4545
self.assertEqual(len(result), 1)

0 commit comments

Comments
 (0)