mirror of
https://github.com/SickGear/SickGear.git
synced 2024-12-12 22:23:38 +00:00
689 lines
29 KiB
Cheetah
689 lines
29 KiB
Cheetah
#import sickbeard
|
|
#import datetime
|
|
#import locale
|
|
#import operator
|
|
#from sickbeard.common import *
|
|
#from sickbeard.sbdatetime import *
|
|
#from sickbeard import config
|
|
#from sickbeard import metadata
|
|
#from sickbeard.metadata.generic import GenericMetadata
|
|
#from sickbeard.helpers import anon_url
|
|
#from sickbeard.logger import reverseNames as file_logging_presets
|
|
#from sickbeard.helpers import maybe_plural
|
|
##
|
|
#set global $title = 'Config - General'
|
|
#set global $header = 'General Configuration'
|
|
#set global $sbPath = '../..'
|
|
#set global $topmenu = 'config'
|
|
##
|
|
#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
|
|
##
|
|
#set $checked = ' checked="checked"'
|
|
#set $selected = ' selected="selected"'
|
|
##
|
|
#set $indexer = 0
|
|
#if $sickbeard.INDEXER_DEFAULT
|
|
#set $indexer = $sickbeard.INDEXER_DEFAULT
|
|
#end if
|
|
|
|
<script type="text/javascript" src="$sbRoot/js/config.js?v=$sbPID"></script>
|
|
<script type="text/javascript" src="$sbRoot/js/rootDirs.js?v=$sbPID"></script>
|
|
|
|
<div id="config">
|
|
<div id="config-content">
|
|
|
|
<form id="configForm" action="saveGeneral" method="post">
|
|
<div id="config-components">
|
|
|
|
<ul>
|
|
<li><a href="#core-component-group1">Misc</a></li>
|
|
<li><a href="#core-component-group2">Interface</a></li>
|
|
<li><a href="#core-component-group3">Advanced Settings</a></li>
|
|
</ul>
|
|
|
|
<div id="core-component-group1">
|
|
<div class="component-group">
|
|
|
|
<div class="component-group-desc">
|
|
<h3>Misc</h3>
|
|
<p>Startup options. Indexer options. Log and show file locations.</p>
|
|
<p><b>Some options may require a manual restart to take effect.</b></p>
|
|
</div>
|
|
|
|
<fieldset class="component-group-list">
|
|
<div class="field-pair">
|
|
<label for="launch_browser">
|
|
<span class="component-title">Launch browser</span>
|
|
<span class="component-desc">
|
|
<input type="checkbox" name="launch_browser" id="launch_browser"#echo ('', $checked)[$sickbeard.LAUNCH_BROWSER]#>
|
|
<p>open the SickGear home page on startup</p>
|
|
</span>
|
|
</label>
|
|
</div>
|
|
|
|
<div class="field-pair">
|
|
<label for="update_shows_on_start">
|
|
<span class="component-title">Update shows on startup</span>
|
|
<span class="component-desc">
|
|
<input type="checkbox" name="update_shows_on_start" id="update_shows_on_start"#echo ('', $checked)[$sickbeard.UPDATE_SHOWS_ON_START]#>
|
|
<p>with show data; episode plot, images, air and end dates, etc. Disable for a quicker startup. Show data is scheduled to update during hour <span class="show_update_hour_value">$sickbeard.SHOW_UPDATE_HOUR</span></p>
|
|
</span>
|
|
</label>
|
|
</div>
|
|
|
|
<div class="field-pair">
|
|
<label for="show_update_hour">
|
|
<span class="component-title">Update shows during hour</span>
|
|
<span class="component-desc">
|
|
<input type="number" name="show_update_hour" id="show_update_hour" value="$sickbeard.SHOW_UPDATE_HOUR" class="form-control input-sm input75">
|
|
<p>(0 ... 23) with show data; episode plot, images, air and end dates, etc.</p>
|
|
</span>
|
|
</label>
|
|
</div>
|
|
|
|
#if hasattr($sickbeard, 'ALLOW_INCOMPLETE_SHOWDATA')
|
|
<div class="field-pair">
|
|
<label for="allow_incomplete_showdata">
|
|
<span class="component-title">Allow incomplete show data</span>
|
|
<span class="component-desc">
|
|
<input type="checkbox" name="allow_incomplete_showdata" id="allow_incomplete_showdata"#echo ('', $checked)[$sickbeard.ALLOW_INCOMPLETE_SHOWDATA]#>
|
|
<p>add partial show data for future updates to complete</p>
|
|
</span>
|
|
</label>
|
|
</div>
|
|
#end if
|
|
|
|
<div class="field-pair">
|
|
<span class="component-title">Send to trash for actions</span>
|
|
<span class="component-desc">
|
|
<label for="trash_remove_show" class="nextline-block">
|
|
<input type="checkbox" name="trash_remove_show" id="trash_remove_show"#echo ('', $checked)[$sickbeard.TRASH_REMOVE_SHOW]#>
|
|
<p>when using show "Remove" and delete files</p>
|
|
</label>
|
|
<label for="trash_rotate_logs" class="nextline-block">
|
|
<input type="checkbox" name="trash_rotate_logs" id="trash_rotate_logs"#echo ('', $checked)[$sickbeard.TRASH_ROTATE_LOGS]#>
|
|
<p>on scheduled deletes of the oldest log files</p>
|
|
</label>
|
|
<div class="clear-left"><p>selected actions use trash (recycle bin) instead of the default permanent delete</p></div>
|
|
</span>
|
|
</div>
|
|
|
|
<div class="field-pair">
|
|
<label for="log_dir">
|
|
<span class="component-title">Log file folder location</span>
|
|
<span class="component-desc">
|
|
<input type="text" name="log_dir" id="log_dir" value="$sickbeard.ACTUAL_LOG_DIR" class="form-control input-sm input350">
|
|
</span>
|
|
</label>
|
|
</div>
|
|
#if 1 < $len($indexers)
|
|
<div class="field-pair">
|
|
<label for="indexer_default">
|
|
<span class="component-title">Use initial indexer set to</span>
|
|
<span class="component-desc">
|
|
<select id="indexer_default" name="indexer_default" class="form-control input-sm">
|
|
<option value="0"#echo ('', $selected)[0 == $indexer]#>All Indexers</option>
|
|
#for $indexer in $indexers
|
|
<option value="$indexer"#echo ('', $selected)[$indexer == $sickbeard.INDEXER_DEFAULT]#>$sickbeard.indexerApi().indexers[$indexer]</option>
|
|
#end for
|
|
</select>
|
|
<span>as the default selection when adding new shows</span>
|
|
</span>
|
|
</label>
|
|
</div>
|
|
#end if
|
|
<div class="field-pair">
|
|
<label for="indexer_timeout">
|
|
<span class="component-title">Timeout show indexer at</span>
|
|
<span class="component-desc">
|
|
<input type="text" name="indexer_timeout" id="indexer_timeout" value="$sickbeard.INDEXER_TIMEOUT" class="form-control input-sm input75">
|
|
<p>seconds of inactivity when finding new shows (default:10)</p>
|
|
</span>
|
|
</label>
|
|
</div>
|
|
|
|
<div class="field-pair">
|
|
<label>
|
|
<span class="component-title">Show root directories</span>
|
|
<span class="component-desc">
|
|
<p>where the files of shows are located</p>
|
|
#include $os.path.join($sickbeard.PROG_DIR, 'gui/slick/interfaces/default/inc_rootDirs.tmpl')
|
|
</span>
|
|
</label>
|
|
</div>
|
|
|
|
<input type="submit" class="btn config_submitter" value="Save Changes">
|
|
</fieldset>
|
|
</div>
|
|
<div class="component-group">
|
|
|
|
<div class="component-group-desc">
|
|
<h3>Updates</h3>
|
|
<p>Options for software updates.</p>
|
|
</div>
|
|
<fieldset class="component-group-list">
|
|
|
|
<div class="field-pair">
|
|
<label for="version_notify">
|
|
<span class="component-title">Check software updates</span>
|
|
<span class="component-desc">
|
|
<input type="checkbox" name="version_notify" id="version_notify"#echo ('', $checked)[$sickbeard.VERSION_NOTIFY]#>
|
|
<p>and display notifications when updates are available.
|
|
Checks are run on startup and at the frequency set below*</p>
|
|
</span>
|
|
</label>
|
|
</div>
|
|
|
|
<div class="field-pair">
|
|
<label for="auto_update">
|
|
<span class="component-title">Automatically update</span>
|
|
<span class="component-desc">
|
|
<input type="checkbox" name="auto_update" id="auto_update"#echo ('', $checked)[$sickbeard.AUTO_UPDATE]#>
|
|
<p>fetch and install software updates.
|
|
Updates are run on startup and in the background at the frequency set below<sup>1</sup></p>
|
|
</span>
|
|
</label>
|
|
</div>
|
|
|
|
<div class="field-pair">
|
|
<label>
|
|
<span class="component-title">Check the server every<sup>1</sup></span>
|
|
<span class="component-desc">
|
|
<input type="text" name="update_frequency" id="update_frequency" value="$sickbeard.UPDATE_FREQUENCY" class="form-control input-sm input75">
|
|
<p>hours for software updates (default:12)</p>
|
|
</span>
|
|
</label>
|
|
</div>
|
|
|
|
<div class="field-pair">
|
|
<label for="notify_on_update">
|
|
<span class="component-title">Notify on software update</span>
|
|
<span class="component-desc">
|
|
<input type="checkbox" name="notify_on_update" id="notify_on_update"#echo ('', $checked)[$sickbeard.NOTIFY_ON_UPDATE]#>
|
|
<p>send a message to all enabled notifiers when SickGear has been updated</p>
|
|
</span>
|
|
</label>
|
|
</div>
|
|
|
|
<input type="submit" class="btn config_submitter" value="Save Changes">
|
|
</fieldset>
|
|
|
|
</div>
|
|
</div><!-- /component-group1 //-->
|
|
|
|
|
|
<div id="core-component-group2">
|
|
<div class="component-group">
|
|
|
|
<div class="component-group-desc">
|
|
<h3>User Interface</h3>
|
|
<p>Options for visual appearance.</p>
|
|
</div>
|
|
|
|
<fieldset class="component-group-list">
|
|
|
|
<div class="field-pair">
|
|
<label for="theme_name">
|
|
<span class="component-title">Display theme:</span>
|
|
<span class="component-desc">
|
|
<select id="theme_name" name="theme_name" class="form-control input-sm">
|
|
<option value="dark"#echo ('', $selected)['dark' == $sickbeard.THEME_NAME]#>Dark</option>
|
|
<option value="light"#echo ('', $selected)['light' == $sickbeard.THEME_NAME]#>Light</option>
|
|
</select>
|
|
<span class="red-text">for appearance to take effect, save then refresh your browser</span>
|
|
</span>
|
|
</label>
|
|
</div>
|
|
|
|
<div class="field-pair">
|
|
<label for="default_home">
|
|
<span class="component-title">Use as default home page:</span>
|
|
<span class="component-desc">
|
|
<select id="default_home" name="default_home" class="form-control input-sm">
|
|
<option value="shows"#echo ('', $selected)['shows' == $sickbeard.DEFAULT_HOME]#>Shows</option>
|
|
<option value="episodes"#echo ('', $selected)['episodes' == $sickbeard.DEFAULT_HOME]#>Episodes</option>
|
|
<option value="history"#echo ('', $selected)['history' == $sickbeard.DEFAULT_HOME]#>History</option>
|
|
</select>
|
|
</span>
|
|
</label>
|
|
</div>
|
|
|
|
<div class="field-pair">
|
|
<label for="showlist_tagview">
|
|
<span class="component-title">Group show list shows into:</span>
|
|
<span class="component-desc">
|
|
<select id="showlist_tagview" name="showlist_tagview" class="form-control input-sm">
|
|
<option value="standard"#echo ('', $selected)['standard' == $sickbeard.SHOWLIST_TAGVIEW]#>One Show List</option>
|
|
<option value="anime"#echo ('', $selected)['anime' == $sickbeard.SHOWLIST_TAGVIEW]#>Show / Anime Lists</option>
|
|
<option value="custom"#echo ('', $selected)['custom' == $sickbeard.SHOWLIST_TAGVIEW]#>Custom Lists</option>
|
|
</select>
|
|
#set $hidden = ' class="hidden"'
|
|
<span id="showlist_tagview_standard"#echo ('', $hidden)['standard' not in $sickbeard.SHOWLIST_TAGVIEW]#>that contains all shows (default)</span>
|
|
<span id="showlist_tagview_anime"#echo ('', $hidden)['anime' not in $sickbeard.SHOWLIST_TAGVIEW]#>two groups, the show list and anime</span>
|
|
<span id="showlist_tagview_custom"#echo ('', $hidden)['custom' not in $sickbeard.SHOWLIST_TAGVIEW]#>multiple custom<sup>1</sup> named groups and a "Show List"</span>
|
|
</span>
|
|
</label>
|
|
</div>
|
|
|
|
<div id="showlist_tagview_custom_config" class="field-pair#if $sickbeard.SHOWLIST_TAGVIEW != 'custom' then ' hidden' else ''#">
|
|
<label for="show_tags">
|
|
<span class="component-title">Group names for show list<sup>1</sup></span>
|
|
<span class="component-desc">
|
|
<input type="text" name="show_tags" id="show_tags" value="$show_tags" class="form-control input-sm input300">
|
|
<span>comma separated names</span>
|
|
<p class="clear-left note">group shows to the order of this custom list (add shows to groups with <a href="/manage/">mass edit</a>)</p>
|
|
</span>
|
|
</label>
|
|
</div>
|
|
|
|
<div class="field-pair">
|
|
<label for="home_search_focus">
|
|
<span class="component-title">Give show list search focus</span>
|
|
<span class="component-desc">
|
|
<input type="checkbox" name="home_search_focus" id="home_search_focus"#echo ('', $checked)[$sickbeard.HOME_SEARCH_FOCUS]#>
|
|
<p>page refresh on "Show List" will start search box focused</p>
|
|
</span>
|
|
</label>
|
|
</div>
|
|
|
|
<div class="field-pair">
|
|
<label for="use_imdb_info">
|
|
<span class="component-title">Enable IMDb info</span>
|
|
<span class="component-desc">
|
|
<input type="checkbox" name="use_imdb_info" id="use_imdb_info"#echo ('', $checked)[$sickbeard.USE_IMDB_INFO]#>
|
|
<p>for ui links, display show; ratings, country flag, year, runtime, and genre tags</p>
|
|
</span>
|
|
</label>
|
|
</div>
|
|
|
|
<div class="field-pair">
|
|
<label for="sort_article">
|
|
<span class="component-title">Sort with "The", "A", "An"</span>
|
|
<span class="component-desc">
|
|
<input type="checkbox" name="sort_article" id="sort_article"#echo ('', $checked)[$sickbeard.SORT_ARTICLE]#>
|
|
<p>include articles ("The", "A", "An") when sorting show lists</p>
|
|
</span>
|
|
</label>
|
|
</div>
|
|
|
|
<div class="field-pair">
|
|
<label for="fuzzy_dating">
|
|
<span class="component-title">Display fuzzy dates</span>
|
|
<span class="component-desc">
|
|
<input type="checkbox" name="fuzzy_dating" id="fuzzy_dating" class="viewIf datePresets"#echo ('', $checked)[$sickbeard.FUZZY_DATING == True]#>
|
|
<p>move absolute dates into tooltips and display e.g. "Last Thu", "On Tue"</p>
|
|
</span>
|
|
</label>
|
|
</div>
|
|
<div class="field-pair show_if_fuzzy_dating#echo (' metadataDiv', '')[$sickbeard.FUZZY_DATING]#">
|
|
<label for="trim_zero">
|
|
<span class="component-title">Trim date and time</span>
|
|
<span class="component-desc">
|
|
<input type="checkbox" name="trim_zero" id="trim_zero"#echo ('', $checked)[True == $sickbeard.TRIM_ZERO]#>
|
|
<p>display minimalist date and time i.e. <del>02:00</del> = 2:00, <del>02:00pm</del> = 2pm, <del>03 Jan</del> = 3 Jan</p>
|
|
</span>
|
|
</label>
|
|
</div>
|
|
|
|
<div class="field-pair">
|
|
<label for="date_presets">
|
|
<span class="component-title">Date style:</span>
|
|
<span class="component-desc">
|
|
<select class="form-control input-sm#echo (' metadataDiv', '')[$sickbeard.FUZZY_DATING]#" id="date_presets#echo ('_na', '')[$sickbeard.FUZZY_DATING]#" name="date_preset#echo ('_na', '')[$sickbeard.FUZZY_DATING]#">
|
|
#for $cur_preset in $date_presets
|
|
<option value="$cur_preset" #echo ('', $selected)[$cur_preset == $sickbeard.DATE_PRESET or ('%x' == $sickbeard.DATE_PRESET and '$cur_preset' == '%a, %b %d, %Y')]#>$datetime.datetime($datetime.datetime.now().year, 12, 31, 14, 30, 47).strftime($cur_preset)</option>
|
|
#end for
|
|
</select>
|
|
|
|
<select class="form-control input-sm#echo ('', ' metadataDiv')[$sickbeard.FUZZY_DATING]#" id="date_presets#echo ('', '_na')[$sickbeard.FUZZY_DATING]#" name="date_preset#echo ('', '_na')[$sickbeard.FUZZY_DATING]#">
|
|
<option value="%x"#echo ('', $selected)['%x' == $sickbeard.DATE_PRESET]#>Use System Default</option>
|
|
#for $cur_preset in $date_presets
|
|
<option value="$cur_preset"#echo ('', $selected)[$cur_preset == $sickbeard.DATE_PRESET]#>$datetime.datetime($datetime.datetime.now().year, 12, 31, 14, 30, 47).strftime($cur_preset)</option>
|
|
#end for
|
|
</select>
|
|
</span>
|
|
</label>
|
|
</div>
|
|
|
|
<div class="field-pair">
|
|
<label for="time_presets">
|
|
<span class="component-title">Time style:</span>
|
|
<span class="component-desc">
|
|
<select id="time_presets" name="time_preset" class="form-control input-sm">
|
|
#for $cur_preset in $time_presets
|
|
#set $show_seconds = not $sickbeard.FUZZY_DATING
|
|
<option value="$cur_preset"#echo ('', $selected)[$cur_preset == $sickbeard.TIME_PRESET_W_SECONDS]#>$sbdatetime.now().sbftime(show_seconds=$show_seconds, t_preset=$cur_preset)</option>
|
|
#end for
|
|
</select>
|
|
<span id="trim_info_seconds"><b>note:</b> seconds are only shown on the History page</span>
|
|
</span>
|
|
</label>
|
|
</div>
|
|
|
|
<div class="field-pair">
|
|
<span class="component-title">Timezone:</span>
|
|
<span class="component-desc">
|
|
<label for="local" class="space-right">
|
|
<input type="radio" name="timezone_display" id="local" value="local"#echo ('', $checked)['local' == $sickbeard.TIMEZONE_DISPLAY]#>local
|
|
</label>
|
|
<label for="network">
|
|
<input type="radio" name="timezone_display" id="network" value="network"#echo ('', $checked)['network' == $sickbeard.TIMEZONE_DISPLAY]#>network
|
|
</label>
|
|
<div class="clear-left"><p>display dates and times in either your timezone or the shows network timezone</p></div>
|
|
</span>
|
|
</div>
|
|
|
|
<input type="submit" class="btn config_submitter" value="Save Changes">
|
|
|
|
</fieldset>
|
|
|
|
</div><!-- /User interface component-group -->
|
|
|
|
<div class="component-group">
|
|
|
|
<div class="component-group-desc">
|
|
<h3>Web Interface</h3>
|
|
<p>It is recommended that you enable a username and password to secure SickGear from being tampered with remotely.</p>
|
|
<p><b>These options require a manual restart to take effect.</b></p>
|
|
</div>
|
|
|
|
<fieldset class="component-group-list">
|
|
|
|
<div class="field-pair">
|
|
<label for="web_username">
|
|
<span class="component-title">Username</span>
|
|
<span class="component-desc">
|
|
<input type="text" name="web_username" id="web_username" value="$sickbeard.WEB_USERNAME" class="form-control input-sm input300">
|
|
<p>blank for none</p>
|
|
</span>
|
|
</label>
|
|
</div>
|
|
|
|
<div class="field-pair">
|
|
<label for="web_password">
|
|
<span class="component-title">Password</span>
|
|
<span class="component-desc">
|
|
<input type="password" name="web_password" id="web_password" value="#echo '*' * len($sickbeard.WEB_PASSWORD)#" class="form-control input-sm input300">
|
|
<p>blank for none</p>
|
|
<span class="clear-left">check autoProcessTV.cfg is set up for external apps to use post processing scripts</span>
|
|
</span>
|
|
</label>
|
|
</div>
|
|
|
|
<div class="field-pair">
|
|
<label for="calendar_unprotected">
|
|
<span class="component-title">Unprotected calendar</span>
|
|
<span class="component-desc">
|
|
<input type="checkbox" name="calendar_unprotected" id="calendar_unprotected"#echo ('', $checked)[$sickbeard.CALENDAR_UNPROTECTED]#>
|
|
<p>permit subscribing to the calendar without username and password.
|
|
Some services like Google Calendar will only work with <b class="boldest">no</b> authentication</p>
|
|
</span>
|
|
|
|
</label>
|
|
</div>
|
|
|
|
<div class="field-pair">
|
|
<label for="use_api">
|
|
<span class="component-title">API enable</span>
|
|
<span class="component-desc">
|
|
<input type="checkbox" name="use_api" class="enabler" id="use_api"#echo ('', $checked)[$sickbeard.USE_API]#>
|
|
<p>permit the use of the SickGear (SickBeard) API</p>
|
|
</span>
|
|
</label>
|
|
</div>
|
|
<div id="content_use_api">
|
|
<div class="field-pair">
|
|
<label for="api_key">
|
|
<span class="component-title">API key</span>
|
|
<span class="component-desc">
|
|
<input type="text" name="api_key" id="api_key" value="$sickbeard.API_KEY" class="form-control input-sm input300" readonly="readonly">
|
|
<input class="btn btn-inline" type="button" id="generate_new_apikey" value="Generate">
|
|
<div class="clear-left"><p>used to give 3rd party programs limited access to SickGear</p></div>
|
|
</span>
|
|
</label>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="field-pair">
|
|
<label for="web_port">
|
|
<span class="component-title">HTTP port</span>
|
|
<span class="component-desc">
|
|
<input type="text" name="web_port" id="web_port" value="$sickbeard.WEB_PORT" class="form-control input-sm input100">
|
|
<p>web port to access and browse SickGear (default:8081)</p>
|
|
</span>
|
|
</label>
|
|
</div>
|
|
|
|
<div class="field-pair">
|
|
<label for="web_log">
|
|
<span class="component-title">HTTP logs</span>
|
|
<span class="component-desc">
|
|
<input type="checkbox" name="web_log" id="web_log"#echo ('', $checked)[$sickbeard.WEB_LOG]#>
|
|
<p>enable logs from the internal web server</p>
|
|
</span>
|
|
</label>
|
|
</div>
|
|
|
|
<div class="field-pair">
|
|
<label for="enable_https">
|
|
<span class="component-title">SSL enable</span>
|
|
<span class="component-desc">
|
|
<input type="checkbox" name="enable_https" class="enabler" id="enable_https"#echo ('', $checked)[$sickbeard.ENABLE_HTTPS]#>
|
|
<p>use a HTTPS address to access the web interface</p>
|
|
</span>
|
|
</label>
|
|
</div>
|
|
<div id="content_enable_https">
|
|
<div class="field-pair">
|
|
<label for="https_cert">
|
|
<span class="component-title">HTTPS certificate</span>
|
|
<span class="component-desc">
|
|
<input type="text" name="https_cert" id="https_cert" value="$sickbeard.HTTPS_CERT" class="form-control input-sm input300">
|
|
<div class="clear-left"><p>file name or path to a <b class="boldest">server.crt</b> certificate file</p></div>
|
|
</span>
|
|
</label>
|
|
</div>
|
|
<div class="field-pair">
|
|
<label for="https_key">
|
|
<span class="component-title">HTTPS key</span>
|
|
<span class="component-desc">
|
|
<input type="text" name="https_key" id="https_key" value="$sickbeard.HTTPS_KEY" class="form-control input-sm input300">
|
|
<div class="clear-left"><p>file name or path to a <b class="boldest">server.key</b> file</p></div>
|
|
</span>
|
|
</label>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="field-pair">
|
|
<label for="web_ipv6">
|
|
<span class="component-title">Listen on IPv6</span>
|
|
<span class="component-desc">
|
|
<input type="checkbox" name="web_ipv6" id="web_ipv6"#echo ('', $checked)[$sickbeard.WEB_IPV6]#>
|
|
<p>attempt binding to any available IPv6 address</p>
|
|
</span>
|
|
</label>
|
|
</div>
|
|
|
|
<div class="field-pair">
|
|
<label for="handle_reverse_proxy">
|
|
<span class="component-title">Reverse proxy headers</span>
|
|
<span class="component-desc">
|
|
<input type="checkbox" name="handle_reverse_proxy" id="handle_reverse_proxy"#echo ('', $checked)[$sickbeard.HANDLE_REVERSE_PROXY]#>
|
|
<p>accept the following reverse proxy headers (advanced)...<br />(X-Forwarded-For, X-Forwarded-Host, and X-Forwarded-Proto)</p>
|
|
</span>
|
|
</label>
|
|
</div>
|
|
|
|
<input type="submit" class="btn config_submitter" value="Save Changes">
|
|
|
|
</fieldset>
|
|
|
|
</div><!-- /component-group2 //-->
|
|
</div>
|
|
|
|
|
|
<div id="core-component-group3" class="component-group">
|
|
|
|
<div class="component-group-desc">
|
|
<h3>Advanced Settings</h3>
|
|
|
|
</div>
|
|
|
|
<fieldset class="component-group-list">
|
|
|
|
<div class="field-pair">
|
|
<label>
|
|
<span class="component-title">Branch version:</span>
|
|
<span class="component-desc">
|
|
<select id="branchVersion" class="form-control form-control-inline input-sm pull-left max300">
|
|
<option>Loading list from github</option>
|
|
</select>
|
|
<input class="btn btn-inline" style="margin-left:6px" type="button" id="branchCheckout" value="Checkout Branch" disabled="disabled">
|
|
<div class="clear-left"><p>select branch to use (restart required)</p></div>
|
|
</span>
|
|
</label>
|
|
</div>
|
|
|
|
#if $sickbeard.BRANCH != 'master'
|
|
<div class="field-pair">
|
|
<label>
|
|
<span class="component-title">Pull request:</span>
|
|
<span class="component-desc">
|
|
<select id="pullRequestVersion" class="form-control form-control-inline input-sm pull-left max300">
|
|
<option>Loading list from github</option>
|
|
</select>
|
|
<input class="btn btn-inline" style="margin-left: 6px;" type="button" id="pullRequestCheckout" value="Checkout Pull Request" disabled="disabled">
|
|
<div class="clear-left"><p>select pull request to test (restart required)</p></div>
|
|
</span>
|
|
</label>
|
|
</div>
|
|
#end if
|
|
|
|
<div class="field-pair">
|
|
<label for="git_remote">
|
|
<span class="component-title">Git remote for branch</span>
|
|
<span class="component-desc">
|
|
<input type="text" name="git_remote" id="git_remote" value="$sickbeard.GIT_REMOTE" class="form-control input-sm input300">
|
|
<div class="clear-left"><p>default:origin. Access repo configured remotes (save then refresh browser)</p></div>
|
|
</span>
|
|
</label>
|
|
</div>
|
|
|
|
<div class="field-pair">
|
|
<label>
|
|
<span class="component-title">Git executable path</span>
|
|
<span class="component-desc">
|
|
<input type="text" name="git_path" value="$sickbeard.GIT_PATH" class="form-control input-sm input300">
|
|
<div class="clear-left"><p>only needed if OS is unable to locate git from env</p></div>
|
|
</span>
|
|
</label>
|
|
</div>
|
|
|
|
<div class="field-pair">
|
|
<label>
|
|
<span class="component-title">CPU throttling:</span>
|
|
<span class="component-desc">
|
|
<select id="cpu_presets" name="cpu_preset" class="form-control input-sm">
|
|
#for $cur_preset in $sorted($cpu_presets.items(), key=$operator.itemgetter(1), reverse=True)
|
|
<option value="$cur_preset[0]"#echo ('', $selected)[$cur_preset[0] == $sickbeard.CPU_PRESET]#>$cur_preset[0].capitalize()</option>
|
|
#end for
|
|
</select>
|
|
<span>Normal (default). High is lower and Low is higher CPU use</span>
|
|
</span>
|
|
</label>
|
|
</div>
|
|
|
|
<div class="field-pair">
|
|
<label>
|
|
<span class="component-title">Anonymous redirect</span>
|
|
<span class="component-desc">
|
|
<input type="text" name="anon_redirect" value="$sickbeard.ANON_REDIRECT" class="form-control input-sm input300">
|
|
<div class="clear-left"><p>backlink protection via anonymizer service, must end in "?"</p></div>
|
|
</span>
|
|
</label>
|
|
</div>
|
|
|
|
<div class="field-pair">
|
|
<label for="encryption_version">
|
|
<span class="component-title">Encrypt passwords</span>
|
|
<span class="component-desc">
|
|
<input type="checkbox" name="encryption_version" id="encryption_version"#echo ('', $checked)[$sickbeard.ENCRYPTION_VERSION]#>
|
|
<p>in the <code>config.ini</code> file.
|
|
<b>Warning:</b> Passwords must only contain <a target="_blank" href="<%= anon_url('http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters') %>">ASCII characters</a></p>
|
|
</span>
|
|
</label>
|
|
</div>
|
|
|
|
<div class="field-pair">
|
|
<label>
|
|
<span class="component-title">Proxy host</span>
|
|
<span class="component-desc">
|
|
<input type="text" name="proxy_setting" value="$sickbeard.PROXY_SETTING" class="form-control input-sm input300">
|
|
<p>blank to disable</p>
|
|
<div class="clear-left"><p>proxy address for connecting to providers (use 'PAC:Url' for PAC support)</p></div>
|
|
</span>
|
|
</label>
|
|
</div>
|
|
|
|
<div class="field-pair">
|
|
<label for="proxy_indexers">
|
|
<span class="component-title">Use proxy for indexers</span>
|
|
<span class="component-desc">
|
|
<input type="checkbox" name="proxy_indexers" id="proxy_indexers"#echo ('', $checked)[True == $sickbeard.PROXY_INDEXERS]#>
|
|
<p>use proxy host for TV info source connections</p>
|
|
</span>
|
|
</label>
|
|
</div>
|
|
|
|
<div class="field-pair">
|
|
<label>
|
|
<span class="component-title">File logging level:</span>
|
|
<span class="component-desc">
|
|
<select id="file_logging_presets" name="file_logging_preset" class="form-control input-sm">
|
|
#set $levels = $file_logging_presets.keys()
|
|
#set void = $levels.sort(lambda x, y: cmp($file_logging_presets[$x], $file_logging_presets[$y]))
|
|
#set $level_count = len($levels)
|
|
#for $level in $levels
|
|
#set $level_title = $level.title().upper()
|
|
#set $level_count -= 1
|
|
#set $level_text = '%s%s' % ($level.title(), (('', ' only')[0 == $level_count], ' and the next%s level%s' % ((' ' + str($level_count), '')[1 == $level_count], maybe_plural($level_count)))[0 < $level_count])
|
|
<option value="$level_title"#echo ('', $selected)[$level_title == $sickbeard.FILE_LOGGING_PRESET]#>$level_text</option>
|
|
#end for
|
|
</select>
|
|
<span>(default: Db)</span>
|
|
<p>enable Db or Debug to pin down an issue, the others are normal use</p>
|
|
</span>
|
|
</label>
|
|
</div>
|
|
|
|
<input type="submit" class="btn config_submitter" value="Save Changes">
|
|
</fieldset>
|
|
</div><!-- /component-group3 //-->
|
|
|
|
<br/>
|
|
<h6 class="pull-right"><b>All non-absolute folder locations are relative to <span class="path">$sickbeard.DATA_DIR</span></b></h6>
|
|
<input type="submit" class="btn pull-left config_submitter button" value="Save Changes">
|
|
|
|
</div><!-- /config-components -->
|
|
|
|
</form>
|
|
</div>
|
|
</div>
|
|
|
|
<div></div>
|
|
|
|
<script type="text/javascript" charset="utf-8">
|
|
<!--
|
|
jQuery('#log_dir').fileBrowser({ title: 'Select log file folder location' });
|
|
jQuery('#config-components').tabs();
|
|
//-->
|
|
</script>
|
|
|
|
#include $os.path.join($sickbeard.PROG_DIR, 'gui/slick/interfaces/default/inc_bottom.tmpl')
|