diff --git a/data/interfaces/default/js/tables/export_table.js b/data/interfaces/default/js/tables/export_table.js index f5a173e0..7943c9c0 100644 --- a/data/interfaces/default/js/tables/export_table.js +++ b/data/interfaces/default/js/tables/export_table.js @@ -102,13 +102,13 @@ export_table_options = { "data": "complete", "createdCell": function (td, cellData, rowData, row, col) { if (cellData === 1 && rowData['exists']) { - $(td).html(''); + $(td).html(''); } else if (cellData === 0) { - $(td).html(' Processing'); + $(td).html(' Processing'); } else if (cellData === -1) { - $(td).html(' Failed'); + $(td).html(' Failed'); } else { - $(td).html(' Not Found'); + $(td).html(' Not Found'); } }, "width": "7%", @@ -119,9 +119,9 @@ export_table_options = { "data": null, "createdCell": function (td, cellData, rowData, row, col) { if (rowData['complete'] !== 0) { - $(td).html(''); + $(td).html(''); } else { - $(td).html(' Delete'); + $(td).html(' Delete'); } }, "width": "7%", @@ -157,7 +157,7 @@ $('.export_table').on('click', '> tbody > tr > td.export_download > button', fun var rowData = row.data(); e.preventDefault(); - window.location.href = 'download_export?row_id=' + rowData['row_id']; + window.location.href = 'download_export?export_id=' + rowData['export_id']; }); $('.export_table').on('click', '> tbody > tr > td.export_delete > button', function (e) { @@ -166,7 +166,7 @@ $('.export_table').on('click', '> tbody > tr > td.export_delete > button', funct var rowData = row.data(); var msg = 'Are you sure you want to delete the following export?

' + rowData['filename'] + ''; - var url = 'delete_export?row_id=' + rowData['row_id']; + var url = 'delete_export?export_id=' + rowData['export_id']; confirmAjaxCall(url, msg, null, null, redrawExportTable); }); diff --git a/plexpy/exporter.py b/plexpy/exporter.py index e6844255..87096d86 100644 --- a/plexpy/exporter.py +++ b/plexpy/exporter.py @@ -1031,12 +1031,12 @@ def delete_export(export_id): if str(export_id).isdigit(): export_data = get_export(export_id=export_id) - logger.debug("Tautulli Exporter :: Deleting export_id %s from the database.", export_id) + logger.info("Tautulli Exporter :: Deleting export_id %s from the database.", export_id) result = db.action('DELETE FROM exports WHERE id = ?', args=[export_id]) if export_data and export_data['exists']: filepath = get_export_filepath(export_data['filename']) - logger.debug("Tautulli Exporter :: Deleting exported file from '%s'.", filepath) + logger.info("Tautulli Exporter :: Deleting exported file from '%s'.", filepath) try: os.remove(filepath) except OSError as e: @@ -1050,6 +1050,8 @@ def delete_all_exports(): db = database.MonitorDatabase() result = db.select('SELECT filename FROM exports') + logger.info("Tautulli Exporter :: Deleting all exports from the database.") + deleted_files = True for row in result: if check_export_exists(row['filename']): @@ -1081,7 +1083,7 @@ def get_export_datatable(section_id=None, rating_key=None, kwargs=None): if rating_key: custom_where.append(['exports.rating_key', rating_key]) - columns = ['exports.id AS row_id', + columns = ['exports.id AS export_id', 'exports.timestamp', 'exports.section_id', 'exports.rating_key', @@ -1111,7 +1113,7 @@ def get_export_datatable(section_id=None, rating_key=None, kwargs=None): media_type_title = item['media_type'].title() exists = helpers.cast_to_int(check_export_exists(item['filename'])) - row = {'row_id': item['row_id'], + row = {'export_id': item['export_id'], 'timestamp': item['timestamp'], 'section_id': item['section_id'], 'rating_key': item['rating_key'], diff --git a/plexpy/webserve.py b/plexpy/webserve.py index 678fcb16..82eab3cb 100644 --- a/plexpy/webserve.py +++ b/plexpy/webserve.py @@ -6517,12 +6517,12 @@ class WebInterface(object): @cherrypy.expose @requireAuth(member_of("admin")) @addtoapi() - def download_export(self, row_id=None, **kwargs): + def download_export(self, export_id=None, **kwargs): """ Download an exported metadata file ``` Required parameters: - row_id (int): The row id of the exported file to download + export_id (int): The row id of the exported file to download Optional parameters: None @@ -6531,7 +6531,7 @@ class WebInterface(object): download ``` """ - result = exporter.get_export(export_id=row_id) + result = exporter.get_export(export_id=export_id) if result and result['complete'] == 1 and result['exists']: return serve_download(exporter.get_export_filepath(result['filename']), name=result['filename']) @@ -6543,7 +6543,7 @@ class WebInterface(object): elif result and not result.get('exists'): msg = 'Export file does not exist.' else: - msg = 'Invalid row_id provided.' + msg = 'Invalid export_id provided.' cherrypy.response.headers['Content-Type'] = 'application/json;charset=UTF-8' return json.dumps({'result': 'error', 'message': msg}).encode('utf-8') @@ -6551,15 +6551,15 @@ class WebInterface(object): @cherrypy.tools.json_out() @requireAuth(member_of("admin")) @addtoapi() - def delete_export(self, row_id=None, delete_all=False, **kwargs): + def delete_export(self, export_id=None, delete_all=False, **kwargs): """ Delete exports from Tautulli. ``` Required parameters: - row_id (int): The row id of the exported file to delete + export_id (int): The row id of the exported file to delete Optional parameters: - delete_all (bool): 'true' to delete all exported files + delete_all (bool): 'true' to delete all exported files Returns: None @@ -6573,7 +6573,7 @@ class WebInterface(object): return {'result': 'error', 'message': 'Failed to delete all exports.'} else: - result = exporter.delete_export(export_id=row_id) + result = exporter.delete_export(export_id=export_id) if result: return {'result': 'success', 'message': 'Export deleted successfully.'} else: