mirror of
https://github.com/Tautulli/Tautulli.git
synced 2025-07-12 00:06:07 -07:00
Add artProvider and thumbProvider to exporter fields
This commit is contained in:
parent
5c115dec68
commit
ee0b4c0602
1 changed files with 33 additions and 3 deletions
|
@ -148,6 +148,7 @@ class Export(object):
|
||||||
'art': None,
|
'art': None,
|
||||||
'artBlurHash': None,
|
'artBlurHash': None,
|
||||||
'artFile': lambda o: self.get_image(o, 'art'),
|
'artFile': lambda o: self.get_image(o, 'art'),
|
||||||
|
'artProvider': lambda o: self.get_image_attr(o, 'art', 'provider'),
|
||||||
'audienceRating': None,
|
'audienceRating': None,
|
||||||
'audienceRatingImage': None,
|
'audienceRatingImage': None,
|
||||||
'chapters': {
|
'chapters': {
|
||||||
|
@ -384,6 +385,7 @@ class Export(object):
|
||||||
'thumb': None,
|
'thumb': None,
|
||||||
'thumbBlurHash': None,
|
'thumbBlurHash': None,
|
||||||
'thumbFile': lambda o: self.get_image(o, 'thumb'),
|
'thumbFile': lambda o: self.get_image(o, 'thumb'),
|
||||||
|
'thumbProvider': lambda o: self.get_image_attr(o, 'thumb', 'provider'),
|
||||||
'title': None,
|
'title': None,
|
||||||
'titleSort': None,
|
'titleSort': None,
|
||||||
'type': None,
|
'type': None,
|
||||||
|
@ -406,6 +408,7 @@ class Export(object):
|
||||||
'art': None,
|
'art': None,
|
||||||
'artBlurHash': None,
|
'artBlurHash': None,
|
||||||
'artFile': lambda o: self.get_image(o, 'art'),
|
'artFile': lambda o: self.get_image(o, 'art'),
|
||||||
|
'artProvider': lambda o: self.get_image_attr(o, 'art', 'provider'),
|
||||||
'audienceRating': None,
|
'audienceRating': None,
|
||||||
'audienceRatingImage': None,
|
'audienceRatingImage': None,
|
||||||
'audioLanguage': None,
|
'audioLanguage': None,
|
||||||
|
@ -472,6 +475,7 @@ class Export(object):
|
||||||
'thumb': None,
|
'thumb': None,
|
||||||
'thumbBlurHash': None,
|
'thumbBlurHash': None,
|
||||||
'thumbFile': lambda o: self.get_image(o, 'thumb'),
|
'thumbFile': lambda o: self.get_image(o, 'thumb'),
|
||||||
|
'thumbProvider': lambda o: self.get_image_attr(o, 'thumb', 'provider'),
|
||||||
'title': None,
|
'title': None,
|
||||||
'titleSort': None,
|
'titleSort': None,
|
||||||
'type': None,
|
'type': None,
|
||||||
|
@ -491,6 +495,7 @@ class Export(object):
|
||||||
'art': None,
|
'art': None,
|
||||||
'artBlurHash': None,
|
'artBlurHash': None,
|
||||||
'artFile': lambda o: self.get_image(o, 'art'),
|
'artFile': lambda o: self.get_image(o, 'art'),
|
||||||
|
'artProvider': lambda o: self.get_image_attr(o, 'art', 'provider'),
|
||||||
'audioLanguage': None,
|
'audioLanguage': None,
|
||||||
'collections': {
|
'collections': {
|
||||||
'id': None,
|
'id': None,
|
||||||
|
@ -534,6 +539,7 @@ class Export(object):
|
||||||
'thumb': None,
|
'thumb': None,
|
||||||
'thumbBlurHash': None,
|
'thumbBlurHash': None,
|
||||||
'thumbFile': lambda o: self.get_image(o, 'thumb'),
|
'thumbFile': lambda o: self.get_image(o, 'thumb'),
|
||||||
|
'thumbProvider': lambda o: self.get_image_attr(o, 'thumb', 'provider'),
|
||||||
'title': None,
|
'title': None,
|
||||||
'titleSort': None,
|
'titleSort': None,
|
||||||
'type': None,
|
'type': None,
|
||||||
|
@ -552,6 +558,7 @@ class Export(object):
|
||||||
'art': None,
|
'art': None,
|
||||||
'artBlurHash': None,
|
'artBlurHash': None,
|
||||||
'artFile': lambda o: self.get_image(o, 'art'),
|
'artFile': lambda o: self.get_image(o, 'art'),
|
||||||
|
'artProvider': lambda o: self.get_image_attr(o, 'art', 'provider'),
|
||||||
'audienceRating': None,
|
'audienceRating': None,
|
||||||
'audienceRatingImage': None,
|
'audienceRatingImage': None,
|
||||||
'chapters': {
|
'chapters': {
|
||||||
|
@ -792,6 +799,7 @@ class Export(object):
|
||||||
'thumb': None,
|
'thumb': None,
|
||||||
'thumbBlurHash': None,
|
'thumbBlurHash': None,
|
||||||
'thumbFile': lambda o: self.get_image(o, 'thumb'),
|
'thumbFile': lambda o: self.get_image(o, 'thumb'),
|
||||||
|
'thumbProvider': lambda o: self.get_image_attr(o, 'thumb', 'provider'),
|
||||||
'title': None,
|
'title': None,
|
||||||
'titleSort': None,
|
'titleSort': None,
|
||||||
'type': None,
|
'type': None,
|
||||||
|
@ -814,6 +822,7 @@ class Export(object):
|
||||||
'art': None,
|
'art': None,
|
||||||
'artBlurHash': None,
|
'artBlurHash': None,
|
||||||
'artFile': lambda o: self.get_image(o, 'art'),
|
'artFile': lambda o: self.get_image(o, 'art'),
|
||||||
|
'artProvider': lambda o: self.get_image_attr(o, 'art', 'provider'),
|
||||||
'collections': {
|
'collections': {
|
||||||
'id': None,
|
'id': None,
|
||||||
'tag': None
|
'tag': None
|
||||||
|
@ -866,6 +875,7 @@ class Export(object):
|
||||||
'thumb': None,
|
'thumb': None,
|
||||||
'thumbBlurHash': None,
|
'thumbBlurHash': None,
|
||||||
'thumbFile': lambda o: self.get_image(o, 'thumb'),
|
'thumbFile': lambda o: self.get_image(o, 'thumb'),
|
||||||
|
'thumbProvider': lambda o: self.get_image_attr(o, 'thumb', 'provider'),
|
||||||
'title': None,
|
'title': None,
|
||||||
'titleSort': None,
|
'titleSort': None,
|
||||||
'type': None,
|
'type': None,
|
||||||
|
@ -882,6 +892,7 @@ class Export(object):
|
||||||
'art': None,
|
'art': None,
|
||||||
'artBlurHash': None,
|
'artBlurHash': None,
|
||||||
'artFile': lambda o: self.get_image(o, 'art'),
|
'artFile': lambda o: self.get_image(o, 'art'),
|
||||||
|
'artProvider': lambda o: self.get_image_attr(o, 'art', 'provider'),
|
||||||
'collections': {
|
'collections': {
|
||||||
'id': None,
|
'id': None,
|
||||||
'tag': None
|
'tag': None
|
||||||
|
@ -944,6 +955,7 @@ class Export(object):
|
||||||
'thumb': None,
|
'thumb': None,
|
||||||
'thumbBlurHash': None,
|
'thumbBlurHash': None,
|
||||||
'thumbFile': lambda o: self.get_image(o, 'thumb'),
|
'thumbFile': lambda o: self.get_image(o, 'thumb'),
|
||||||
|
'thumbProvider': lambda o: self.get_image_attr(o, 'thumb', 'provider'),
|
||||||
'title': None,
|
'title': None,
|
||||||
'titleSort': None,
|
'titleSort': None,
|
||||||
'type': None,
|
'type': None,
|
||||||
|
@ -1223,6 +1235,7 @@ class Export(object):
|
||||||
'art': None,
|
'art': None,
|
||||||
'artBlurHash': None,
|
'artBlurHash': None,
|
||||||
'artFile': lambda o: self.get_image(o, 'art'),
|
'artFile': lambda o: self.get_image(o, 'art'),
|
||||||
|
'artProvider': lambda o: self.get_image_attr(o, 'art', 'provider'),
|
||||||
'childCount': None,
|
'childCount': None,
|
||||||
'collectionFilterBasedOnUser': None,
|
'collectionFilterBasedOnUser': None,
|
||||||
'collectionMode': None,
|
'collectionMode': None,
|
||||||
|
@ -1253,6 +1266,7 @@ class Export(object):
|
||||||
'thumb': None,
|
'thumb': None,
|
||||||
'thumbBlurHash': None,
|
'thumbBlurHash': None,
|
||||||
'thumbFile': lambda o: self.get_image(o, 'thumb'),
|
'thumbFile': lambda o: self.get_image(o, 'thumb'),
|
||||||
|
'thumbProvider': lambda o: self.get_image_attr(o, 'thumb', 'provider'),
|
||||||
'title': None,
|
'title': None,
|
||||||
'titleSort': None,
|
'titleSort': None,
|
||||||
'type': None,
|
'type': None,
|
||||||
|
@ -2239,15 +2253,25 @@ class Export(object):
|
||||||
media = helpers.get_attrs_to_dict(item, attrs)
|
media = helpers.get_attrs_to_dict(item, attrs)
|
||||||
return any(vs.get('hdr') for p in media.get('parts', []) for vs in p.get('videoStreams', []))
|
return any(vs.get('hdr') for p in media.get('parts', []) for vs in p.get('videoStreams', []))
|
||||||
|
|
||||||
|
def _get_cached_images(self, item, image):
|
||||||
|
if image == 'art':
|
||||||
|
if not hasattr(item, '_arts'):
|
||||||
|
item._arts = item.arts()
|
||||||
|
return getattr(item, '_arts', [])
|
||||||
|
else:
|
||||||
|
if not hasattr(item, '_posters'):
|
||||||
|
item._posters = item.posters()
|
||||||
|
return getattr(item, '_posters', [])
|
||||||
|
|
||||||
def get_image(self, item, image):
|
def get_image(self, item, image):
|
||||||
media_type = item.type
|
media_type = item.type
|
||||||
rating_key = item.ratingKey
|
rating_key = item.ratingKey
|
||||||
|
|
||||||
export_image = True
|
export_image = True
|
||||||
if self.thumb_level == 1 or self.art_level == 1:
|
if self.thumb_level == 1 or self.art_level == 1:
|
||||||
posters = item.arts() if image == 'art' else item.posters()
|
images = self._get_cached_images(item, image)
|
||||||
export_image = any(poster.selected and poster.ratingKey.startswith('upload://')
|
export_image = any(im.selected and im.ratingKey.startswith('upload://')
|
||||||
for poster in posters)
|
for im in images)
|
||||||
elif self.thumb_level == 2 or self.art_level == 2:
|
elif self.thumb_level == 2 or self.art_level == 2:
|
||||||
export_image = any(field.locked and field.name == image
|
export_image = any(field.locked and field.name == image
|
||||||
for field in item.fields)
|
for field in item.fields)
|
||||||
|
@ -2293,6 +2317,12 @@ class Export(object):
|
||||||
|
|
||||||
return os.path.join(os.path.basename(dirpath), filename)
|
return os.path.join(os.path.basename(dirpath), filename)
|
||||||
|
|
||||||
|
def get_image_attr(self, item, image, attr):
|
||||||
|
images = self._get_cached_images(item, image)
|
||||||
|
selected = next((im for im in images if im.selected), None)
|
||||||
|
if selected:
|
||||||
|
return getattr(selected, attr)
|
||||||
|
|
||||||
|
|
||||||
class ExportObject(Export):
|
class ExportObject(Export):
|
||||||
def __init__(self, export, obj):
|
def __init__(self, export, obj):
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue