mirror of
https://github.com/SickGear/SickGear.git
synced 2024-12-03 18:03:37 +00:00
c1fe671a82
* Change overhaul displayShow to ready for new features * Add section for show plot to displayShow * Add option to view show background on displayShow (transparent and opaque) for when background downloading is added (disabled) * Add option to collapse seasons and leave current season open on displayShow (disabled) * Add filesize to episode location qtip on displayShow * Change selected options from editShow will only show when enabled now on displayShow
584 lines
26 KiB
Cheetah
584 lines
26 KiB
Cheetah
#import sickbeard
|
|
#from sickbeard import subtitles, sbdatetime, network_timezones
|
|
#import sickbeard.helpers
|
|
#from sickbeard.common import *
|
|
#from sickbeard.helpers import anon_url
|
|
#from lib import subliminal
|
|
#import os.path, os
|
|
#import datetime
|
|
|
|
#set global $title = $show.name
|
|
#set global $topmenu = 'home'
|
|
#set $exceptions_string = ', '.join($show.exceptions)
|
|
#include $os.path.join($sickbeard.PROG_DIR, 'gui/slick/interfaces/default/inc_top.tmpl')
|
|
|
|
<script type="text/javascript" src="$sbRoot/js/lib/jquery.bookmarkscroll.js?$sbPID"></script>
|
|
|
|
<input type="hidden" id="sbRoot" value="$sbRoot" />
|
|
|
|
<script type="text/javascript" src="$sbRoot/js/displayShow.js?$sbPID"></script>
|
|
<script type="text/javascript" src="$sbRoot/js/plotTooltip.js?$sbPID"></script>
|
|
<script type="text/javascript" src="$sbRoot/js/sceneExceptionsTooltip.js?$sbPID"></script>
|
|
#if $sickbeard.USE_IMDB_INFO:
|
|
<script type="text/javascript" src="$sbRoot/js/ratingTooltip.js?$sbPID"></script>
|
|
#end if
|
|
<script type="text/javascript" src="$sbRoot/js/ajaxEpSearch.js?$sbPID"></script>
|
|
<script type="text/javascript" src="$sbRoot/js/ajaxEpSubtitles.js?$sbPID"></script>
|
|
<script type="text/javascript" src="$sbRoot/js/lib/jquery.collapser.min.js?$sbPID"></script>
|
|
<script type="text/javascript" charset="utf-8">
|
|
<!--
|
|
\$(document).ready(function(){
|
|
#set $fuzzydate = 'airdate'
|
|
#if $sickbeard.FUZZY_DATING:
|
|
fuzzyMoment({
|
|
containerClass : '.${fuzzydate}',
|
|
dateHasTime : false,
|
|
dateFormat : '${sickbeard.DATE_PRESET}',
|
|
timeFormat : '${sickbeard.TIME_PRESET}',
|
|
trimZero : #if $sickbeard.TRIM_ZERO then 'true' else 'false'#
|
|
});
|
|
#end if
|
|
#raw
|
|
$('.addQTip').each(function () {
|
|
$(this).css({'cursor':'help', 'text-shadow':'0px 0px 0.5px #666'});
|
|
$(this).qtip({
|
|
show: {solo:true},
|
|
position: {viewport:$(window), my:'left center', adjust:{ y: -10, x: 2 }},
|
|
style: {classes:'qtip-rounded qtip-shadow qtip-maxwidth'}
|
|
});
|
|
});
|
|
#end raw
|
|
#if $sickbeard.USE_IMDB_INFO:
|
|
\$.fn.generateStars = function() {
|
|
return this.each(function(i,e){\$(e).html(\$('<span/>').width(\$(e).text()*12));});
|
|
};
|
|
\$('.imdbstars').generateStars();
|
|
#end if
|
|
TVShowList = [${tvshow_id_csv}]
|
|
});
|
|
//-->
|
|
</script>
|
|
|
|
#if $sickbeard.DISPLAY_BACKGROUND:
|
|
|
|
<style type="text/css">
|
|
body{color:#fff}
|
|
th.row-seasonheader h3{color:#fff}
|
|
.tvshowImg{border-color:rgba(0,0,0,0.5)}
|
|
#if $sickbeard.THEME_NAME == 'light':
|
|
a,.footerhighlight{color:#C7DB40}
|
|
a:hover,a:focus{color:#9FAF33}
|
|
#end if
|
|
</style>
|
|
|
|
<div class="background-container">
|
|
<div style="background-image: url('<!-- background here -->');" class="background #if $sickbeard.DISPLAY_BACKGROUND_TRANSPARENT == 'transparent' then 'background-transparent' else ''#"></div>
|
|
</div>
|
|
#end if
|
|
|
|
<div class="pull-left form-inline">
|
|
Change Show:
|
|
<div class="navShow"><img id="prevShow" src="$sbRoot/images/prev.png" alt="<<" title="Prev Show" /></div>
|
|
<select id="pickShow" class="form-control form-control-inline input-sm">
|
|
#for $curShowList in $sortedShowLists:
|
|
#set $curShowType = $curShowList[0]
|
|
#set $curShowList = $curShowList[1]
|
|
|
|
#if 1 < len($sortedShowLists):
|
|
<optgroup label="$curShowType">
|
|
#end if
|
|
#for $curShow in $curShowList:
|
|
<option value="$curShow.indexerid" #if $curShow == $show then 'selected="selected"' else ''#>$curShow.name</option>
|
|
#end for
|
|
#if 1 < len($sortedShowLists):
|
|
</optgroup>
|
|
#end if
|
|
#end for
|
|
</select>
|
|
<div class="navShow"><img id="nextShow" src="$sbRoot/images/next.png" alt=">>" title="Next Show" /></div>
|
|
</div>
|
|
|
|
<div class="clearfix" style="margin-bottom:15px"></div>
|
|
|
|
#if $show_message:
|
|
<div class="alert alert-info">
|
|
$show_message
|
|
</div>
|
|
#end if
|
|
|
|
#if $sickbeard.DISPLAY_BACKGROUND:
|
|
#set $infotag = 'info-tag-bg'
|
|
#set $genretag = 'genre-tag-bg'
|
|
#else
|
|
#set $infotag = 'info-tag-nobg'
|
|
#set $genretag = 'genre-tag-nobg'
|
|
#end if
|
|
<div class="display-show-container">
|
|
<div id="posterCol" class="hidden-xs">
|
|
<a href="$sbRoot/showPoster/?show=$show.indexerid&which=poster" rel="dialog" title="View Poster for $show.name"><img src="$sbRoot/showPoster/?show=$show.indexerid&which=poster_thumb" class="tvshowImg" alt=""/></a>
|
|
</div>
|
|
|
|
<div id="showCol" class="#if $sickbeard.DISPLAY_BACKGROUND then 'display-details-transparent' else 'display-details'#">
|
|
#if int($show.paused) == 1:
|
|
<div class="paused paused-highlight">
|
|
<i class="sgicon-pause paused-outline"></i>
|
|
</div>
|
|
#end if
|
|
<div id="details-wrapper">
|
|
<div id="details-right">
|
|
#if $seasonResults:
|
|
##There is a special/season_0?##
|
|
#set $season_special = (0, 1)[0 == int($seasonResults[-1]['season'])]
|
|
|
|
#if not $sickbeard.DISPLAY_SHOW_SPECIALS and $season_special:
|
|
$seasonResults.pop(-1)
|
|
#end if
|
|
<div>
|
|
#if $season_special:
|
|
<strong>Display Specials: </strong>
|
|
#if sickbeard.DISPLAY_SHOW_SPECIALS:
|
|
<a class="inner" href="$sbRoot/toggleDisplayShowSpecials/?show=$show.indexerid">Hide</a>
|
|
#else:
|
|
<a class="inner" href="$sbRoot/toggleDisplayShowSpecials/?show=$show.indexerid">Show</a>
|
|
#end if
|
|
#end if
|
|
</div>
|
|
<div>
|
|
<strong>Season: </strong>
|
|
#if (len($seasonResults) > 11):
|
|
<select id="seasonJump" class="form-control form-control-inline input-sm">
|
|
<option value="jump">Jump to Season</option>
|
|
#for $seasonNum in $seasonResults:
|
|
<option value="#season-$seasonNum['season']">#if 0 == int($seasonNum['season']) then 'Specials' else 'Season ' + str($seasonNum['season'])#</option>
|
|
#end for
|
|
</select>
|
|
#else:
|
|
#for $seasonNum in $seasonResults:
|
|
#if 0 == int($seasonNum['season']):
|
|
<a href="#season-$seasonNum['season']">Specials</a>
|
|
#else:
|
|
<a href="#season-$seasonNum['season']">${str($seasonNum['season'])}</a>
|
|
#end if
|
|
#end for
|
|
#end if
|
|
</div>
|
|
#end if
|
|
</div>
|
|
|
|
<div id="details-top">
|
|
<div id="showtitle" data-showname="$show.name">
|
|
<h2 class="title" id="scene_exception_$show.indexerid"><span>$show.name</span></h2>
|
|
#if not $show.imdbid
|
|
#if $show.genre:
|
|
#for $genre in $show.genre[1:-1].replace('Science-Fiction','Sci-Fi').split('|')
|
|
<span class="label $genretag"><a href="<%= anon_url('http://www.imdb.com/search/title?at=0&genres=', genre.lower().replace('-','_'),'&sort=moviemeter,asc&title_type=tv_series') %>" target="_blank" title="View other popular $genre shows on imdb.com">$genre</a></span>
|
|
#end for
|
|
#end if
|
|
#end if
|
|
#if $sickbeard.USE_IMDB_INFO and 'genres' in $show.imdb_info and '' != $show.imdb_info['genres']:
|
|
#for $imdbgenre in $show.imdb_info['genres'].split('|')
|
|
<span class="label $genretag"><a href="<%= anon_url('http://www.imdb.com/search/title?at=0&genres=', imdbgenre.lower().replace('-','_'),'&sort=moviemeter,asc&title_type=tv_series') %>" target="_blank" title="View other popular $imdbgenre shows on imdb.com">$imdbgenre</a></span>
|
|
#end for
|
|
#end if
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="details-wrapper">
|
|
<div id="details-right">
|
|
<ul class="list-unstyled">
|
|
#if not $show.imdbid
|
|
#set $runtime = $show.runtime
|
|
#set $startyear = $show.startyear
|
|
#else
|
|
#if $sickbeard.USE_IMDB_INFO and 'countries' in $show.imdb_info:
|
|
#set $country = $show.imdb_info['countries']
|
|
#end if
|
|
#if $sickbeard.USE_IMDB_INFO and 'year' in $show.imdb_info:
|
|
#set $runtime = $show.imdb_info['runtimes']
|
|
#set $startyear = $show.imdb_info['year']
|
|
#end if
|
|
#end if
|
|
|
|
#set $_show = $show
|
|
<li><strong>Indexers: </strong>
|
|
#if $sickbeard.USE_IMDB_INFO and $show.imdbid
|
|
<a class="service" href="<%= anon_url('http://www.imdb.com/title/', _show.imdbid) %>" rel="noreferrer" onclick="window.open(this.href, '_blank'); return false;" title="http://www.imdb.com/title/$show.imdbid"><img alt="[imdb]" height="16" width="16" src="$sbRoot/images/imdb.png" /></a>
|
|
#end if
|
|
<a class="service" href="<%= anon_url(sickbeard.indexerApi(_show.indexer).config['show_url'], _show.indexerid) %>" onclick="window.open(this.href, '_blank'); return false;" title="$sickbeard.indexerApi($show.indexer).config['show_url']$show.indexerid"><img alt="$sickbeard.indexerApi($show.indexer).name" height="16" width="16" src="$sbRoot/images/$sickbeard.indexerApi($show.indexer).config['icon']" /></a>
|
|
#if $xem_numbering or $xem_absolute_numbering:
|
|
<a class="service" href="<%= anon_url('http://thexem.de/search?q=', _show.name) %>" rel="noreferrer" onclick="window.open(this.href, '_blank'); return false;" title="http://thexem.de/search?q-$show.name"><img alt="[xem]" height="16" width="16" src="$sbRoot/images/xem.png" /></a>
|
|
#end if
|
|
</li>
|
|
<li><strong>Premiered: </strong><span>$startyear</span>
|
|
#if $sickbeard.USE_IMDB_INFO and 'country_codes' in $show.imdb_info and '' != $show.imdb_info['country_codes']:
|
|
#for $country in $show.imdb_info['country_codes'].split('|')
|
|
<img class="flag" src="$sbRoot/images/flags/${$country}.png" width="16" height="11" />
|
|
#end for
|
|
#end if
|
|
</li>
|
|
#if $show.network and $show.airs:
|
|
<li><strong>Airs: </strong><span>$show.airs.replace('y','y,') #if not $network_timezones.test_timeformat($show.airs) then " <font color='#FF0000'><b>(invalid Timeformat)</b></font> " else ""#</span></li>
|
|
<li><strong>Network: </strong><span>$show.network</span></li>
|
|
#else if $show.network:
|
|
<li><strong>Network: </strong><span>$show.network</span></li>
|
|
#else if $show.airs:
|
|
<li><strong>Airs: </strong><span>$show.airs.replace('y','y,') #if not $network_timezones.test_timeformat($show.airs) then " <font color='#FF0000'><b>(invalid Timeformat)</b></font> " else ""#</span></li>
|
|
#end if
|
|
<li><strong>Runtime: </strong><span>$runtime minutes</span></li>
|
|
#if '' != $show.status:
|
|
<li><strong>Status: </strong><span>$show.status</span></li>
|
|
#end if
|
|
#if $sickbeard.USE_IMDB_INFO and 'rating' in $show.imdb_info
|
|
#if '' != $show.imdb_info['votes']
|
|
#set $rating_tip = '%s of 10 stars<br />%s votes' % (str($show.imdb_info['rating']), str($show.imdb_info['votes']))
|
|
<li><strong>IMDB Rating: </strong><span class="imdbstars" qtip-content="$rating_tip">$show.imdb_info['rating']</span></li>
|
|
#else
|
|
<li><strong>IMDB Rating: </strong><span>No votes available</span></li>
|
|
#end if
|
|
#end if
|
|
#set $anyQualities, $bestQualities = $Quality.splitQuality(int($show.quality))
|
|
#if $show.quality in $qualityPresets:
|
|
<li><strong>Quality: </strong><span class="quality $qualityPresetStrings[$show.quality]">$qualityPresetStrings[$show.quality]</span></li>
|
|
#else:
|
|
#if $anyQualities:
|
|
<li><strong>Initial: </strong><%=", ".join([Quality.qualityStrings[x] for x in sorted(anyQualities)])%></span></li>
|
|
#end if
|
|
#if $bestQualities:
|
|
<li><strong>Replace with: </strong><%=", ".join([Quality.qualityStrings[x] for x in sorted(bestQualities)])%></span></li>
|
|
#end if
|
|
#end if
|
|
</ul>
|
|
</div>
|
|
|
|
<div id="details-left">
|
|
<div class="details-plot #if $show.overview == '' then 'no-plot' else ''#">
|
|
#if $show.overview != '':
|
|
$show.overview
|
|
#else
|
|
No plot overview available.
|
|
#end if
|
|
</div>
|
|
|
|
<div id="details-bottom">
|
|
<span class="label $infotag"><img src="$sbRoot/images/flags/${show.lang}.png" width="16" height="11" alt="$show.lang" title="$show.lang" style="margin-top: -1px;" /></span>
|
|
#if $showLoc[1]:
|
|
<span class="label $infotag">$showLoc[0]</span>
|
|
#else:
|
|
<span class="label $infotag" style="color: red;">$showLoc[0]</span>
|
|
#end if
|
|
<span class="label $infotag">$sickbeard.helpers.human(sickbeard.helpers.get_size($showLoc[0]))</span>
|
|
#set $filecount = $epCounts[$Overview.QUAL] + $epCounts[$Overview.GOOD]
|
|
<span class="label $infotag">$filecount Files</span>
|
|
#if $show.exceptions:
|
|
<span class="label $infotag addQTip" title="$exceptions_string.replace(', ','<br>')">Scene Names</span>
|
|
#end if
|
|
#if $sickbeard.USE_SUBTITLES
|
|
#if int($show.subtitles) == 1:
|
|
<span class="label $infotag">Subtitles</span>
|
|
#end if
|
|
#end if
|
|
#if $show.flatten_folders == 1 or $sickbeard.NAMING_FORCE_FOLDERS:
|
|
<span class="label $infotag">Flat Folders</span>
|
|
#end if
|
|
#if int($show.air_by_date) == 1:
|
|
<span class="label $infotag">Air-by-Date</span>
|
|
#end if
|
|
#if int($show.is_sports) == 1:
|
|
<span class="label $infotag">Sports</span>
|
|
#end if
|
|
#if int($show.is_anime) == 1:
|
|
<span class="label $infotag">Anime</span>
|
|
#end if
|
|
#if int($show.dvdorder) == 1:
|
|
<span class="label $infotag">DVD Order</span>
|
|
#end if
|
|
#if int($show.scene) == 1:
|
|
<span class="label $infotag">Scene Numbering</span>
|
|
#end if
|
|
#if $anyQualities + $bestQualities
|
|
#if int($show.archive_firstmatch) == 1
|
|
<span class="label $infotag">Archive First Match</span>
|
|
#end if
|
|
#end if
|
|
#if $show.rls_require_words:
|
|
<span class="label $infotag addQTip" title="#echo $show.rls_require_words.replace(',','<br>')#">Required Words</span>
|
|
#end if
|
|
#if $show.rls_ignore_words:
|
|
<span class="label $infotag addQTip" title="#echo $show.rls_ignore_words.replace(',','<br>')#">Ignored Words</span>
|
|
#end if
|
|
#if $bwl and $bwl.whitelist:
|
|
<span class="label $infotag addQTip" title="#echo ', '.join($bwl.whitelist).replace(',','<br>')#">Wanted Group#if len($bwl.whitelist)>1 then "s" else ""#</span>
|
|
#end if
|
|
#if $bwl and $bwl.blacklist:
|
|
<span class="label $infotag addQTip" title="#echo ', '.join($bwl.blacklist).replace(',','<br>')#">Unwanted Group#if len($bwl.blacklist)>1 then "s" else ""#</span>
|
|
#end if
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="clearfix"></div>
|
|
|
|
<div class="pull-left">
|
|
<p style="margin-bottom:5px">Change selected episodes to</p>
|
|
<select id="statusSelect" class="form-control form-control-inline input-sm">
|
|
#for $curStatus in [$WANTED, $SKIPPED, $ARCHIVED, $IGNORED, $FAILED] + sorted($Quality.DOWNLOADED):
|
|
#if $DOWNLOADED == $curStatus:
|
|
#continue
|
|
#end if
|
|
<option value="$curStatus">$statusStrings[$curStatus]</option>
|
|
#end for
|
|
</select>
|
|
<input type="hidden" id="showID" value="$show.indexerid" />
|
|
<input type="hidden" id="indexer" value="$show.indexer" />
|
|
<input class="btn btn-inline" type="button" id="changeStatus" value="Go" />
|
|
</div>
|
|
|
|
<div class="pull-right clearfix" id="checkboxControls">
|
|
<div style="padding-bottom: 5px;">
|
|
<label for="wanted"><span class="wanted"><input type="checkbox" id="wanted" checked="checked" /> Wanted: <b>$epCounts[$Overview.WANTED]</b></span></label>
|
|
<label for="qual"><span class="qual"><input type="checkbox" id="qual" checked="checked" /> Low Quality: <b>$epCounts[$Overview.QUAL]</b></span></label>
|
|
<label for="good"><span class="good"><input type="checkbox" id="good" checked="checked" /> Downloaded: <b>$epCounts[$Overview.GOOD]</b></span></label>
|
|
<label for="skipped"><span class="skipped"><input type="checkbox" id="skipped" checked="checked" /> Skipped: <b>$epCounts[$Overview.SKIPPED]</b></span></label>
|
|
<label for="snatched"><span class="snatched"><input type="checkbox" id="snatched" checked="checked" /> Snatched: <b>$epCounts[$Overview.SNATCHED]</b></span></label>
|
|
</div>
|
|
|
|
<div class="pull-right" >
|
|
<button class="btn btn-xs seriesCheck">Select Filtered Episodes</button>
|
|
<button class="btn btn-xs clearAll">Clear All</button>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="clearfix"></div>
|
|
|
|
#set $curSeason = -1
|
|
#set $seasonCount = 0
|
|
#set $odd = 0
|
|
|
|
#for $epResult in $sqlResults:
|
|
#set $epStr = str($epResult['season']) + 'x' + str($epResult['episode'])
|
|
#if not $epStr in $epCats:
|
|
#continue
|
|
#end if
|
|
|
|
#if not $sickbeard.DISPLAY_SHOW_SPECIALS and 0 == int($epResult['season']):
|
|
#continue
|
|
#end if
|
|
|
|
#set $scene = False
|
|
#set $scene_anime = False
|
|
#if not $show.air_by_date and not $show.is_sports and not $show.is_anime and $show.is_scene:
|
|
#set $scene = True
|
|
#elif not $show.air_by_date and not $show.is_sports and $show.is_anime and $show.is_scene:
|
|
#set $scene_anime = True
|
|
#end if
|
|
|
|
#set ($dfltSeas, $dfltEpis, $dfltAbsolute) = (0, 0, 0)
|
|
|
|
#if (epResult['season'], epResult['episode']) in $xem_numbering:
|
|
#set ($dfltSeas, $dfltEpis) = $xem_numbering[(epResult['season'], epResult['episode'])]
|
|
#end if
|
|
|
|
#if epResult['absolute_number'] in $xem_absolute_numbering:
|
|
#set $dfltAbsolute = $xem_absolute_numbering[epResult['absolute_number']]
|
|
#end if
|
|
|
|
#if epResult['absolute_number'] in $scene_absolute_numbering:
|
|
#set $scAbsolute = $scene_absolute_numbering[epResult['absolute_number']]
|
|
#set $dfltAbsNumbering = False
|
|
#else
|
|
#set $scAbsolute = $dfltAbsolute
|
|
#set $dfltAbsNumbering = True
|
|
#end if
|
|
|
|
#if (epResult['season'], epResult['episode']) in $scene_numbering:
|
|
#set ($scSeas, $scEpis) = $scene_numbering[(epResult['season'], epResult['episode'])]
|
|
#set $dfltEpNumbering = False
|
|
#else
|
|
#set ($scSeas, $scEpis) = ($dfltSeas, $dfltEpis)
|
|
#set $dfltEpNumbering = True
|
|
#end if
|
|
|
|
#if int($epResult['season']) != $curSeason:
|
|
|
|
<table class="sickbeardTable display-show #if $sickbeard.DISPLAY_BACKGROUND then 'display-season' else ''#" cellspacing="0" border="0" cellpadding="0">
|
|
<tr id="season-$epResult['season']">
|
|
<th class="row-seasonheader" colspan="13" style="width: auto;">
|
|
|
|
#if $sickbeard.DISPLAY_ALL_SEASONS == False and $seasonCount >= 1:
|
|
<button id="showseason-$epResult['season']" type="button" class="btn btn-default pull-right" data-toggle="collapse" data-target="#collapseSeason-$epResult['season']"><span class="sgicon-arrowdown"></span> Show Episodes</button>
|
|
<script type="text/javascript">
|
|
<!--
|
|
\$(function() {
|
|
\$('#collapseSeason-$epResult['season']').on('hide.bs.collapse', function () {
|
|
\$('#showseason-$epResult['season']').html('<span class="sgicon-arrowdown"></span> Show Episodes');
|
|
})
|
|
\$('#collapseSeason-$epResult['season']').on('show.bs.collapse', function () {
|
|
\$('#showseason-$epResult['season']').html('<span class="sgicon-arrowup"></span> Hide Episodes');
|
|
})
|
|
});
|
|
//-->
|
|
</script>
|
|
#end if
|
|
<h3><a name="season-$epResult['season']"></a>#if 0 == int($epResult['season']) then 'Specials' else 'Season ' + str($epResult['season'])# <!-- Download count <span class="season-status"><b>[</b> <span class="footerhighlight">0</span> / <span class="footerhighlight">0</span> <b>]</b></span> --></h3>
|
|
</th>
|
|
</tr>
|
|
|
|
#set $seasonCount = $seasonCount + 1
|
|
#if $sickbeard.DISPLAY_ALL_SEASONS == False and $seasonCount >= 2:
|
|
<tbody class="collapse" id="collapseSeason-$epResult['season']">
|
|
#end if
|
|
|
|
<tr id="season-$epResult['season']-cols" class="seasoncols">
|
|
<th class="col-checkbox"><input type="checkbox" class="seasonCheck" id="$epResult['season']" /></th>
|
|
<th class="col-metadata">NFO</th>
|
|
<th class="col-metadata">TBN</th>
|
|
<th class="col-ep">Episode</th>
|
|
#if $show.is_anime:
|
|
<th class="col-ep">Absolute</th>
|
|
#end if
|
|
#if $scene:
|
|
<th class="col-ep">Scene</th>
|
|
#end if
|
|
#if $scene_anime:
|
|
<th class="col-ep">Scene Absolute</th>
|
|
#end if
|
|
<th class="col-name">Name</th>
|
|
<th class="col-airdate">Airdate</th>
|
|
#if $sickbeard.USE_SUBTITLES and $show.subtitles:
|
|
<th class="col-subtitles">Subtitles</th>
|
|
#end if
|
|
<th class="col-status">Status</th>
|
|
<th class="col-search">Search</th>
|
|
</tr>
|
|
#set $curSeason = int($epResult['season'])
|
|
#end if
|
|
|
|
#set $epLoc = $epResult['location']
|
|
#set never_aired = 0 < $curSeason and 1 == int($epResult['airdate'])
|
|
|
|
<tr class="#echo ($Overview.overviewStrings[$epCats[$epStr]], 'airdate-never')[$never_aired]##echo ('', ' archived')[ARCHIVED == int($epResult['status'])]# season-$curSeason seasonstyle">
|
|
|
|
<td class="col-checkbox">
|
|
#if $UNAIRED != int($epResult['status']) and not $never_aired
|
|
<input type="checkbox" class="epCheck" id="<%=str(epResult['season'])+'x'+str(epResult['episode'])%>" name="<%=str(epResult['season']) +'x'+str(epResult['episode']) %>" />
|
|
#end if
|
|
</td>
|
|
|
|
<td align="center"><img src="$sbRoot/images/#if 1 == $epResult['hasnfo'] then 'nfo.gif" alt="Y' else 'nfo-no.gif" alt="N'#" width="23" height="11" /></td>
|
|
|
|
<td align="center"><img src="$sbRoot/images/#if 1 == $epResult['hastbn'] then 'tbn.gif" alt="Y' else 'tbn-no.gif" alt="N'#" width="23" height="11" /></td>
|
|
|
|
<td align="center">
|
|
#if $epLoc and $show._location and $epLoc.lower().startswith($show._location.lower()):
|
|
#set $epLoc = $epLoc[len($show._location)+1:]
|
|
#elif $epLoc and (not $epLoc.lower().startswith($show._location.lower()) or not $show._location):
|
|
#set $epLoc = $epLoc
|
|
#end if
|
|
|
|
#if '' != $epLoc and None != $epLoc:
|
|
<span title="$epLoc - <strong>$sickbeard.helpers.human($epResult['file_size'])</strong>" class="addQTip">$epResult["episode"]</span>
|
|
#else
|
|
$epResult['episode']
|
|
#end if
|
|
</td>
|
|
|
|
#if $show.is_anime:
|
|
<td align="center">$epResult['absolute_number']</td>
|
|
#end if
|
|
|
|
#if $scene:
|
|
<td align="center">
|
|
<input type="text" placeholder="<%=str(dfltSeas) + 'x' + str(dfltEpis)%>" size="6" maxlength="8"
|
|
class="sceneSeasonXEpisode form-control input-scene" data-for-season="$epResult['season']" data-for-episode="$epResult['episode']"
|
|
id="sceneSeasonXEpisode_$show.indexerid<%='_'+str(epResult['season'])+'_'+str(epResult['episode'])%>"
|
|
title="Change the value here if scene numbering differs from the indexer episode numbering"
|
|
#if $dfltEpNumbering:
|
|
value=""
|
|
#else
|
|
value="<%=str(scSeas) + 'x' + str(scEpis)%>"
|
|
#end if
|
|
style="padding: 0; text-align: center; max-width: 60px;" />
|
|
</td>
|
|
#elif $scene_anime:
|
|
<td align="center">
|
|
<input type="text" placeholder="<%=str(dfltAbsolute)%>" size="6" maxlength="8"
|
|
class="sceneAbsolute form-control input-scene" data-for-absolute="$epResult['absolute_number']"
|
|
id="sceneAbsolute_$show.indexerid<%='_'+str(epResult['absolute_number'])%>"
|
|
title="Change the value here if scene absolute numbering differs from the indexer absolute numbering"
|
|
#if $dfltAbsNumbering:
|
|
value=""
|
|
#else
|
|
value="<%=str(scAbsolute)%>"
|
|
#end if
|
|
style="padding: 0; text-align: center; max-width: 60px;" />
|
|
</td>
|
|
#end if
|
|
|
|
<td class="col-name">
|
|
#if '' != $epResult['description'] and None != $epResult['description']:
|
|
<img src="$sbRoot/images/info32.png" width="16" height="16" class="plotInfo" alt="" id="plot_info_$show.indexerid<%='_' + str(epResult['season']) + '_' + str(epResult['episode'])%>" />
|
|
#else:
|
|
<img src="$sbRoot/images/info32.png" width="16" height="16" class="plotInfoNone" alt="" />
|
|
#end if
|
|
$epResult['name']
|
|
</td>
|
|
|
|
<td class="col-airdate">
|
|
<span class="${fuzzydate}">#if 1 == int($epResult['airdate']) then 'never' else $sbdatetime.sbdatetime.sbfdate($sbdatetime.sbdatetime.convert_to_setting($network_timezones.parse_date_time($epResult['airdate'], $show.airs, $show.network)))#</span>
|
|
</td>
|
|
|
|
#if $sickbeard.USE_SUBTITLES and $show.subtitles:
|
|
<td class="col-subtitles" align="center">
|
|
#if $epResult['subtitles']:
|
|
#for $sub_lang in subliminal.language.language_list($epResult['subtitles'].split(',')):
|
|
#if '' != sub_lang.alpha2
|
|
<img src="$sbRoot/images/flags/${sub_lang.alpha2}.png" width="16" height="11" alt="${sub_lang}" />
|
|
#end if
|
|
#end for
|
|
#end if
|
|
</td>
|
|
#end if
|
|
|
|
#set $curStatus, $curQuality = $Quality.splitCompositeStatus(int($epResult['status']))
|
|
#if Quality.NONE != $curQuality:
|
|
<td class="col-status">$statusStrings[$curStatus] <span class="quality $Quality.qualityStrings[$curQuality].replace('720p','HD720p').replace('1080p','HD1080p').replace('RawHD TV', 'RawHD').replace('HD TV', 'HD720p')">$Quality.qualityStrings[$curQuality]</span></td>
|
|
#else:
|
|
<td class="col-status">$statusStrings[$curStatus]</td>
|
|
#end if
|
|
|
|
<td class="col-search">
|
|
#if 0 != int($epResult['season']):
|
|
#if (int($epResult['status']) in $Quality.SNATCHED or int($epResult['status']) in $Quality.DOWNLOADED) and $sickbeard.USE_FAILED_DOWNLOADS:
|
|
<a class="epRetry" id="<%=str(epResult['season'])+'x'+str(epResult['episode'])%>" name="<%=str(epResult['season']) +'x'+str(epResult['episode']) %>" href="retryEpisode?show=$show.indexerid&season=$epResult['season']&episode=$epResult['episode']"><img src="$sbRoot/images/search16.png" height="16" alt="retry" title="Retry Download" /></a>
|
|
#else:
|
|
<a class="epSearch" id="<%=str(epResult['season'])+'x'+str(epResult['episode'])%>" name="<%=str(epResult['season']) +'x'+str(epResult['episode']) %>" href="searchEpisode?show=$show.indexerid&season=$epResult['season']&episode=$epResult['episode']"><img src="$sbRoot/images/search16.png" width="16" height="16" alt="search" title="Manual Search" /></a>
|
|
#end if
|
|
#end if
|
|
|
|
#if $sickbeard.USE_SUBTITLES and $show.subtitles and len(set(str($epResult['subtitles']).split(',')).intersection(set($subtitles.wantedLanguages()))) < len($subtitles.wantedLanguages()) and $epResult['location']
|
|
<a class="epSubtitlesSearch" href="searchEpisodeSubtitles?show=$show.indexerid&season=$epResult['season']&episode=$epResult['episode']"><img src="$sbRoot/images/closed_captioning.png" height="16" alt="search subtitles" title="Search Subtitles" /></a>
|
|
#end if
|
|
</td>
|
|
</tr>
|
|
#end for
|
|
#if $sickbeard.DISPLAY_ALL_SEASONS == False and $seasonCount > 1:
|
|
</tbody>
|
|
#end if
|
|
</table>
|
|
|
|
<script>
|
|
\$(document).ready(function(){
|
|
\$('.details-plot').collapser({
|
|
mode: 'lines',
|
|
truncate: 10,
|
|
showText: '<span class="pull-right moreless"><i class="sgicon-arrowdown"></i> More</span>',
|
|
hideText: '<span class="pull-right moreless"><i class="sgicon-arrowup"></i> Less</span>',
|
|
showClass: 'show-class'
|
|
});
|
|
});
|
|
</script>
|
|
|
|
#include $os.path.join($sickbeard.PROG_DIR, 'gui/slick/interfaces/default/inc_bottom.tmpl')
|