mirror of
https://github.com/SickGear/SickGear.git
synced 2024-12-12 14:13:38 +00:00
8d9406d5fc
Add episode watched state system that integrates with Kodi, Plex, and/or Emby, instructions at Shows/History/Layout/"Watched". Add installable SickGear Kodi repository containing addon "SickGear Watched State Updater". Change add Emby setting for watched state scheduler at Config/Notifications/Emby/"Update watched interval". Change add Plex setting for watched state scheduler at Config/Notifications/Plex/"Update watched interval". Add API cmd=sg.updatewatchedstate, instructions for use are linked to in layout "Watched" at /history. Change history page table filter input values are saved across page refreshes. Change history page table filter inputs, accept values like "dvd or web" to only display both. Change history page table filter inputs, press 'ESC' key inside a filter input to reset it. Add provider activity stats to Shows/History/Layout/ drop down. Change move provider failures table from Manage/Media Search to Shows/History/Layout/Provider fails. Change sort provider failures by most recent failure, and with paused providers at the top. Change remove table form non-testing version 20007, that was reassigned.
121 lines
5.1 KiB
Cheetah
121 lines
5.1 KiB
Cheetah
#import sickbeard
|
|
#import datetime
|
|
#from sickbeard.common import (Overview, statusStrings, ARCHIVED, FAILED, IGNORED, SKIPPED,
|
|
SNATCHED, SNATCHED_ANY, UNKNOWN, WANTED, DOWNLOADED)
|
|
##
|
|
#set global $title = 'Episode Overview'
|
|
#set global $header = 'Episode Overview'
|
|
#set global $sbPath = '..'
|
|
#set global $topmenu = 'manage'
|
|
##
|
|
#import os.path
|
|
#include $os.path.join($sickbeard.PROG_DIR, 'gui/slick/interfaces/default/inc_top.tmpl')
|
|
|
|
#if $varExists('header')
|
|
<h1 class="header">$header</h1>
|
|
#else
|
|
<h1 class="title">$title</h1>
|
|
#end if
|
|
##
|
|
#if not $whichStatus or ($whichStatus and not $ep_counts)
|
|
##
|
|
#if $whichStatus:
|
|
<h3>no episodes have status <span class="grey-text">$statusStrings[$whichStatus].lower()</span></h3>
|
|
#end if
|
|
|
|
<form action="$sbRoot/manage/episodeStatuses" method="get">
|
|
|
|
Manage episodes with status
|
|
<select name="whichStatus" class="form-control form-control-inline input-sm" style="margin:0 10px">
|
|
|
|
#for $curStatus in [$SKIPPED, $UNKNOWN, $SNATCHED, $WANTED, $ARCHIVED, $IGNORED, $DOWNLOADED]:
|
|
<option value="$curStatus"#echo ('', ' selected="selected"')[$curStatus == $default_manage]#>$statusStrings[$curStatus]</option>
|
|
#end for
|
|
|
|
</select>
|
|
<input class="btn btn-inline" type="submit" value="Manage">
|
|
</form>
|
|
##
|
|
#else
|
|
#if $whichStatus in ($ARCHIVED, $IGNORED):
|
|
#set $row_class = 'good'
|
|
#elif $whichStatus == $SNATCHED:
|
|
#set $row_class = 'snatched'
|
|
#else
|
|
#set $row_class = $Overview.overviewStrings[$whichStatus]
|
|
#end if
|
|
|
|
#set $statusList = [$ARCHIVED, $IGNORED, $SKIPPED]
|
|
#if $DOWNLOADED == $whichStatus:
|
|
#set $statusList = [$ARCHIVED]
|
|
#elif $ARCHIVED == $whichStatus:
|
|
#set $statusList = [$SKIPPED, $DOWNLOADED, $ARCHIVED, $IGNORED]
|
|
#end if
|
|
#if $whichStatus in $statusList
|
|
$statusList.remove($whichStatus)
|
|
#end if
|
|
|
|
#if $whichStatus in $SNATCHED_ANY
|
|
$statusList.append($FAILED)
|
|
#end if
|
|
|
|
<script type="text/javascript" src="$sbRoot/js/manageEpisodeStatuses.js?v=$sbPID"></script>
|
|
|
|
<form action="$sbRoot/manage/changeEpisodeStatuses" method="post">
|
|
<input type="hidden" id="oldStatus" name="oldStatus" value="$whichStatus">
|
|
|
|
<h3><span class="grey-text">$ep_count</span> episode#echo ('s', '')[1 == $ep_count]# marked <span class="grey-text">$statusStrings[$whichStatus].lower()</span> in <span class="grey-text">${len($sorted_show_ids)}</span> show#echo ('s', '')[1 == len($sorted_show_ids)]#</h3>
|
|
|
|
<input type="hidden" id="row_class" value="$row_class">
|
|
|
|
<div class="form-group">
|
|
<span>Set checked shows/episodes to</span>
|
|
<select name="newStatus" class="form-control form-control-inline input-sm" style="margin:0 10px 0 5px">
|
|
#for $curStatus in $statusList:
|
|
<option value="$curStatus">$statusStrings[$curStatus]</option>
|
|
#end for
|
|
</select>
|
|
<input class="btn btn-inline go" type="submit" value="Go">
|
|
|
|
#if $DOWNLOADED != $whichStatus:
|
|
<span class="red-text" style="margin:0 0 0 30px">Override checked status to</span>
|
|
<select name="wantedStatus" class="form-control form-control-inline input-sm" style="margin:0 10px 0 5px">
|
|
<option value="$UNKNOWN">nothing</option>
|
|
<option value="$WANTED">$statusStrings[$WANTED]</option>
|
|
</select>
|
|
<input class="btn btn-inline go" type="submit" value="Go">
|
|
#end if
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<input type="button" class="btn btn-xs selectAllShows" value="Select all">
|
|
<input type="button" class="btn btn-xs unselectAllShows" value="Clear all">
|
|
<input type="button" class="btn btn-xs expandAll" value="Expand All Shows">
|
|
</div>
|
|
|
|
<table class="sickbeardTable manageTable" cellspacing="1" border="0" cellpadding="0">
|
|
<thead></thead>
|
|
<tbody>
|
|
#set $row = 0
|
|
#for $cur_indexer_id in $sorted_show_ids:
|
|
#if 0 == int($never_counts[$cur_indexer_id])
|
|
#set $output = '%d' % $ep_counts[$cur_indexer_id]
|
|
#elif $ep_counts[$cur_indexer_id] != $never_counts[$cur_indexer_id]
|
|
#set $diff = $ep_counts[$cur_indexer_id] - $never_counts[$cur_indexer_id]
|
|
#set $output = '%d' % $diff + ('', (' episode%s plus %s never with an airdate' % (('s', '')[1 == $ep_counts[$cur_indexer_id]], $never_counts[$cur_indexer_id])))[0 < $never_counts[$cur_indexer_id]]
|
|
#else
|
|
#set $output = '%s never with an airdate' % (('all %s %ss', '%s %s')[1 == $ep_counts[$cur_indexer_id]] % ($ep_counts[$cur_indexer_id], 'episode'))
|
|
#end if
|
|
<tr id="$cur_indexer_id" class="#echo ('odd', 'even')[$row % 2]##set $row+=1#">
|
|
<td><input type="checkbox" class="allCheck" id="allCheck-$cur_indexer_id" name="$cur_indexer_id-all"></td>
|
|
<td colspan="2" style="width:100%;text-align:left">
|
|
<a class="whitelink" href="$sbRoot/home/displayShow?show=$cur_indexer_id">$show_names[$cur_indexer_id]</a> <span style="color:#999">($output)</span><input type="button" class="pull-right get_more_eps btn" id="$cur_indexer_id-more" value="Expand"><input type="button" class="pull-right get_less_eps btn" id="$cur_indexer_id-less" value="Collapse">
|
|
</td>
|
|
</tr>
|
|
#end for
|
|
</tbody>
|
|
</table>
|
|
</form>
|
|
|
|
#end if
|
|
#include $os.path.join($sickbeard.PROG_DIR, 'gui/slick/interfaces/default/inc_bottom.tmpl')
|