Change thumb_level and art_level to int

This commit is contained in:
JonnyWong16 2020-10-08 10:11:47 -07:00
parent 9a7627e35e
commit 7f3d8cfb8d
No known key found for this signature in database
GPG key ID: B1F1F9807184697A
3 changed files with 30 additions and 23 deletions

View file

@ -101,10 +101,10 @@ DOCUMENTATION :: END
<div class="row">
<div class="col-md-12">
<select class="form-control" id="export_thumb_level" name="export_thumb_level">
<option value="0" selected>Level 0 - None</option>
<option value="1">Level 1 - Custom Uploaded Posters / Covers Only</option>
<option value="1">Level 2 - Locked Posters / Covers Only</option>
<option value="1">Level 9 - All Posters / Covers</option>
<option value="0" selected>Level 0 - Custom</option>
<option value="1">Level 1 - Uploaded Posters / Covers Only</option>
<option value="2">Level 2 - Locked Posters / Covers Only</option>
<option value="9">Level 9 - All Posters / Covers</option>
</select>
</div>
</div>
@ -117,10 +117,10 @@ DOCUMENTATION :: END
<div class="row">
<div class="col-md-12">
<select class="form-control" id="export_art_level" name="export_art_level">
<option value="0" selected>Level 0 - None</option>
<option value="1">Level 1 - Custom Uploaded Artwork Only</option>
<option value="1">Level 2 - Locked Artwork Only</option>
<option value="1">Level 9 - All Artwork</option>
<option value="0" selected>Level 0 - Custom</option>
<option value="1">Level 1 - Uploaded Artwork Only</option>
<option value="2">Level 2 - Locked Artwork Only</option>
<option value="9">Level 9 - All Artwork</option>
</select>
</div>
</div>

View file

@ -94,12 +94,13 @@ class Export(object):
}
METADATA_LEVELS = (0, 1, 2, 3, 9)
MEDIA_INFO_LEVELS = (0, 1, 2, 3, 9)
IMAGE_LEVELS = (0, 1, 2, 9)
FILE_FORMATS = ('csv', 'json', 'xml', 'm3u8')
EXPORT_TYPES = ('all', 'collection', 'playlist')
def __init__(self, section_id=None, user_id=None, rating_key=None, file_format='csv',
metadata_level=1, media_info_level=1,
thumb_level=False, art_level=False,
thumb_level=0, art_level=0,
custom_fields='', export_type=None):
self.section_id = helpers.cast_to_int(section_id) or None
self.user_id = helpers.cast_to_int(user_id) or None
@ -107,8 +108,8 @@ class Export(object):
self.file_format = str(file_format).lower()
self.metadata_level = helpers.cast_to_int(metadata_level)
self.media_info_level = helpers.cast_to_int(media_info_level)
self.thumb_level = thumb_level
self.art_level = art_level
self.thumb_level = helpers.cast_to_int(thumb_level)
self.art_level = helpers.cast_to_int(art_level)
self.custom_fields = custom_fields.replace(' ', '')
self._custom_fields = {}
self.export_type = export_type or 'all'
@ -1469,6 +1470,10 @@ class Export(object):
msg = "Export called with invalid metadata_level '{}'.".format(self.metadata_level)
elif self.media_info_level not in self.MEDIA_INFO_LEVELS:
msg = "Export called with invalid media_info_level '{}'.".format(self.media_info_level)
elif self.thumb_level not in self.IMAGE_LEVELS:
msg = "Export called with invalid thumb_level '{}'.".format(self.thumb_level)
elif self.art_level not in self.IMAGE_LEVELS:
msg = "Export called with invalid art_level '{}'.".format(self.art_level)
elif self.file_format not in self.FILE_FORMATS:
msg = "Export called with invalid file_format '{}'.".format(self.file_format)
elif self.export_type not in self.EXPORT_TYPES:
@ -1560,8 +1565,15 @@ class Export(object):
logger.error("Tautulli Exporter :: %s", msg)
return msg
self.thumb_level = int(self.thumb_level and self.MEDIA_TYPES[self.media_type][0])
self.art_level = int(self.art_level and self.MEDIA_TYPES[self.media_type][1])
if not self.thumb_level and 'thumbFile' in self.custom_fields:
self.thumb_level = 10 # Custom thumb level
elif not self.MEDIA_TYPES[self.media_type][0]:
self.thumb_level = 0
if not self.art_level and 'artFile' in self.custom_fields:
self.art_level = 10 # Custom art level
elif not self.MEDIA_TYPES[self.media_type][1]:
self.art_level = 0
self._process_custom_fields()
self.filename = '{}.{}'.format(helpers.clean_filename(filename), self.file_format)
@ -1661,11 +1673,6 @@ class Export(object):
if os.path.exists(images_folder):
for f in os.listdir(images_folder):
if not self.thumb_level and f.endswith('.thumb.jpg'):
self.thumb_level = 10 # Custom thumb level
if not self.art_level and f.endswith('.art.jpg'):
self.art_level = 10 # Custom art level
image_path = os.path.join(images_folder, f)
if os.path.isfile(image_path):
self.file_size += os.path.getsize(image_path)
@ -1735,10 +1742,10 @@ class Export(object):
if level <= self.media_info_level:
export_attrs_set.update(attrs)
if self.thumb_level:
if 0 < self.thumb_level <= 9:
if 'thumbFile' in media_attrs and self.MEDIA_TYPES[media_type][0]:
export_attrs_set.add('thumbFile')
if self.art_level:
if 0 < self.art_level <= 9:
if 'artFile' in media_attrs and self.MEDIA_TYPES[media_type][1]:
export_attrs_set.add('artFile')

View file

@ -6633,7 +6633,7 @@ class WebInterface(object):
@addtoapi()
def export_metadata(self, section_id=None, user_id=None, rating_key=None, file_format='csv',
metadata_level=1, media_info_level=1,
thumb_level=False, art_level=False,
thumb_level=0, art_level=0,
custom_fields='', export_type=None, **kwargs):
""" Export library or media metadata to a file
@ -6667,8 +6667,8 @@ class WebInterface(object):
file_format=file_format,
metadata_level=metadata_level,
media_info_level=media_info_level,
thumb_level=helpers.bool_true(thumb_level),
art_level=helpers.bool_true(art_level),
thumb_level=thumb_level,
art_level=art_level,
custom_fields=custom_fields,
export_type=export_type).export()