mirror of
https://github.com/Tautulli/Tautulli.git
synced 2025-07-10 07:22:37 -07:00
Add file size to export table
This commit is contained in:
parent
a27a5b023b
commit
40fbc55ab3
4 changed files with 39 additions and 22 deletions
|
@ -61,22 +61,11 @@ export_table_options = {
|
||||||
$(td).html('<a href="' + page('info', rowData['rating_key']) + '">' + cellData + '</a>');
|
$(td).html('<a href="' + page('info', rowData['rating_key']) + '">' + cellData + '</a>');
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"width": "8%",
|
"width": "6%",
|
||||||
"className": "no-wrap"
|
"className": "no-wrap"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"targets": [3],
|
"targets": [3],
|
||||||
"data": "file_format",
|
|
||||||
"createdCell": function (td, cellData, rowData, row, col) {
|
|
||||||
if (cellData !== '') {
|
|
||||||
$(td).html(cellData);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"width": "8%",
|
|
||||||
"className": "no-wrap"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"targets": [4],
|
|
||||||
"data": "filename",
|
"data": "filename",
|
||||||
"createdCell": function (td, cellData, rowData, row, col) {
|
"createdCell": function (td, cellData, rowData, row, col) {
|
||||||
if (cellData !== '') {
|
if (cellData !== '') {
|
||||||
|
@ -86,8 +75,30 @@ export_table_options = {
|
||||||
"width": "50%",
|
"width": "50%",
|
||||||
"className": "no-wrap"
|
"className": "no-wrap"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"targets": [4],
|
||||||
|
"data": "file_format",
|
||||||
|
"createdCell": function (td, cellData, rowData, row, col) {
|
||||||
|
if (cellData !== '') {
|
||||||
|
$(td).html(cellData);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"width": "6%",
|
||||||
|
"className": "no-wrap"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"targets": [5],
|
"targets": [5],
|
||||||
|
"data": "file_size",
|
||||||
|
"createdCell": function (td, cellData, rowData, row, col) {
|
||||||
|
if (cellData !== '' && cellData !== null) {
|
||||||
|
$(td).html(humanFileSize(cellData));
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"width": "6%",
|
||||||
|
"className": "no-wrap"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"targets": [6],
|
||||||
"data": "complete",
|
"data": "complete",
|
||||||
"createdCell": function (td, cellData, rowData, row, col) {
|
"createdCell": function (td, cellData, rowData, row, col) {
|
||||||
if (cellData === 1 && rowData['exists']) {
|
if (cellData === 1 && rowData['exists']) {
|
||||||
|
@ -100,11 +111,11 @@ export_table_options = {
|
||||||
$(td).html('<span class="btn btn-xs btn-dark pull-left" data-id="' + rowData['row_id'] + '" disabled><i class="fa fa-question-circle fa-fw"></i> Not Found</span>');
|
$(td).html('<span class="btn btn-xs btn-dark pull-left" data-id="' + rowData['row_id'] + '" disabled><i class="fa fa-question-circle fa-fw"></i> Not Found</span>');
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"width": "8%",
|
"width": "7%",
|
||||||
"className": "export_download"
|
"className": "export_download"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"targets": [6],
|
"targets": [7],
|
||||||
"data": null,
|
"data": null,
|
||||||
"createdCell": function (td, cellData, rowData, row, col) {
|
"createdCell": function (td, cellData, rowData, row, col) {
|
||||||
if (rowData['complete'] !== 0) {
|
if (rowData['complete'] !== 0) {
|
||||||
|
@ -113,7 +124,7 @@ export_table_options = {
|
||||||
$(td).html('<span class="btn btn-xs btn-danger pull-left" data-id="' + rowData['row_id'] + '" disabled><i class="fa fa-trash-o fa-fw"></i> Delete</span>');
|
$(td).html('<span class="btn btn-xs btn-danger pull-left" data-id="' + rowData['row_id'] + '" disabled><i class="fa fa-trash-o fa-fw"></i> Delete</span>');
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"width": "8%",
|
"width": "7%",
|
||||||
"className": "export_delete"
|
"className": "export_delete"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|
|
@ -342,8 +342,9 @@ DOCUMENTATION :: END
|
||||||
<th align="left" id="timestamp">Exported At</th>
|
<th align="left" id="timestamp">Exported At</th>
|
||||||
<th align="left" id="media_type_title">Media Type</th>
|
<th align="left" id="media_type_title">Media Type</th>
|
||||||
<th align="left" id="rating_key">Rating Key</th>
|
<th align="left" id="rating_key">Rating Key</th>
|
||||||
<th align="left" id="file_format">Format</th>
|
|
||||||
<th align="left" id="filename">Filename</th>
|
<th align="left" id="filename">Filename</th>
|
||||||
|
<th align="left" id="file_format">File Format</th>
|
||||||
|
<th align="left" id="file_size">File Size</th>
|
||||||
<th align="left" id="complete">Download</th>
|
<th align="left" id="complete">Download</th>
|
||||||
<th align="left" id="delete">Delete</th>
|
<th align="left" id="delete">Delete</th>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
|
@ -794,7 +794,7 @@ def dbcheck():
|
||||||
c_db.execute(
|
c_db.execute(
|
||||||
'CREATE TABLE IF NOT EXISTS exports (id INTEGER PRIMARY KEY AUTOINCREMENT, '
|
'CREATE TABLE IF NOT EXISTS exports (id INTEGER PRIMARY KEY AUTOINCREMENT, '
|
||||||
'timestamp INTEGER, section_id INTEGER, rating_key INTEGER, media_type TEXT, '
|
'timestamp INTEGER, section_id INTEGER, rating_key INTEGER, media_type TEXT, '
|
||||||
'file_format TEXT, filename TEXT, complete INTEGER DEFAULT 0)'
|
'filename TEXT, file_format TEXT, file_size INTEGER DEFAULT 0, complete INTEGER DEFAULT 0)'
|
||||||
)
|
)
|
||||||
|
|
||||||
# Upgrade sessions table from earlier versions
|
# Upgrade sessions table from earlier versions
|
||||||
|
|
|
@ -962,6 +962,8 @@ def _real_export(export_id, items, attrs, file_format, filename):
|
||||||
writer.writeheader()
|
writer.writeheader()
|
||||||
writer.writerows(flatten_result)
|
writer.writerows(flatten_result)
|
||||||
|
|
||||||
|
file_size = os.path.getsize(filepath)
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
import traceback
|
import traceback
|
||||||
traceback.print_exc()
|
traceback.print_exc()
|
||||||
|
@ -976,7 +978,7 @@ def _real_export(export_id, items, attrs, file_format, filename):
|
||||||
if not success:
|
if not success:
|
||||||
return
|
return
|
||||||
|
|
||||||
set_export_state(export_id=export_id)
|
set_export_state(export_id=export_id, file_size=file_size)
|
||||||
logger.info("Tautulli Exporter :: Successfully exported to '%s'", filepath)
|
logger.info("Tautulli Exporter :: Successfully exported to '%s'", filepath)
|
||||||
|
|
||||||
|
|
||||||
|
@ -1010,14 +1012,15 @@ def add_export(timestamp, section_id, rating_key, media_type, file_format, filen
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
|
||||||
def set_export_state(export_id, success=True):
|
def set_export_state(export_id, file_size=None, success=True):
|
||||||
if success:
|
if success:
|
||||||
complete = 1
|
complete = 1
|
||||||
else:
|
else:
|
||||||
complete = -1
|
complete = -1
|
||||||
|
|
||||||
keys = {'id': export_id}
|
keys = {'id': export_id}
|
||||||
values = {'complete': complete}
|
values = {'complete': complete,
|
||||||
|
'file_size': file_size}
|
||||||
|
|
||||||
db = database.MonitorDatabase()
|
db = database.MonitorDatabase()
|
||||||
db.upsert(table_name='exports', key_dict=keys, value_dict=values)
|
db.upsert(table_name='exports', key_dict=keys, value_dict=values)
|
||||||
|
@ -1083,8 +1086,9 @@ def get_export_datatable(section_id=None, rating_key=None, kwargs=None):
|
||||||
'exports.section_id',
|
'exports.section_id',
|
||||||
'exports.rating_key',
|
'exports.rating_key',
|
||||||
'exports.media_type',
|
'exports.media_type',
|
||||||
'exports.file_format',
|
|
||||||
'exports.filename',
|
'exports.filename',
|
||||||
|
'exports.file_format',
|
||||||
|
'exports.file_size',
|
||||||
'exports.complete'
|
'exports.complete'
|
||||||
]
|
]
|
||||||
try:
|
try:
|
||||||
|
@ -1113,8 +1117,9 @@ def get_export_datatable(section_id=None, rating_key=None, kwargs=None):
|
||||||
'rating_key': item['rating_key'],
|
'rating_key': item['rating_key'],
|
||||||
'media_type': item['media_type'],
|
'media_type': item['media_type'],
|
||||||
'media_type_title': media_type_title,
|
'media_type_title': media_type_title,
|
||||||
'file_format': item['file_format'],
|
|
||||||
'filename': item['filename'],
|
'filename': item['filename'],
|
||||||
|
'file_format': item['file_format'],
|
||||||
|
'file_size': item['file_size'],
|
||||||
'complete': item['complete'],
|
'complete': item['complete'],
|
||||||
'exists': exists
|
'exists': exists
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue