mirror of
https://github.com/SickGear/SickGear.git
synced 2024-12-27 05:03:37 +00:00
32987134ba
Cleanup most init warnings. Cleanup some vars, pythonic instead of js. Some typos and python var/func names for Scheduler. Remove legacy handlers deprecated in 2020. Remove some legacy tagged stuff. Cleanup ConfigParser and 23.py Change cleanup vendored scandir. Remove redundant pkg_resources.py in favour of the vendor folder. Remove backports. Remove trakt checker. Change remove redundant WindowsSelectorEventLoopPolicy from webserveInit. Cleanup varnames and providers Various minor tidy ups to remove ide warnings.
442 lines
22 KiB
Cheetah
442 lines
22 KiB
Cheetah
#import sickgear
|
|
#import lib.adba as adba
|
|
#from sickgear import (anime, common, helpers, scene_exceptions)
|
|
#from sickgear.helpers import anon_url, generate_word_str
|
|
#from lib import exceptions_helper as exceptions
|
|
#from sickgear.tv import TVidProdid
|
|
<% def sg_var(varname, default=False): return getattr(sickgear, varname, default) %>#slurp#
|
|
<% def sg_str(varname, default=''): return getattr(sickgear, varname, default) %>#slurp#
|
|
##
|
|
#set global $title = 'Edit ' + getattr($show_obj, 'unique_name', $show_obj.name)
|
|
#set global $header = $show_obj.name
|
|
#set global $sbPath = '..'
|
|
#set global $topmenu = 'home'
|
|
#set $css = $getVar('css', 'reg')
|
|
#set $has_art = $getVar('has_art', None)
|
|
#set $restart = 'Restart SickGear for new features on this page'
|
|
#set $show_message = ($show_message, $restart)[None is $has_art]
|
|
#set global $page_body_attr = 'edit-show" class="' + $css
|
|
##
|
|
#import os.path
|
|
#from _23 import quote_plus
|
|
#from six import iteritems
|
|
#include $os.path.join($sg_str('PROG_DIR'), 'gui/slick/interfaces/default/inc_top.tmpl')
|
|
|
|
<script>
|
|
var config = {showLang: '$show_obj.lang', showIsAnime: #echo ('!1','!0')[$show_obj.is_anime]#, expandIds: #echo ('!1','!0')[$expand_ids]#}
|
|
</script>
|
|
<script type="text/javascript" src="$sbRoot/js/qualityChooser.js?v=$sbPID"></script>
|
|
<script type="text/javascript" src="$sbRoot/js/editShow.js?v=$sbPID"></script>
|
|
<script type="text/javascript" src="$sbRoot/js/livepanel.js?v=$sbPID"></script>
|
|
#if $varExists('header')
|
|
<h1 class="header"><span class="grey-text">Edit </span>$header</h1>
|
|
#else
|
|
<h1 class="title">$title</h1>
|
|
#end if
|
|
|
|
##
|
|
#set $html_checked = ' checked="checked"'
|
|
#set $html_disabled = ' disabled="disabled"'
|
|
<div id="background-container">
|
|
#if $has_art
|
|
<ul>
|
|
#for $k, ($image, $rating) in enumerate($fanart)
|
|
<li class="#echo ' '.join((x for x in ({10:'group', 20:'fave', 30:'avoid'}.get($rating, ''), ('', 'background first-load')[$start_image == $k]) if x)) #" style="background-image:url($sbRoot/show-poster/?tvid_prodid=$show_obj.tvid_prodid&which=fanart_$image)"></li>
|
|
#end for
|
|
</ul>
|
|
#end if
|
|
</div>
|
|
#if $show_message
|
|
<div class="alert alert-info">
|
|
$show_message
|
|
</div>
|
|
#end if
|
|
|
|
<div id="config">
|
|
<div id="config-content" class="linefix container">
|
|
<form action="edit-show" method="post" id="edit_show" style="width:894px">
|
|
<input type="hidden" name="tvid" id="tvid" value="$show_obj.tvid">
|
|
<input type="hidden" name="prodid" id="prodid" value="$show_obj.prodid">
|
|
<input type="hidden" name="tvid_prodid" id="tvid_prodid" value="$show_obj.tvid_prodid">
|
|
$xsrf_form_html
|
|
|
|
<div id="config-components">
|
|
<ul>
|
|
<li><a href="#core-component-group1">Common</a></li>
|
|
<li><a href="#core-component-group2">Search</a></li>
|
|
<li><a href="#core-component-group3">Other</a></li>
|
|
</ul>
|
|
|
|
<div id="core-component-group1" class="component-group">
|
|
|
|
<div class="field-pair">
|
|
<label for="paused">
|
|
<span class="component-title">Pause searching releases</span>
|
|
<span class="component-desc">
|
|
<input type="checkbox" name="paused" id="paused"#echo ('', $html_checked)[$show_obj.paused]#>
|
|
<p>for <b class="boldest grey-text">$show_obj.name</b></p>
|
|
</span>
|
|
</label>
|
|
</div>
|
|
|
|
<div class="field-pair#if $sg_str('SHOWLIST_TAGVIEW') != 'custom'# hidden#end if#">
|
|
<label for="tag">
|
|
<span class="component-title">Group show under</span>
|
|
<span class="component-desc">
|
|
<select name="tag" id="tag" class="form-control form-control-inline input-sm">
|
|
#for $tag in $sg_var('SHOW_TAGS', []):
|
|
<option value="$tag" #if $tag == $show_obj.tag then 'selected="selected"' else ''#>$tag#echo ('', ' (default)')['Show List' == $tag]#</option>
|
|
#end for
|
|
</select>
|
|
<span>on the "Show List" page</span>
|
|
</span>
|
|
</label>
|
|
</div>
|
|
|
|
<div class="field-pair">
|
|
<span class="label-container">
|
|
<span class="component-title">Alternative release name(s)</span>
|
|
<span class="component-desc">
|
|
<input type="text" id="SceneName" class="form-control form-control-inline input-sm input200" placeholder="Enter one title here, then 'Add'">
|
|
<select id="SceneNameSeason" class="form-control form-control-inline input-sm input100" style="float:left">
|
|
<option value="-1">Series</option>
|
|
#for $season in $seasonResults:
|
|
<option value="$season[0]">Season $season[0]</option>
|
|
#end for
|
|
</select>
|
|
<input class="btn btn-inline" type="button" value="Add" id="addSceneName">
|
|
<p style="float:left"><span class="add-tip">Enter one.. </span>e.g. Show, Show (2016), or The Show (US)</p>
|
|
<p class="clear-left note">searching and post-processing require the alternatives if "Show not found" errors are in the logs</p>
|
|
</span>
|
|
<span id="SceneException" class="component-desc" style="display:none">
|
|
<h5 class="grey-text" style="margin-bottom:5px">Alternative a.k.a scene exceptions list (multi-selectable)</h5>
|
|
<select id="exceptions_list" name="exceptions_list" multiple="multiple" class="input350" style="min-height:90px; float:left" >
|
|
#for $cur_exception_season in $show_obj.exceptions:
|
|
#for $cur_exception in $show_obj.exceptions[$cur_exception_season]:
|
|
<option value="$cur_exception_season|$cur_exception">S#echo ('%02d' % $cur_exception_season, '*')[$cur_exception_season == -1]#: $cur_exception</option>
|
|
#end for
|
|
#end for
|
|
</select>
|
|
<span><p class="note">S* = Any series. The original name is used along with this case insensitive list, except where season is specified</p></span>
|
|
<div style="margin-top:6px">
|
|
<input id="removeSceneName" value="Remove" class="btn pull-left" type="button">
|
|
</div>
|
|
</span>
|
|
<span class="component-desc" style="clear:both;padding-top:10px">
|
|
<input id="export-alts" value="Export" class="btn btn-inline" type="button"><p style="float:left">alternative names and/or numbers</p>
|
|
</span>
|
|
</span>
|
|
</div>
|
|
|
|
<div class="field-pair">
|
|
<label for="rls_ignore_words">
|
|
<span class="component-title">Ignore result with any word</span>
|
|
<span class="component-desc">
|
|
<input type="text" name="rls_ignore_words" id="rls_ignore_words" value="$generate_word_str($show_obj.rls_ignore_words - $sickgear.IGNORE_WORDS, $show_obj.rls_ignore_words_regex)" class="form-control form-control-inline input-sm input350">
|
|
<p>e.g. [[regex:]word1, word2, ..., word_n, regex_n]</p>
|
|
<p class="note">ignore search result <em class="grey-text">if its title contains any</em> of these comma separated words or regular expressions</p>
|
|
</span>
|
|
</label>
|
|
</div>
|
|
|
|
#if $sickgear.IGNORE_WORDS:
|
|
<div class="field-pair">
|
|
<label for="rls_global_exclude_ignore">
|
|
<span class="component-title">Exclude global ignore word (multi select list)</span>
|
|
<span class="component-desc">
|
|
<select id="rls_global_exclude_ignore" name="rls_global_exclude_ignore" multiple="multiple" class="form-control form-control-inline input-sm input350">
|
|
#set $options = ''
|
|
#set $selected = ' selected=\"selected\"'
|
|
#set $num_selected = 0
|
|
#for $gw in $sickgear.IGNORE_WORDS:
|
|
#set $sel_html = ''
|
|
#if $gw in $show_obj.rls_global_exclude_ignore
|
|
#set $sel_html = $selected
|
|
#set $num_selected += 1
|
|
#end if
|
|
#set $options += "<option value=\"%s\"%s>%s</option>" % ($gw, $sel_html, $gw)
|
|
#end for
|
|
<option value=".*"#if $num_selected then '' else $selected#># Use all ignore word(s) (default) #</option>
|
|
$options
|
|
</select>
|
|
</span>
|
|
</label>
|
|
</div>
|
|
#end if
|
|
|
|
<div class="field-pair">
|
|
<label for="rls_require_words">
|
|
<span class="component-title">Require at least one word</span>
|
|
<span class="component-desc">
|
|
<input type="text" name="rls_require_words" id="rls_require_words" value="$generate_word_str($show_obj.rls_require_words - $sickgear.REQUIRE_WORDS, $show_obj.rls_require_words_regex)" class="form-control form-control-inline input-sm input350">
|
|
<p>e.g. [[regex:]word1, word2, ..., word_n, regex_n]</p>
|
|
<p class="note">ignore search result <em class="grey-text">unless its title contains one</em> of these comma separated words or regular expressions</p>
|
|
</span>
|
|
</label>
|
|
</div>
|
|
|
|
#if $sickgear.REQUIRE_WORDS:
|
|
<div class="field-pair">
|
|
<label for="rls_global_exclude_require">
|
|
<span class="component-title">Exclude global require word (multi select list)</span>
|
|
<span class="component-desc">
|
|
<select id="rls_global_exclude_require" name="rls_global_exclude_require" multiple="multiple" class="form-control form-control-inline input-sm input350">
|
|
#set $options = ''
|
|
#set $selected = ' selected=\"selected\"'
|
|
#set $num_selected = 0
|
|
#for $gw in $sickgear.REQUIRE_WORDS:
|
|
#set $sel_html = ''
|
|
#if $gw in $show_obj.rls_global_exclude_require
|
|
#set $sel_html = $selected
|
|
#set $num_selected += 1
|
|
#end if
|
|
#set $options += "<option value=\"%s\"%s>%s</option>" % ($gw, $sel_html, $gw)
|
|
#end for
|
|
<option value=".*"#if $num_selected then '' else $selected#># Use all require word(s) (default) #</option>
|
|
$options
|
|
</select>
|
|
</span>
|
|
</label>
|
|
</div>
|
|
#end if
|
|
|
|
|
|
<div class="field-pair">
|
|
#set $qualities = $common.Quality.split_quality(int($show_obj.quality))
|
|
#set global $any_qualities = $qualities[0]
|
|
#set global $best_qualities = $qualities[1]
|
|
#include $os.path.join($sg_str('PROG_DIR'), 'gui/slick/interfaces/default/inc_qualityChooser.tmpl')
|
|
</div>
|
|
|
|
</div><!-- /component-group1 //-->
|
|
|
|
<div id="core-component-group2" class="component-group">
|
|
|
|
<div class="field-pair">
|
|
<label for="air_by_date">
|
|
<span class="component-title">Air by date release names</span>
|
|
<span class="component-desc">
|
|
<input type="checkbox" name="air_by_date" id="air_by_date"#echo ('', $html_checked)[$show_obj.air_by_date]#>
|
|
<p>#echo ('enable if releases contain dates', 'disable for episodic releases')[$show_obj.air_by_date]#, example: <em class="grey-text">Show.#echo ('03.02.2010', 'S02E03')[$show_obj.air_by_date]#</em></p>
|
|
</span>
|
|
</label>
|
|
</div>
|
|
|
|
<div class="field-pair">
|
|
<label for="scene">
|
|
<span class="component-title">Editable episode numbers</span>
|
|
<span class="component-desc">
|
|
<input type="checkbox" name="scene" id="scene"#echo ('', $html_checked)[$show_obj.scene]#>
|
|
<p>enable editable #if $show_has_scene_map then '(<em class="grey-text">and alternative scene release</em>) ' else ''# episode numbers for search and media processing</p>
|
|
</span>
|
|
</label>
|
|
</div>
|
|
|
|
<div class="field-pair">
|
|
<label for="dvdorder">
|
|
<span class="component-title">Use DVD titles and numbers</span>
|
|
<span class="component-desc">
|
|
<input type="checkbox" name="dvdorder" id="dvdorder"#echo ('', $html_checked)[$show_obj.dvdorder]#>
|
|
<p>#echo ('enable use of DVD title and episode ordering', 'disable use of TV network title, number and aired order')[$show_obj.dvdorder]#.
|
|
After changing this setting, a "force full update" is essential, and existing episodes should be manually renamed or replaced with #echo ('DVD', 'network')[$show_obj.dvdorder]# numbered releases</p>
|
|
</span>
|
|
</label>
|
|
</div>
|
|
|
|
<div class="field-pair">
|
|
<label for="infosrc-lang-select-edit">
|
|
<span class="component-title">Info language</span>
|
|
<span class="component-desc">
|
|
<select name="tvinfo_lang" id="infosrc-lang-select-edit" class="form-control form-control-inline input-sm"></select>
|
|
<span>fetch show information in this language</span>
|
|
</span>
|
|
</label>
|
|
</div>
|
|
|
|
<div class="field-pair">
|
|
<label for="sports">
|
|
<span class="component-title">Show is sports</span>
|
|
<span class="component-desc">
|
|
<input type="checkbox" name="sports" id="sports"#echo ('', $html_checked)[$show_obj.sports]#>
|
|
<p>treat this show as a sporting or MMA event</p>
|
|
</span>
|
|
</label>
|
|
</div>
|
|
|
|
<div class="field-pair">
|
|
<label for="anime">
|
|
<span class="component-title">Show is anime</span>
|
|
<span class="component-desc">
|
|
<input type="checkbox" name="anime" id="anime"#echo ('', $html_checked)[$show_obj.is_anime]#>
|
|
<p>releases for this show are named like ... <em class="grey-text">Show.265</em> instead of <em class="grey-text">Show.S02E03</em></p>
|
|
#if not $show_obj.is_anime#<span id="anime-options" style="display:none">Update Show then edit again to view additional options here</span>#end if#
|
|
</span>
|
|
</label>
|
|
</div>
|
|
|
|
#if $show_obj.is_anime
|
|
#import sickgear.anime
|
|
#include $os.path.join($sg_str('PROG_DIR'), 'gui/slick/interfaces/default/inc_anigrouplists.tmpl')
|
|
<script type="text/javascript" src="$sbRoot/js/anigrouplists.js?v=$sbPID"></script>
|
|
#end if
|
|
</div><!-- /component-group2 //-->
|
|
|
|
<div id="core-component-group3" class="component-group">
|
|
|
|
<div class="field-pair">
|
|
<label for="prune">
|
|
<span class="component-title">Keep up to</span>
|
|
<span class="component-desc">
|
|
<input type="text" name="prune" id="prune" value="#echo $show_obj.prune and $show_obj.prune or ''#" class="form-control form-control-inline input-sm input75" style="width:50px">
|
|
<p>most recent downloads (blank for all)</p>
|
|
</span>
|
|
</label>
|
|
</div>
|
|
|
|
<div class="field-pair">
|
|
<label for="location">
|
|
<span class="component-title">Location for files</span>
|
|
<span class="component-desc">
|
|
<input type="text" name="location" id="location" value="$show_obj._location" class="form-control form-control-inline input-sm input350">
|
|
</span>
|
|
</label>
|
|
</div>
|
|
|
|
<div class="field-pair">
|
|
<label for="flatten_folders">
|
|
<span class="component-title">Flat folder hierarchy</span>
|
|
<span class="component-desc">
|
|
<input type="checkbox" name="flatten_folders" id="flatten_folders"#echo ('', $html_checked)[$show_obj.flatten_folders and not $sg_var('NAMING_FORCE_FOLDERS')]##echo ('', $html_disabled)[$sg_var('NAMING_FORCE_FOLDERS')]#>
|
|
<p>prevent creating season folders to group files</p>
|
|
</span>
|
|
</label>
|
|
</div>
|
|
|
|
<div class="field-pair">
|
|
<label for="subtitles">
|
|
<span class="component-title">Subtitles</span>
|
|
<span class="component-desc">
|
|
<input type="checkbox" name="subs" id="subtitles"#echo ('', $html_checked)[$show_obj.subtitles and $sg_var('USE_SUBTITLES')]##echo ($html_disabled, '')[$sg_var('USE_SUBTITLES')]#>
|
|
<p#if not $sg_var('USE_SUBTITLES')# class="grey-text"><del#end if#>download episode subtitles for this show#if not $sg_var('USE_SUBTITLES')#</del> ... (<span class="red-text">note: first <a href="$sbRoot/config/subtitles/">enable the subtitle system here</a></span>)#end if#</p>
|
|
</span>
|
|
</label>
|
|
</div>
|
|
|
|
<div class="field-pair">
|
|
<label for="reset_fanart">
|
|
<span class="component-title">Reset fanart ratings</span>
|
|
<span class="component-desc">
|
|
#if $num_ratings
|
|
<input type="checkbox" name="reset_fanart" id="reset_fanart">
|
|
<p>delete <span class="grey-text">$num_ratings</span> fanart rating$helpers.maybe_plural($num_ratings) for "<span class="grey-text">$show_obj.name</span>"</p>
|
|
#else
|
|
<p>no fanart ratings to delete for "<span class="grey-text">$show_obj.name</span>"</p>
|
|
#end if
|
|
<p>
|
|
<span class="grey-text">fanart usage: </span>maximum $sg_var('FANART_LIMIT', 3) fanart images downloaded per show, <a href="$sbRoot/config/general/#core-component-group2">change limit</a><br />
|
|
<span class="grey-text">fanart keys: </span>hold down Ctrl+Alt (mac: Command+Option) and then press any of... left or right to change image, and<br />
|
|
's' to change and save ratings where 'a'/down = avoid, 'f' = fave, 'g'/up = group (repeat keypress to toggle rating)
|
|
with the livepanel not in 's'ave mode; up = change view mode, down = toggle translucency
|
|
</span>
|
|
</label>
|
|
</div>
|
|
|
|
<div class="field-pair">
|
|
<label for="idmapping">
|
|
<span class="component-title">Related show IDs</span>
|
|
<span class="component-desc">
|
|
<label for="idmapping">
|
|
<input id="idmapping" type="checkbox">
|
|
<span>TV info source IDs (advanced use only)</span>
|
|
</label>
|
|
</span>
|
|
</label>
|
|
</div>
|
|
|
|
#set $dev = True
|
|
#set $dev = None
|
|
<div id="idmapping-options" style="display:#if $dev#--#end if#none">
|
|
#set $is_main_settable = False | $unlock_main_id
|
|
#for $tvid, $src_name in iteritems($sickgear.TVInfoAPI().all_sources)
|
|
#set $is_main_settable |= ($dev or
|
|
($tvid != $show_obj.tvid and $show_obj.ids[$tvid].get('id', 0) > 0 and
|
|
$tvid in $sickgear.TVInfoAPI().sources and not $sickgear.TVInfoAPI($tvid).config.get('defunct') and
|
|
$sickgear.TVInfoAPI($tvid).config.get('active')))
|
|
#if $is_main_settable
|
|
#break
|
|
#end if
|
|
#end for
|
|
#set $search_name = quote_plus($sickgear.indexermapper.clean_show_name($show_obj.name))
|
|
#for $tvid, $src_name in iteritems($sickgear.TVInfoAPI().all_sources)
|
|
#set $ok_tvid = $show_obj.ids[$tvid].get('id', 0) > 0
|
|
#set $maybe_main = ($tvid != $show_obj.tvid and
|
|
$tvid in $sickgear.TVInfoAPI().sources and not $sickgear.TVInfoAPI($tvid).config.get('defunct') and
|
|
$sickgear.TVInfoAPI($tvid).config.get('active'))
|
|
#set $settable_main = ($dev or ($ok_tvid and $maybe_main))
|
|
<div class="field-pair" style="padding:0">
|
|
<span class="component-title">
|
|
#if $tvid in $show_obj.ids
|
|
#set $src_search_url = sickgear.TVInfoAPI($tvid).config.get('finder')
|
|
#set $use_search_url = $src_search_url
|
|
#set $data_link = 'data-'
|
|
#if $ok_tvid and $sickgear.indexermapper.MapStatus.NOT_FOUND != $show_obj.ids[$tvid]['status']
|
|
#set $data_link = ''
|
|
#set $use_search_url = False
|
|
#end if
|
|
<a id="src-mid-$tvid" class="service" style="margin-right:6px" data-search="#if $use_search_url#y#else#n#end if#" #if $src_search_url#data-search-href="$anon_url($src_search_url % $search_name)" data-search-onclick="window.open(this.href, '_blank'); return !1;" data-search-title="Search for show at $src_name" #end if##if $use_search_url#href="$anon_url($src_search_url % $search_name)" onclick="window.open(this.href, '_blank'); return !1;" title="Search for show at $src_name" #end if#$(data_link)href="$anon_url(sickgear.TVInfoAPI($tvid).config['show_url'] % ($show_obj.ids[$tvid]['id'], $srcid)[$expand_ids and ($tvid == $tvsrc)])" $(data_link)onclick="window.open(this.href, '_blank'); return !1;" $(data_link)title="View $src_name info in new tab"><img alt="$src_name" height="16" width="16" src="$sbRoot/images/$sickgear.TVInfoAPI($tvid).config['icon']" /></a>
|
|
#end if
|
|
$src_name
|
|
</span>
|
|
<span class="component-desc">
|
|
|
|
#set $current_showid = $show_obj.ids.get($tvid, {'id': 0}).get('id')
|
|
<input type="text" data-maybe-main="#echo ('0', '1')[bool($maybe_main)]#" name="mid-$tvid" id="#echo ('mid-%s' % $tvid, 'source-id')[$tvid == $show_obj.tvid]#" value="#echo ($current_showid, $srcid)[$expand_ids and ($tvid == $tvsrc)]#" class="form-control form-control-inline input-sm#if $tvid == $show_obj.tvid and $unlock_main_id# warning" title="Abandoned main ID#end if#" #echo ('', $html_disabled)[$tvid == $show_obj.tvid and not $unlock_main_id]#>
|
|
|
|
#if $tvid == $show_obj.tvid
|
|
<label for="the-main">
|
|
#if $is_main_settable
|
|
<input type="radio" name="set-main" id="the-main" checked data-tvid="$tvid" data-prodid="$show_obj.ids[$tvid].get('id', 0)">
|
|
#end if
|
|
<p#if $is_main_settable# style="padding-left:19px"#end if#>#if $unlock_main_id#main id may have changed, <a href="$sbRoot/add-shows/find/?show_to_add=$show_obj.tvid|||$showname_enc&use_show_name=True&action=Find&return_to=$sbRoot%2Fhome%2Fedit-show%3Ftvid_prodid%3D${TVidProdid({$tvid: $current_showid})}%26tvsrc%3D%25s%26srcid%3D%25s%23core-component-group3">search replacement here</a>#else#locked main, can't be edited#end if#</p>
|
|
</label>
|
|
#else
|
|
<label for="lockid-$tvid">
|
|
<input type="checkbox" name="lockid-$tvid" id="lockid-$tvid"#echo ('', $html_checked)[$show_obj.ids.get($tvid, {'status': $sickgear.indexermapper.MapStatus.NONE}).get('status') == $sickgear.indexermapper.MapStatus.NO_AUTOMATIC_CHANGE]#>
|
|
<p style="padding-left:19px;margin-right:24px">lock this ID</p>
|
|
</label>
|
|
#if $settable_main
|
|
<label for="set-main-$tvid">
|
|
<input type="radio" name="set-main" id="set-main-$tvid" data-tvid="$tvid" data-prodid="$show_obj.ids[$tvid].get('id', 0)">set main
|
|
</label>
|
|
#end if
|
|
#end if
|
|
</span>
|
|
</div>
|
|
#end for
|
|
<div class="field-pair" style="padding-top:0">
|
|
<span id="panel-save-get" class="component-desc show">
|
|
<p>invalid values can break finding episode and TV info</p>
|
|
<input type="button" value="Save Changes" id="save-mapping" class="btn btn-inline">
|
|
<p style="float:left;margin-right:6px">or</p>
|
|
<input type="button" value="Get Defaults" id="reset-mapping" class="btn btn-inline">
|
|
<p>for unlocked IDs</p>
|
|
</span>
|
|
<span id="save-wait" class="component-desc hide">
|
|
<span><img src="$sbRoot/images/loading16#echo ('', '-dark')['dark' == $sg_str('THEME_NAME', 'dark')]#.gif" style="margin-right:6px">Saving...</span>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
|
|
</div><!-- /component-group3 //-->
|
|
|
|
</div>
|
|
|
|
<div style="margin-top:15px">
|
|
<input type="submit" id="submit" value="Update Show" class="btn btn-primary" />
|
|
<a href="$sbRoot/home/view-show?tvid_prodid=$show_obj.tvid_prodid" class="btn btn-primary" style="margin-left:10px">Cancel Edit</a>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
|
|
#include $os.path.join($sg_str('PROG_DIR'), 'gui/slick/interfaces/default/inc_bottom.tmpl')
|