mirror of
https://github.com/Tautulli/Tautulli.git
synced 2025-07-10 23:42:37 -07:00
Refactor database delete_session_history_rows ids
This commit is contained in:
parent
38f64c7d85
commit
c979e78802
3 changed files with 25 additions and 22 deletions
|
@ -21,6 +21,7 @@ import threading
|
||||||
import time
|
import time
|
||||||
|
|
||||||
import plexpy
|
import plexpy
|
||||||
|
import helpers
|
||||||
import logger
|
import logger
|
||||||
|
|
||||||
FILENAME = "tautulli.db"
|
FILENAME = "tautulli.db"
|
||||||
|
@ -57,6 +58,24 @@ def delete_recently_added():
|
||||||
return clear_table('recently_added')
|
return clear_table('recently_added')
|
||||||
|
|
||||||
|
|
||||||
|
def delete_session_history_rows(row_ids=None):
|
||||||
|
if row_ids:
|
||||||
|
for table in ('session_history', 'session_history_media_info', 'session_history_metadata'):
|
||||||
|
delete_rows_from_table(table=table, row_ids=row_ids)
|
||||||
|
return True
|
||||||
|
return False
|
||||||
|
|
||||||
|
|
||||||
|
def delete_rows_from_table(table, row_ids):
|
||||||
|
if row_ids and isinstance(row_ids, basestring):
|
||||||
|
row_ids = map(helpers.cast_to_int, row_ids.split(','))
|
||||||
|
|
||||||
|
logger.info(u"Tautulli Database :: Deleting row ids %s from %s database table", row_ids, table)
|
||||||
|
query = "DELETE FROM " + table + " WHERE id IN (%s) " % ','.join(['?'] * len(row_ids))
|
||||||
|
monitor_db = MonitorDatabase()
|
||||||
|
monitor_db.action(query, row_ids)
|
||||||
|
|
||||||
|
|
||||||
def db_filename(filename=FILENAME):
|
def db_filename(filename=FILENAME):
|
||||||
""" Returns the filepath to the db """
|
""" Returns the filepath to the db """
|
||||||
|
|
||||||
|
|
|
@ -1561,24 +1561,6 @@ class DataFactory(object):
|
||||||
|
|
||||||
return key_list
|
return key_list
|
||||||
|
|
||||||
def delete_session_history_rows(self, row_ids=None):
|
|
||||||
if row_ids and row_ids is not None:
|
|
||||||
row_ids = map(helpers.cast_to_int, row_ids.split(','))
|
|
||||||
|
|
||||||
if row_ids:
|
|
||||||
monitor_db = database.MonitorDatabase()
|
|
||||||
|
|
||||||
logger.info(u"Tautulli DataFactory :: Deleting history row ids %s from the session history database." % row_ids)
|
|
||||||
|
|
||||||
where = 'WHERE id IN ({})'.format(', '.join(['?'] * len(row_ids)))
|
|
||||||
for table in ('session_history', 'session_history_media_info', 'session_history_metadata'):
|
|
||||||
query = 'DELETE FROM {table} {where}'.format(table=table, where=where)
|
|
||||||
monitor_db.action(query=query, args=row_ids)
|
|
||||||
|
|
||||||
return 'Deleted history.'
|
|
||||||
else:
|
|
||||||
return 'Unable to delete rows. Input rows not valid.'
|
|
||||||
|
|
||||||
def update_metadata(self, old_key_list='', new_key_list='', media_type=''):
|
def update_metadata(self, old_key_list='', new_key_list='', media_type=''):
|
||||||
pms_connect = pmsconnect.PmsConnect()
|
pms_connect = pmsconnect.PmsConnect()
|
||||||
monitor_db = database.MonitorDatabase()
|
monitor_db = database.MonitorDatabase()
|
||||||
|
|
|
@ -1871,12 +1871,14 @@ class WebInterface(object):
|
||||||
data_factory = datafactory.DataFactory()
|
data_factory = datafactory.DataFactory()
|
||||||
|
|
||||||
if row_ids:
|
if row_ids:
|
||||||
delete_row = data_factory.delete_session_history_rows(row_ids=row_ids)
|
success = database.delete_session_history_rows(row_ids=row_ids)
|
||||||
|
|
||||||
if delete_row:
|
if success:
|
||||||
return {'message': delete_row}
|
return {'result': 'success', 'message': 'Deleted history.'}
|
||||||
|
else:
|
||||||
|
return {'result': 'error', 'message': 'Failed to delete history.'}
|
||||||
else:
|
else:
|
||||||
return {'message': 'No row ids received.'}
|
return {'result': 'error', 'message': 'No row ids received.'}
|
||||||
|
|
||||||
|
|
||||||
##### Graphs #####
|
##### Graphs #####
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue