mirror of
https://github.com/Tautulli/Tautulli.git
synced 2025-07-06 21:21:15 -07:00
Add button to regroup play history
This commit is contained in:
parent
1fe6d1505f
commit
b144e6527f
3 changed files with 49 additions and 8 deletions
|
@ -132,12 +132,6 @@
|
||||||
</label>
|
</label>
|
||||||
<p class="help-block">Change the "<em>Play by day of week</em>" graph to start on Monday. Default is start on Sunday.</p>
|
<p class="help-block">Change the "<em>Play by day of week</em>" graph to start on Monday. Default is start on Sunday.</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="checkbox advanced-setting">
|
|
||||||
<label>
|
|
||||||
<input type="checkbox" id="group_history_tables" name="group_history_tables" value="1" ${config['group_history_tables']}> Group Play History
|
|
||||||
</label>
|
|
||||||
<p class="help-block">Group play history for the same item and user as a single entry when progress is less than the watched percent.</p>
|
|
||||||
</div>
|
|
||||||
<div class="checkbox advanced-setting">
|
<div class="checkbox advanced-setting">
|
||||||
<label>
|
<label>
|
||||||
<input type="checkbox" id="history_table_activity" name="history_table_activity" value="1" ${config['history_table_activity']}> Current Activity in History Tables
|
<input type="checkbox" id="history_table_activity" name="history_table_activity" value="1" ${config['history_table_activity']}> Current Activity in History Tables
|
||||||
|
@ -227,6 +221,25 @@
|
||||||
</div>
|
</div>
|
||||||
<p class="help-block">Decide whether to use end credits markers to determine the 'watched' state of video items. When markers are not available the selected threshold percentage will be used.</p>
|
<p class="help-block">Decide whether to use end credits markers to determine the 'watched' state of video items. When markers are not available the selected threshold percentage will be used.</p>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="checkbox advanced-setting">
|
||||||
|
<label>
|
||||||
|
<input type="checkbox" id="group_history_tables" name="group_history_tables" value="1" ${config['group_history_tables']}> Group Play History
|
||||||
|
</label>
|
||||||
|
<p class="help-block">Group play history for the same item and user as a single entry when progress is less than the watched percent.</p>
|
||||||
|
</div>
|
||||||
|
<div class="form-group advanced-setting">
|
||||||
|
<label>Regroup Play History</label>
|
||||||
|
<p class="help-block">
|
||||||
|
Fix grouping of play history in the database.<br />
|
||||||
|
</p>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-4">
|
||||||
|
<div class="btn-group">
|
||||||
|
<button class="btn btn-form" type="button" id="regroup_history">Regroup</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="form-group advanced-setting">
|
<div class="form-group advanced-setting">
|
||||||
<label>Flush Temporary Sessions</label>
|
<label>Flush Temporary Sessions</label>
|
||||||
<p class="help-block">
|
<p class="help-block">
|
||||||
|
@ -2484,6 +2497,12 @@ $(document).ready(function() {
|
||||||
confirmAjaxCall(url, msg);
|
confirmAjaxCall(url, msg);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$("#regroup_history").click(function () {
|
||||||
|
var msg = 'Are you sure you want to regroup play history in the database?';
|
||||||
|
var url = 'regroup_history';
|
||||||
|
confirmAjaxCall(url, msg, null, 'Regrouping play history...');
|
||||||
|
});
|
||||||
|
|
||||||
$("#delete_temp_sessions").click(function () {
|
$("#delete_temp_sessions").click(function () {
|
||||||
var msg = 'Are you sure you want to flush the temporary sessions?<br /><br /><strong>This will reset all currently active sessions.</strong>';
|
var msg = 'Are you sure you want to flush the temporary sessions?<br /><br /><strong>This will reset all currently active sessions.</strong>';
|
||||||
var url = 'delete_temp_sessions';
|
var url = 'delete_temp_sessions';
|
||||||
|
|
|
@ -709,7 +709,8 @@ class ActivityProcessor(object):
|
||||||
|
|
||||||
def regroup_history(self):
|
def regroup_history(self):
|
||||||
logger.info("Tautulli ActivityProcessor :: Creating database backup...")
|
logger.info("Tautulli ActivityProcessor :: Creating database backup...")
|
||||||
database.make_backup()
|
if not database.make_backup():
|
||||||
|
return False
|
||||||
|
|
||||||
logger.info("Tautulli ActivityProcessor :: Regrouping session history...")
|
logger.info("Tautulli ActivityProcessor :: Regrouping session history...")
|
||||||
|
|
||||||
|
@ -720,6 +721,11 @@ class ActivityProcessor(object):
|
||||||
results = self.db.select(query)
|
results = self.db.select(query)
|
||||||
|
|
||||||
for session in results:
|
for session in results:
|
||||||
|
try:
|
||||||
self.group_history(session['id'], session)
|
self.group_history(session['id'], session)
|
||||||
|
except Exception as e:
|
||||||
|
logger.error("Tautulli ActivityProcessor :: Error regrouping session history: %s", e)
|
||||||
|
return False
|
||||||
|
|
||||||
logger.info("Tautulli ActivityProcessor :: Regrouping session history complete.")
|
logger.info("Tautulli ActivityProcessor :: Regrouping session history complete.")
|
||||||
|
return True
|
||||||
|
|
|
@ -51,6 +51,7 @@ if sys.version_info >= (3, 6):
|
||||||
import plexpy
|
import plexpy
|
||||||
if plexpy.PYTHON2:
|
if plexpy.PYTHON2:
|
||||||
import activity_pinger
|
import activity_pinger
|
||||||
|
import activity_processor
|
||||||
import common
|
import common
|
||||||
import config
|
import config
|
||||||
import database
|
import database
|
||||||
|
@ -85,6 +86,7 @@ if plexpy.PYTHON2:
|
||||||
import macos
|
import macos
|
||||||
else:
|
else:
|
||||||
from plexpy import activity_pinger
|
from plexpy import activity_pinger
|
||||||
|
from plexpy import activity_processor
|
||||||
from plexpy import common
|
from plexpy import common
|
||||||
from plexpy import config
|
from plexpy import config
|
||||||
from plexpy import database
|
from plexpy import database
|
||||||
|
@ -434,6 +436,20 @@ class WebInterface(object):
|
||||||
logger.warn("Unable to retrieve data for get_recently_added.")
|
logger.warn("Unable to retrieve data for get_recently_added.")
|
||||||
return serve_template(template_name="recently_added.html", data=None)
|
return serve_template(template_name="recently_added.html", data=None)
|
||||||
|
|
||||||
|
@cherrypy.expose
|
||||||
|
@cherrypy.tools.json_out()
|
||||||
|
@requireAuth(member_of("admin"))
|
||||||
|
@addtoapi()
|
||||||
|
def regroup_history(self, **kwargs):
|
||||||
|
""" Regroup play history in the database."""
|
||||||
|
|
||||||
|
result = activity_processor.ActivityProcessor().regroup_history()
|
||||||
|
|
||||||
|
if result:
|
||||||
|
return {'result': 'success', 'message': 'Regrouped play history.'}
|
||||||
|
else:
|
||||||
|
return {'result': 'error', 'message': 'Regrouping play history failed.'}
|
||||||
|
|
||||||
@cherrypy.expose
|
@cherrypy.expose
|
||||||
@cherrypy.tools.json_out()
|
@cherrypy.tools.json_out()
|
||||||
@requireAuth(member_of("admin"))
|
@requireAuth(member_of("admin"))
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue