diff --git a/data/interfaces/default/info.html b/data/interfaces/default/info.html index a3cc5060..514e6e33 100644 --- a/data/interfaces/default/info.html +++ b/data/interfaces/default/info.html @@ -512,7 +512,7 @@ DOCUMENTATION :: END % endif
@@ -844,7 +844,10 @@ DOCUMENTATION :: END $("#toggle-export-modal").click(function() { $.ajax({ url: 'export_metadata_modal', - data: { rating_key: $(this).data('id') }, + data: { + section_id: $(this).data('section_id'), + rating_key: $(this).data('rating_key') + }, cache: false, async: true, complete: function(xhr, status) { diff --git a/data/interfaces/default/library.html b/data/interfaces/default/library.html index ee7c1681..f8c9e4ba 100644 --- a/data/interfaces/default/library.html +++ b/data/interfaces/default/library.html @@ -322,7 +322,7 @@ DOCUMENTATION :: END % if _session['user_group'] == 'admin':
@@ -563,7 +563,7 @@ DOCUMENTATION :: END $("#toggle-export-modal").click(function() { $.ajax({ url: 'export_metadata_modal', - data: { section_id: $(this).data('id') }, + data: { section_id: $(this).data('section_id') }, cache: false, async: true, complete: function(xhr, status) { diff --git a/plexpy/exporter.py b/plexpy/exporter.py index dd2e575b..5aa2bb92 100644 --- a/plexpy/exporter.py +++ b/plexpy/exporter.py @@ -853,29 +853,19 @@ def export(section_id=None, rating_key=None, file_format='json'): if not section_id and not rating_key: logger.error("Tautulli Exporter :: Export called but no section_id or rating_key provided.") return - elif section_id and not str(section_id).isdigit(): - logger.error("Tautulli Exporter :: Export called with invalid section_id '%s'.", section_id) - return elif rating_key and not str(rating_key).isdigit(): logger.error("Tautulli Exporter :: Export called with invalid rating_key '%s'.", rating_key) return + elif section_id and not str(section_id).isdigit(): + logger.error("Tautulli Exporter :: Export called with invalid section_id '%s'.", section_id) + return elif file_format not in ('json', 'csv'): logger.error("Tautulli Exporter :: Export called but invalid file_format '%s' provided.", file_format) return plex = Plex(plexpy.CONFIG.PMS_URL, plexpy.CONFIG.PMS_TOKEN) - if section_id: - logger.debug("Tautulli Exporter :: Export called with section_id %s", section_id) - - library = plex.get_library(section_id) - media_type = library.type - library_title = library.title - filename = 'Library - {} [{}].{}.{}'.format( - library_title, section_id, helpers.timestamp_to_YMDHMS(timestamp), file_format) - items = library.all() - - elif rating_key: + if rating_key: logger.debug("Tautulli Exporter :: Export called with rating_key %s", rating_key) item = plex.get_item(helpers.cast_to_int(rating_key)) @@ -897,6 +887,16 @@ def export(section_id=None, rating_key=None, file_format='json'): items = [item] + elif section_id: + logger.debug("Tautulli Exporter :: Export called with section_id %s", section_id) + + library = plex.get_library(section_id) + media_type = library.type + library_title = library.title + filename = 'Library - {} [{}].{}.{}'.format( + library_title, section_id, helpers.timestamp_to_YMDHMS(timestamp), file_format) + items = library.all() + else: return