#import sickbeard #import datetime #import re #from sickbeard.common import * #from sickbeard import sbdatetime #from sickbeard.helpers import anon_url #from sickbeard.indexers.indexer_config import INDEXER_TVDB, INDEXER_IMDB <% def sg_var(varname, default=False): return getattr(sickbeard, varname, default) %>#slurp# <% def sg_str(varname, default=''): return getattr(sickbeard, varname, default) %>#slurp# ## #set global $title = 'Episode View' #set global $header = 'Episode View' #set global $sbPath = '..' #set global $topmenu = 'episodeView' #set $css = $getVar('css', '') #set $has_art = $getVar('has_art', None) #set $restart = 'Restart SickGear for new features on this page' #set $show_message = (None, $restart)[not $varExists('fanart')] #set global $page_body_attr = 'episode-view" class="' + $css ## #import os.path #include $os.path.join($sg_str('PROG_DIR'), 'gui/slick/interfaces/default/inc_top.tmpl') #set $sort = $sg_var('EPISODE_VIEW_SORT') #set $table_sort_header_codes = {'time': 0, 'show': 1, 'network': 4} #if $sort not in $table_sort_header_codes #set $sort = 'time' #end if #if $layout in ['daybyday', 'list'] #end if #if 'daybyday' != $layout #else #end if #if $show_message
$show_message
#end if #if $varExists('header')

$header

#else

$title

#end if #set $selected = ' selected="selected"'
Layout   Sort #if 'daybyday' == $layout   #end if By #if 'daybyday' == $layout #end if   View Paused
#if 'daybyday' != $layout Key: Missed Current Future Distant #end if #if 'daybyday' == $layout Collapse Cards Expand Cards #end if Subscribe
#if 'list' == $layout #set $show_div = 'listing-default' #for $cur_result in $sql_results #set $cur_indexer = int($cur_result['indexer']) #set $runtime = $cur_result['runtime'] #set $display_name = (re.sub('^((?:A(?!\s+to)n?)|The)\s(\w)', r'\1 \2', $cur_result['show_name']), $cur_result['show_name'])[$sg_var('SORT_ARTICLE')] #if int($cur_result['paused']) and not $sg_var('EPISODE_VIEW_DISPLAY_PAUSED') #continue #end if #set $cur_ep_airdate = $cur_result['localtime'].date() #if $runtime #set $cur_ep_enddate = $cur_result['localtime'] + datetime.timedelta(minutes = $runtime) #if $cur_ep_enddate < $today #set $show_div = 'listing-overdue' #elif $cur_ep_airdate >= $next_week.date() #set $show_div = 'listing-toofar' #elif $cur_ep_airdate >= $today.date() and $cur_ep_airdate < $next_week.date() #if $cur_ep_airdate == $today.date() #set $show_div = 'listing-current' #else #set $show_div = 'listing-default' #end if #end if #end if #set $show_id = '%s_%sx%s' % (str($cur_result['showid']), str($cur_result['season']), str($cur_result['episode'])) ## forced to use a div to wrap airdate, the column sort went crazy with a span #end for
Airdate Show Next Ep Next Ep Name Network Quality Indexers Search
$sbdatetime.sbdatetime.sbfdatetime($cur_result['localtime']).decode($sickbeard.SYS_ENCODING)
$cur_result['localtime'].strftime('%Y%m%d%H%M')
$display_name #if int($cur_result['paused']) [paused] #end if <%= 'S%02iE%02i' % (int(cur_result['season']), int(cur_result['episode'])) %> #if $cur_result['description'] #else #end if $cur_result['name'] $cur_result['network'] #if int($cur_result['quality']) in $qualityPresets $qualityPresetStrings[int($cur_result['quality'])] #else Custom #end if #if $sg_var('USE_IMDB_INFO') and $cur_result['imdb_id'] [$sickbeard.indexerApi(INDEXER_IMDB).config.get('name')] #end if $sickbeard.indexerApi($cur_indexer).name [search]
 
#else if $layout in ['banner', 'poster'] #set $cur_segment = None #set $too_late_header = False #set $missed_header = False #set $today_header = False #set $show_div = 'ep_listing listing-default'
#for $x, $cur_result in $enumerate($sql_results) #set $add_space = ('', ' add-space')[bool($x)] #set $cur_indexer = int($cur_result['indexer']) #set $display_name = (re.sub('^((?:A(?!\s+to)n?)|The)\s(\w)', r'\1 \2', $cur_result['show_name']), $cur_result['show_name'])[$sg_var('SORT_ARTICLE')] ## #if int($cur_result['paused']) and not $sg_var('EPISODE_VIEW_DISPLAY_PAUSED') #continue #end if ## #set $runtime = $cur_result['runtime'] ## #if 'network' == $sort ## #set $show_network = $cur_result['network'] if $cur_result['network'] else 'no network' #if $cur_segment != $show_network #set $cur_segment = $cur_result['network']

$show_network

#end if #set $cur_ep_airdate = $cur_result['localtime'].date() ## #if $runtime #set $cur_ep_enddate = $cur_result['localtime'] + datetime.timedelta(minutes = $runtime) #if $cur_ep_enddate < $today #set $show_div = 'ep_listing listing-overdue' #elif $cur_ep_airdate >= $next_week.date() #set $show_div = 'ep_listing listing-toofar' #elif $cur_ep_enddate >= $today and $cur_ep_airdate < $next_week.date() #if $cur_ep_airdate == $today.date() #set $show_div = 'ep_listing listing-current' #else #set $show_div = 'ep_listing listing-default' #end if #end if #end if #elif 'time' == $sort ## #set $cur_ep_airdate = $cur_result['localtime'].date() ## #if $cur_segment != $cur_ep_airdate #if $runtime #set $cur_ep_enddate = $cur_result['localtime'] + datetime.timedelta(minutes = $runtime) #if $cur_ep_enddate < $today and $cur_ep_airdate != $today.date() and not $missed_header

Missed

#set $missed_header = True #elif $cur_ep_airdate >= $next_week.date() and not $too_late_header

Later

#set $too_late_header = True #elif $cur_ep_enddate >= $today and $cur_ep_airdate < $next_week.date() #if $cur_ep_airdate == $today.date()

$sbdatetime.sbdatetime.sbfdate($cur_ep_airdate, '%A').decode($sickbeard.SYS_ENCODING).capitalize() [Today]

#set $today_header = True #else

$sbdatetime.sbdatetime.sbfdate($cur_ep_airdate, '%A').decode($sickbeard.SYS_ENCODING).capitalize()

#end if #end if #end if #set $cur_segment = $cur_ep_airdate #end if ## #if $cur_ep_airdate == $today.date() and not $today_header

$sbdatetime.sbdatetime.sbfdate($cur_ep_airdate, '%A').decode($sickbeard.SYS_ENCODING).capitalize() [Today]

#set $today_header = True #end if ## #if $runtime #set $cur_ep_enddate = $cur_result['localtime'] + datetime.timedelta(minutes = $runtime) #if $cur_ep_enddate < $today #set $show_div = 'ep_listing listing-overdue' #elif $cur_ep_airdate >= $next_week.date() #set $show_div = 'ep_listing listing-toofar' #elif $cur_ep_enddate >= $today and $cur_ep_airdate < $next_week.date() #if $cur_ep_airdate == $today.date() #set $show_div = 'ep_listing listing-current' #else #set $show_div = 'ep_listing listing-default' #end if #end if #end if #elif 'show' == $sort #set $cur_ep_airdate = $cur_result['localtime'].date() #slurp #if $runtime #set $cur_ep_enddate = $cur_result['localtime'] + datetime.timedelta(minutes = $runtime) #if $cur_ep_enddate < $today #set $show_div = 'ep_listing listing-overdue listingradius' #elif $cur_ep_airdate >= $next_week.date() #set $show_div = 'ep_listing listing-toofar listingradius' #elif $cur_ep_enddate >= $today and $cur_ep_airdate < $next_week.date() #if $cur_ep_airdate == $today.date() #set $show_div = 'ep_listing listing-current listingradius' #else #set $show_div = 'ep_listing listing-default listingradius' #end if #end if #end if #end if #slurp
#if 'banner' == $layout #end if
$display_name #if int($cur_result['paused']) [paused] #end if #if $sg_var('USE_IMDB_INFO') and $cur_result['imdb_id'] [$sickbeard.indexerApi(INDEXER_IMDB).name] #end if $sickbeard.indexerApi($cur_indexer).name [search]
Next Episode: <%= 'S%02iE%02i' % (int(cur_result['season']), int(cur_result['episode'])) %> - $cur_result['name']
Airdate: $sbdatetime.sbdatetime.sbfdatetime($cur_result['localtime']).decode($sickbeard.SYS_ENCODING)<%= ('', ' on %s' % str(cur_result['network']))[None is not cur_result['network']] %>
Quality: #if int($cur_result['quality']) in $qualityPresets $qualityPresetStrings[int($cur_result['quality'])] #else Custom #end if
#if $cur_result['description'] Plot:
$cur_result['description']
#else Plot: #end if
#end for
#end if ## #if 'daybyday' == $layout ## #set $shows_overdue = [] #set $shows_soon = [] #set $shows_future = [] #set $onair = [] #set $backart = [] #set $state_overdue = 'listing-overdue' #set $state_current = 'listing-current' #set $state_soon = 'listing-soon' #set $state_future = 'listing-default' #for $cur_result in $sql_results #if int($cur_result['paused']) and not $sg_var('EPISODE_VIEW_DISPLAY_PAUSED') #continue #end if #if $cur_result['runtime'] #set $air_date = $cur_result['localtime'].date() #set $end_datetime = $cur_result['localtime'] + datetime.timedelta(minutes = $cur_result['runtime']) #if $air_date >= $next_week.date() #set $cur_result['state'] = '' $shows_future.append($cur_result) #elif $cur_result['localtime'] > $today #set $cur_result['state'] = '' $shows_soon.append($cur_result) #set $dif = $cur_result['localtime'] - $today #set $until_hrs = (divmod($dif.days * 86400 + $dif.seconds, 60)[0]) / 60 #if 24 >= $until_hrs and $cur_result['showid'] not in $backart $backart.append($cur_result['showid']) #end if #elif $end_datetime > $today #set $cur_result['state'] = $state_current #set $cur_result['state-title'] = 'Currently On Air' $shows_soon.append($cur_result) #if $cur_result['showid'] not in $onair $onair.append($cur_result['showid']) #end if #elif $air_date == $today.date() #set $cur_result['state'] = $state_overdue #set $cur_result['state-title'] = 'Overdue' $shows_soon.append($cur_result) #else #set $cur_result['state'] = $state_overdue #set $cur_result['state-title'] = 'Overdue' $shows_overdue.append($cur_result) #end if #else #set $cur_result['state'] = $state_soon #set $cur_result['state-title'] = '' $shows_soon.append($cur_result) #end if #end for ##set $state_init = [int(bool($shows_overdue)), ($state_soon, $state_overdue)[0 < len($shows_overdue)]] ## default overdue #set $state_init = [int(bool($shows_overdue)), $state_soon] ## default soon #set $dates_future = sorted({$i['localtime'].date():$i for $i in $shows_future}) #set $rounded_week = len($dates_future)/7*7 + int(bool(len($dates_future)%7))*7 #set $dates_future += [$dates_future[-1] + datetime.timedelta(days = 1 + $i) for $i in range($rounded_week - len($dates_future))] #set $num_weeks = $rounded_week/7 #slurp #if $varExists('fanart')
#set $backlist = $backart #if $onair #import random $random.shuffle($onair) #set $backlist = $onair #end if #if len($backlist) #end if
#end if
#end if
#raw #end raw #if $varExists('fanart') and $layout in 'daybyday' #include $os.path.join($sg_str('PROG_DIR'), 'gui/slick/interfaces/default/inc_livepanel.tmpl') #end if #include $os.path.join($sg_str('PROG_DIR'), 'gui/slick/interfaces/default/inc_bottom.tmpl')