Overhaul General Configuration. Tweak top navbar. Fix imdb and other images.

Change to rename General Configuration -> "Web Interface" tab as "Interface".
Add a "User Interface" section to the "Interface" tab.
Change consolidate "Date and Time" and "Theme" tab content to "User Interface" section.
Add field in Advanced setting for a custom remote name used to populate branch versions.
Change theme name "original" to "light".
Improve text wording on all UI options under General Configuration.
Improve reduce over use of capitals.
Improve streamline UI layout, mark-up and some CSS styling of all General Configuration tabs.
Fix default top navbar background white-out behaviour on browsers that don't support gradients.
Improve top navbar gradient use for greater cross browser compatibility (e.g. Safari).
Fix dark theme divider between Season numbers on display show page.
Fix main background and border colour of logs on log page.
Fix imdb and three other images rejected by IExplorer because they were corrupt. Turns out that they were .ico files renamed to either .gif or .png instead of being properly converted.
Fix "Subtitle Language" drop down font colour when entering text on the Subtitles Search settings.
Clean up text, correct quotations, use spaces for code lines, tabs for html.
Update changelog.
This commit is contained in:
JackDandy 2014-10-27 00:29:12 +00:00
parent 7dd545ecae
commit 3b5fe4b0de
13 changed files with 597 additions and 591 deletions

View File

@ -1,8 +1,27 @@
### 0.x.x (2014-10-22 xx:xx:xx UTC)
### 0.x.x (2014-10-27 xx:xx:xx UTC)
* Add Bootstrap for UI features.
* Change UI to resize fluidly on different display sizes.
* Add Bootstrap for UI features
* Change UI to resize fluidly on different display sizes, fixes the issue where top menu items would disappear on smaller screens.
* Add date formats "dd/mm/yy", "dd/mm/yyyy", "day, dd/mm/yy" and "day, dd/mm/yyyy"
* Improve display of progress bars in the Downloads columns of the show list page
* Improve display of progress bars under the images in Layout Poster of the show list page
* Remove imdb watchlist feature as it wasn't ready for prime time
* Change to rename General Configuration -> "Web Interface" tab as "Interface"
* Add a "User Interface" section to the "Interface" tab
* Change bring together "Date and Time" and "Theme" tab content to "User Interface" section
* Add field in Advanced setting for a custom remote name used to populate branch versions
* Change theme name "original" to "light"
* Improve text wording on all UI options under General Configuration
* Improve reduce over use of capitals
* Improve streamline UI layout, mark-up and some CSS styling of all General Configuration tabs
* Fix default top navbar background white-out behaviour on browsers that don't support gradients
* Improve top navbar gradient use for greater cross browser compatibility (e.g. Safari)
* Fix dark theme divider between Season numbers on display show page
* Fix main background and border colour of logs on log page
* Fix imdb and three other images rejected by IExplorer because they were corrupt. Turns out that they were .ico files renamed to either .gif or .png instead of being properly converted
* Fix "Subtitle Language" drop down font colour when entering text on the Subtitles Search settings
* Clean up text, correct quotations, use spaces for code lines, tabs for html
* Update changelog
### 0.2.1 (2014-10-22 06:41:00 UTC)
@ -24,7 +43,7 @@
* Add return code from hardlinking error to log
* Fix ABD regex for certain filenames
* Miscellaneous UI fixes
* Update Tornado webserver to 4.1dev1 and add the certifi lib dependency.
* Update Tornado webserver to 4.1dev1 and add the certifi lib dependency
* Fix trending shows page from loading full size poster images
* Add "Archive on first match" to Manage, Mass Update, Edit Selected page
* Fix searching IPTorrentsProvider

View File

@ -1502,22 +1502,6 @@ config*.tmpl
padding-left: 20px;
}
#config label span.component-title {
float: left;
width: 172px;
margin-right: 10px;
font-size: 13px;
font-weight: bold;
}
#config label span.component-desc {
padding-bottom: 2px;
font-size: 12px;
font-weight: normal;
display:inline-block;
width:475px;
}
#config .metadataDiv {
display: none;
}
@ -1768,7 +1752,7 @@ td.tableright {
.separator {
font-size: 90%;
color: #333333;
color: #fff;
}
a.whitelink {
@ -1939,10 +1923,6 @@ html * {
outline: 0 !important;
}
input[type="checkbox"] {
margin: 3px 0px 0px;
line-height: normal;
}
input[type="radio"] {
margin: 2px 0px 0px;
@ -1965,8 +1945,10 @@ input, textarea, select, .uneditable-input {
/* navbar styling */
.navbar-default {
background-image: -moz-linear-gradient(#297AB8, #15528F);
background-image: linear-gradient(#297AB8, #15528F);
background-color: #15528F;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#297AB8', endColorstr='#15528F');
background: -webkit-gradient(linear, left top, left bottom, from(#297AB8), to(#15528F));
background: -moz-linear-gradient(top, #297AB8, #15528F);
border-color: #3e3f3a;
}
@ -2468,6 +2450,12 @@ label {
font-weight: normal;
}
pre {
color: #fff;
background-color: #3d3d3d;
border-color: #111;
}
/* =======================================================================
input sizing (for config pages)
========================================================================== */
@ -2922,17 +2910,11 @@ li.token-input-input-token input {
}
div.token-input-dropdown {
position: absolute;
width: 273px;
background-color: #fff;
overflow: hidden;
border-left: 1px solid #ccc;
border-right: 1px solid #ccc;
border-bottom: 1px solid #ccc;
cursor: default;
font-size: 11px;
font-family: Verdana;
z-index: 1;
color: #000;
border-left-color: #ccc;
border-right-color: #ccc;
border-bottom-color: #ccc;
}
div.token-input-dropdown p {

View File

@ -1479,22 +1479,6 @@ config*.tmpl
padding-left: 20px;
}
#config label span.component-title {
float: left;
width: 172px;
margin-right: 10px;
font-size: 13px;
font-weight: bold;
}
#config label span.component-desc {
padding-bottom: 2px;
font-size: 12px;
font-weight: normal;
display:inline-block;
width:475px;
}
#config .metadataDiv {
display: none;
}
@ -1914,11 +1898,6 @@ html * {
outline: 0 !important;
}
input[type="checkbox"] {
margin: 3px 0px 0px;
line-height: normal;
}
input[type="radio"] {
margin: 2px 0px 0px;
line-height: normal;
@ -1940,8 +1919,10 @@ input, textarea, select, .uneditable-input {
/* navbar styling */
.navbar-default {
background-image: -moz-linear-gradient(#555555, #333333);
background-image: linear-gradient(#555555, #333333);
background-color: #333333;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#555555', endColorstr='#333333');
background: -webkit-gradient(linear, left top, left bottom, from(#555), to(#333));
background: -moz-linear-gradient(top, #555, #333);
border-color: #3e3f3a;
}
@ -2439,9 +2420,9 @@ label {
}
pre {
color: #fff;
background-color: #3d3d3d;
border: 1px solid #111;
color: #000;
background-color: #F5F5F5;
border-color: #ccc;
}
/* =======================================================================
@ -2866,17 +2847,11 @@ li.token-input-input-token input {
}
div.token-input-dropdown {
position: absolute;
width: 273px;
background-color: #fff;
overflow: hidden;
border-left: 1px solid #ccc;
border-right: 1px solid #ccc;
border-bottom: 1px solid #ccc;
cursor: default;
font-size: 11px;
font-family: Verdana;
z-index: 1;
color: #000;
border-left-color: #ccc;
border-right-color: #ccc;
border-bottom-color: #ccc;
}
div.token-input-dropdown p {

View File

@ -489,6 +489,20 @@ inc_bottom.tmpl
display: inline;
}
/* =======================================================================
inc_rootDirs.tmpl
========================================================================== */
.rootdir-selectbox,
.rootdir-selectbox #rootDirs,
.rootdir-controls {
width: 430px
}
.rootdir-selectbox {
padding: 0 0 5px
}
.rootdir-controls {
text-align: center
}
/* =======================================================================
home.tmpl
@ -1511,16 +1525,20 @@ config*.tmpl
padding: 12px 0px;
}
#config div.field-pair select,
#config div.field-pair input {
margin-right: 6px;
}
#config div.field-pair input {
float: left;
margin-right: 6px;
}
#config .nocheck, #config div #customQuality, .metadataDiv, .providerDiv {
padding-left: 20px;
}
#config label span.component-title {
#config span.component-title {
float: left;
width: 172px;
margin-right: 10px;
@ -1528,14 +1546,17 @@ config*.tmpl
font-weight: bold;
}
#config label span.component-desc {
padding-bottom: 2px;
#config span.component-desc {
font-size: 12px;
font-weight: normal;
display:inline-block;
display:block;
width:475px;
margin-left:182px
}
#config label.space-right {
margin-right:10px
}
#config .metadataDiv {
display: none;
}
@ -1956,7 +1977,7 @@ html * {
}
input[type="checkbox"] {
margin: 3px 0px 0px;
margin: 2px 0px 0px;
line-height: normal;
}
@ -1980,12 +2001,6 @@ input, textarea, select, .uneditable-input {
}
/* navbar styling */
.navbar-default {
background-image: -moz-linear-gradient(#555555, #333333);
background-image: linear-gradient(#555555, #333333);
border-color: #3e3f3a;
}
.navbar-default .navbar-brand {
color: #ffffff;
}
@ -2480,9 +2495,7 @@ label {
}
pre {
color: #fff;
background-color: #3d3d3d;
border: 1px solid #111;
border: 1px solid;
}
/* =======================================================================
@ -2933,11 +2946,10 @@ li.token-input-input-token input {
div.token-input-dropdown {
position: absolute;
width: 273px;
background-color: #fff;
overflow: hidden;
border-left: 1px solid #ccc;
border-right: 1px solid #ccc;
border-bottom: 1px solid #ccc;
border-left: 1px solid;
border-right: 1px solid;
border-bottom: 1px solid;
cursor: default;
font-size: 11px;
font-family: Verdana;
@ -2982,3 +2994,6 @@ div.token-input-dropdown ul li.token-input-selected-dropdown-item {
span.token-input-delete-token {
margin: 0 1px;
}
.red-text {color:#d33}
.clear-left {clear:left}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.9 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 101 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 243 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 984 B

View File

@ -7,13 +7,14 @@
#from sickbeard import config
#from sickbeard import metadata
#from sickbeard.metadata.generic import GenericMetadata
#set global $title = "Config - General"
#set global $header = "General Configuration"
#set global $sbPath="../.."
#set global $title = 'Config - General'
#set global $header = 'General Configuration'
#set global $topmenu="config"#
#include $os.path.join($sickbeard.PROG_DIR, "gui/slick/interfaces/default/inc_top.tmpl")
#set global $sbPath = '../..'
#set global $topmenu = 'config'
#include $os.path.join($sickbeard.PROG_DIR, 'gui/slick/interfaces/default/inc_top.tmpl')
#if $varExists('header')
<h1 class="header">$header</h1>
@ -37,95 +38,210 @@
<ul>
<li><a href="#core-component-group1">Misc</a></li>
<li><a href="#core-component-group2">Web Interface</a></li>
<li><a href="#core-component-group3">Date and Time</a></li>
<li><a href="#core-component-group4">Advanced Settings</a></li>
<li><a href="#core-component-group5">UI Theme Settings</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" class="component-group">
<div id="core-component-group1">
<div class="component-group">
<div class="component-group-desc">
<h3>Misc</h3>
<p>Startup options.</p>
<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">
<input type="checkbox" name="launch_browser" id="launch_browser" #if $sickbeard.LAUNCH_BROWSER then "checked=\"checked\"" else ""#/>
<label for="launch_browser">
<span class="component-title">Launch Browser</span>
<span class="component-desc">Should SickRage open its home page when started?</span>
<span class="component-title">Launch browser</span>
<span class="component-desc">
<input type="checkbox" name="launch_browser" id="launch_browser" #if $sickbeard.LAUNCH_BROWSER then 'checked="checked"' else ''#/>
<p>open the SickRage home page on startup</p>
</span>
</label>
</div>
<div class="field-pair">
<input type="checkbox" name="update_shows_on_start" id="update_shows_on_start" #if $sickbeard.UPDATE_SHOWS_ON_START then "checked=\"checked\"" else ""#/>
<label for="update_shows_on_start">
<span class="component-title">Update Shows on Start</span>
<span class="component-desc">Should SickRage update shows info when started?</span>
<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" #if $sickbeard.UPDATE_SHOWS_ON_START then 'checked="checked"' else ''#/>
<p>with information such as next air dates, show ended, etc. Disable for a faster startup as show info is sheduled to update in the background anyway</p>
</span>
</label>
</div>
<div class="field-pair">
<input type="checkbox" name="version_notify" id="version_notify" #if $sickbeard.VERSION_NOTIFY then "checked=\"checked\"" else ""#/>
<label for="version_notify">
<span class="component-title">Check for Update</span>
<span class="component-desc">Show notification about updates for SickRage if available.</span>
</label>
<label class="nocheck">
<span class="component-title">&nbsp;</span>
<span class="component-desc">Checking for updates runs on startup and on the interval specified below.</span>
<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>
<div class="field-pair">
<label class="nocheck">
<span class="component-title">Update Frequency</span>
<input type="text" name="update_frequency" id="update_frequency" value="$sickbeard.UPDATE_FREQUENCY" class="form-control input-sm input75" />
</label>
<label class="nocheck">
<span class="component-title">&nbsp;</span>
<span class="component-desc">Time in hours to check for software updates (eg. 12)</span>
</label>
</div>
<div class="field-pair">
<input type="checkbox" name="auto_update" id="auto_update" #if $sickbeard.AUTO_UPDATE then "checked=\"checked\"" else ""#/>
<label for="auto_update">
<span class="component-title">Automatic Updates</span>
<span class="component-desc">Automatically get and install updates for SickRage when available.</span>
</label>
<label class="nocheck">
<span class="component-title">&nbsp;</span>
<span class="component-desc">updates run on startup and in the background on the interval specified above.</span>
</label>
</div>
<div class="field-pair">
<input type="checkbox" name="notify_on_update" id="notify_on_update" #if $sickbeard.NOTIFY_ON_UPDATE then "checked=\"checked\"" else ""#/>
<label for="notify_on_update">
<span class="component-title">Notify on Update</span>
<span class="component-desc">Sends the notification SickRage has been updated to all enabled notifiers.</span>
</label>
</div>
<div class="field-pair">
<input type="checkbox" name="sort_article" id="sort_article" #if $sickbeard.SORT_ARTICLE then "checked=\"checked\"" else ""#/>
<label for="sort_article">
<span class="component-title">Sort Articles</span>
<span class="component-desc">Include articles (The, A, An) when sorting show lists.</span>
</label>
</div>
<div class="field-pair">
<label class="nocheck" for="indexer_default">
<span class="component-title">Default Indexer:</span>
<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" #if $indexer == 0 then "selected=\"selected\"" else ""#>All Indexers</option>
<option value="0" #if $indexer == 0 then 'selected="selected"' else ''#>All Indexers</option>
#for $indexer in $sickbeard.indexerApi().indexers
<option value="$indexer" #if $indexer == $sickbeard.INDEXER_DEFAULT then "selected=\"selected\"" else ""#>$sickbeard.indexerApi().indexers[$indexer]</option>
<option value="$indexer" #if $indexer == $sickbeard.INDEXER_DEFAULT then 'selected="selected"' else ''#>$sickbeard.indexerApi().indexers[$indexer]</option>
#end for
</select>
<span>as the default selection when adding new shows</span>
</span>
</label>
</div>
<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" #if $sickbeard.VERSION_NOTIFY then 'checked="checked"' else ''#/>
<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" #if $sickbeard.AUTO_UPDATE then 'checked="checked"' else ''#/>
<p>fetch and install software updates.
Updates are run on startup and in the background at the frequency set below*</p>
</span>
</label>
</div>
<div class="field-pair">
<label>
<span class="component-title">Check the server every*</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" #if $sickbeard.NOTIFY_ON_UPDATE then 'checked="checked"' else ''#/>
<p>send a message to all enabled notifiers when SickRage 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" #if $sickbeard.THEME_NAME == 'dark' then 'selected="selected"' else ''#>Dark</option>
<option value="light" #if $sickbeard.THEME_NAME == 'light' then 'selected="selected"' else ''#>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="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" #if $sickbeard.SORT_ARTICLE then 'checked="checked"' else ''#/>
<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" #if $sickbeard.FUZZY_DATING == True then 'checked="checked"' else ''#/>
<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#if True == $sickbeard.FUZZY_DATING then '' else ' metadataDiv'#">
<label for="trim_zero">
<span class="component-title">Trim zero padding</span>
<span class="component-desc">
<input type="checkbox" name="trim_zero" id="trim_zero" #if True == $sickbeard.TRIM_ZERO then 'checked="checked"' else ''#/>
<p>remove the leading number "0" shown on hour of day, and date of month</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 #if True == $sickbeard.FUZZY_DATING then '' else ' metadataDiv'#" id="date_presets#if True == $sickbeard.FUZZY_DATING then '' else '_na'#" name="date_preset#if True == $sickbeard.FUZZY_DATING then '' else '_na'#">
#for $cur_preset in $date_presets:
<option value="$cur_preset" #if $cur_preset == $sickbeard.DATE_PRESET or ("%x" == $sickbeard.DATE_PRESET and "$cur_preset" == '%a, %b %d, %Y') then 'selected="selected"' else ''#>$datetime.datetime($datetime.datetime.now().year, 12, 31, 14, 30, 47).strftime($cur_preset)</option>
#end for
</select>
<select class="form-control input-sm #if True != $sickbeard.FUZZY_DATING then '' else ' metadataDiv'#" id="date_presets#if True != $sickbeard.FUZZY_DATING then '' else '_na'#" name="date_preset#if True != $sickbeard.FUZZY_DATING then '' else '_na'#">
<option value="%x" #if "%x" == $sickbeard.DATE_PRESET then 'selected="selected"' else ''#>Use System Default</option>
#for $cur_preset in $date_presets:
<option value="$cur_preset" #if $cur_preset == $sickbeard.DATE_PRESET then 'selected="selected"' else ''#>$datetime.datetime($datetime.datetime.now().year, 12, 31, 14, 30, 47).strftime($cur_preset)</option>
#end for
</select>
</span>
@ -133,58 +249,49 @@
</div>
<div class="field-pair">
<label class="nocheck">
<span class="component-title">Indexer Timeout</span>
<input type="text" name="indexer_timeout" id="indexer_timeout" value="$sickbeard.INDEXER_TIMEOUT" class="form-control input-sm input75" />
</label>
<label class="nocheck">
<span class="component-title">&nbsp;</span>
<span class="component-desc">Time in seconds before Indexer search times out for adding shows (eg. 10)</span>
<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:
<option value="$cur_preset" #if $cur_preset == $sickbeard.TIME_PRESET_W_SECONDS then 'selected="selected"' else ''#>$sbdatetime.now().sbftime(show_seconds=True,t_preset=$cur_preset)</option>
#end for
</select>
<span><b>note:</b> seconds are only shown on the History page</span>
</span>
</label>
</div>
<div class="field-pair">
<label class="nocheck" for="log_dir">
<span class="component-title">Logging Directory</span>
<input type="text" name="log_dir" id="log_dir" value="$sickbeard.ACTUAL_LOG_DIR" class="form-control input-sm input350" />
<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" #if "local" == $sickbeard.TIMEZONE_DISPLAY then 'checked="checked"' else ''# />Local
</label>
<label for="network">
<input type="radio" name="timezone_display" id="network" value="network" #if "network" == $sickbeard.TIMEZONE_DISPLAY then 'checked="checked"' else ''# />Network
</label>
<div class="clear-left"><p>display dates and times in either your timezone or the shows network timezone</p></div>
</span>
</div>
<div class="field-pair">
<input type="checkbox" name="handle_reverse_proxy" id="handle_reverse_proxy" #if $sickbeard.HANDLE_REVERSE_PROXY then "checked=\"checked\"" else ""#/>
<label for="handle_reverse_proxy">
<span class="component-title">Reverse Proxy Headers</span>
<span class="component-desc">Should SickRage accept the following reverse proxy headers?</span>
</label>
<label class="nocheck">
<span class="component-title">&nbsp;</span>
<span class="component-desc">(X-Forwarded-Host, X-Forwarded-For, X-Forwarded-Proto)</span>
</label>
</div>
<div class="field-pair">
<input type="checkbox" name="play_videos" id="play_videos" #if $sickbeard.PLAY_VIDEOS then "checked=\"checked\"" else ""#/>
<label for="play_videos">
<span class="component-title">Play Videos</span>
<span class="component-desc">Play video files from display show page?</span>
</label>
</div>
<div class="field-pair">
<label>
<span class="component-title">Show Root Directories</span>
<span class="component-desc">Set root directories for where you want your shows to be.</span>
#include $os.path.join($sickbeard.PROG_DIR, "gui/slick/interfaces/default/inc_rootDirs.tmpl")
<span class="component-title">Browser video player</span>
<span class="component-desc">
<input type="checkbox" name="play_videos" id="play_videos" #if $sickbeard.PLAY_VIDEOS then 'checked="checked"' else ''#/>
<p>play video files from display show page<?p>
</span>
</label>
</div>
<input type="submit" class="btn config_submitter" value="Save Changes" />
</fieldset>
</div><!-- /component-group1 //-->
</div><!-- /User interface component-group -->
<div id="core-component-group2" class="component-group">
<div class="component-group">
<div class="component-group-desc">
<h3>Web Interface</h3>
@ -195,164 +302,230 @@
<fieldset class="component-group-list">
<div class="field-pair">
<input type="checkbox" name="web_ipv6" id="web_ipv6" #if $sickbeard.WEB_IPV6 then "checked=\"checked\"" else ""#/>
<label for="use_api">
<span class="component-title">Enable API</span>
<span class="component-desc">
<input type="checkbox" name="use_api" class="enabler" id="use_api" #if $sickbeard.USE_API then 'checked="checked"' else ''#/>
<p>allow the use of the SickRage 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 SickRage</p></div>
</span>
</label>
</div>
</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" #if $sickbeard.WEB_LOG then 'checked="checked"' else ''#/>
<p>enable logs from the internal Tornado web server</p>
</span>
</label>
</div>
<div class="field-pair">
<label for="web_username">
<span class="component-title">HTTP 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>set blank for no login</p>
</span>
</label>
</div>
<div class="field-pair">
<label for="web_password">
<span class="component-title">HTTP password</span>
<span class="component-desc">
<input type="password" name="web_password" id="web_password" value="$sickbeard.WEB_PASSWORD" class="form-control input-sm input300" />
<p>blank = no authentication</span>
</label>
</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 browse and access SickRage (default:8081)</p>
</span>
</label>
</div>
<div class="field-pair">
<label for="web_ipv6">
<span class="component-title">Listen on IPv6</span>
<span class="component-desc">Allow SickRage to bind to any available IPv6 address?</span>
<span class="component-desc">
<input type="checkbox" name="web_ipv6" id="web_ipv6" #if $sickbeard.WEB_IPV6 then 'checked="checked"' else ''#/>
<p>attempt binding to any available IPv6 address</p>
</span>
</label>
</div>
<div class="field-pair">
<input type="checkbox" name="web_log" id="web_log" #if $sickbeard.WEB_LOG then "checked=\"checked\"" else ""#/>
<label for="web_log">
<span class="component-title">HTTP Logs</span>
<span class="component-desc">Have SickRage's web server (tornado) generate logs?</span>
</label>
</div>
<div class="field-pair">
<label class="nocheck">
<span class="component-title">HTTP Port</span>
<input type="text" name="web_port" value="$sickbeard.WEB_PORT" class="form-control input-sm input100" />
</label>
<label class="nocheck">
<span class="component-title">&nbsp;</span>
<span class="component-desc">Web port that SickRage should listen on (eg. 8081)</span>
</label>
</div>
<div class="field-pair">
<label class="nocheck">
<span class="component-title">HTTP Username</span>
<input type="text" name="web_username" value="$sickbeard.WEB_USERNAME" class="form-control input-sm input300" />
</label>
<label class="nocheck">
<span class="component-title">&nbsp;</span>
<span class="component-desc">Username for authentication (blank for none)</span>
</label>
</div>
<div class="field-pair">
<label class="nocheck">
<span class="component-title">HTTP Password</span>
<input type="password" name="web_password" value="$sickbeard.WEB_PASSWORD" class="form-control input-sm input300" />
</label>
<label class="nocheck">
<span class="component-title">&nbsp;</span>
<span class="component-desc">Password for authentication (blank for none)</span>
</label>
</div>
<div class="field-pair">
<label>
<input type="checkbox" name="enable_https" class="enabler" id="enable_https" #if $sickbeard.ENABLE_HTTPS then "checked=\"checked\"" else ""#/>
<label for="enable_https">
<span class="component-title">Enable HTTPS</span>
<span class="component-desc">Enable accessing the interface from a HTTPS address.</span>
<span class="component-desc">
<input type="checkbox" name="enable_https" class="enabler" id="enable_https" #if $sickbeard.ENABLE_HTTPS then 'checked="checked"' else ''#/>
<p>enable access to the web interface using a HTTPS address</p>
</span>
</label>
</div>
<div id="content_enable_https">
<div class="field-pair">
<label class="nocheck">
<span class="component-title">HTTPS Certificate</span>
<input type="text" name="https_cert" value="$sickbeard.HTTPS_CERT" class="form-control input-sm input300" />
<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 HTTPS certificate</p></div>
</span>
</label>
<label class="nocheck">
<span class="component-title">&nbsp;</span>
<span class="component-desc">File name or path to HTTPS Certificate.</span>
</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 HTTPS key</p></div>
</span>
</label>
</div>
</div>
<div class="field-pair">
<label class="nocheck">
<span class="component-title">HTTPS Key</span>
<input type="text" name="https_key" value="$sickbeard.HTTPS_KEY" class="form-control input-sm input300" />
<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" #if $sickbeard.HANDLE_REVERSE_PROXY then 'checked="checked"' else ''#/>
<p>accept the following reverse proxy headers (advanced)...<br />(X-Forwarded-For, X-Forwarded-Host, and X-Forwarded-Proto)</p>
</span>
</label>
<label class="nocheck">
<span class="component-title">&nbsp;</span>
<span class="component-desc">File name or path to HTTPS Key.</span>
</label>
</div>
</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>Date and Time</h3>
<h3>Advanced Settings</h3>
</div>
<fieldset class="component-group-list">
<div class="field-pair">
<input type="checkbox" name="fuzzy_dating" id="fuzzy_dating" class="viewIf datePresets" #if $sickbeard.FUZZY_DATING == True then "checked=\"checked\"" else ""#/>
<label for="fuzzy_dating">
<span class="component-title">Display Fuzzy Dates</span>
<span class="component-desc">E.g "Last Thu", "On Tue" and move the absolute date into time tooltips?</span>
</label>
</div>
<div class="field-pair show_if_fuzzy_dating#if True == $sickbeard.FUZZY_DATING then '' else ' metadataDiv'#">
<input type="checkbox" name="trim_zero" id="trim_zero" #if $sickbeard.TRIM_ZERO == True then "checked=\"checked\"" else ""#/>
<label for="trim_zero">
<span class="component-title">Trim Zero Padding</span>
<span class="component-desc">Trim leading number "0" shown on hour of day and date of month?</span>
</label>
</div>
<div class="field-pair">
<label class="nocheck" for="date_presets">
<span class="component-title">Date Style:</span>
<label>
<span class="component-title">Branch version:</span>
<span class="component-desc">
<select class="form-control input-sm #if True == $sickbeard.FUZZY_DATING then '' else ' metadataDiv'#" id="date_presets#if True == $sickbeard.FUZZY_DATING then '' else '_na'#" name="date_preset#if True == $sickbeard.FUZZY_DATING then '' else '_na'#">
#for $cur_preset in $date_presets:
<option value="$cur_preset" #if $cur_preset == $sickbeard.DATE_PRESET or ("%x" == $sickbeard.DATE_PRESET and "$cur_preset" == '%a, %b %d, %Y') then "selected=\"selected\"" else ""#>$datetime.datetime($datetime.datetime.now().year, 12, 31, 14, 30, 47).strftime($cur_preset)</option>
#end for
</select>
<select class="form-control input-sm #if True != $sickbeard.FUZZY_DATING then '' else ' metadataDiv'#" id="date_presets#if True != $sickbeard.FUZZY_DATING then '' else '_na'#" name="date_preset#if True != $sickbeard.FUZZY_DATING then '' else '_na'#">
<option value="%x" #if "%x" == $sickbeard.DATE_PRESET then "selected=\"selected\"" else ""#>Use System Default</option>
#for $cur_preset in $date_presets:
<option value="$cur_preset" #if $cur_preset == $sickbeard.DATE_PRESET then "selected=\"selected\"" else ""#>$datetime.datetime($datetime.datetime.now().year, 12, 31, 14, 30, 47).strftime($cur_preset)</option>
<select id="branchVersion" class="form-control form-control-inline input-sm pull-left">
#for $cur_branch in $sickbeard.versionCheckScheduler.action.list_remote_branches():
<option value="$cur_branch" #if $cur_branch == $sickbeard.BRANCH then 'selected="selected"' else ''#>$cur_branch</option>
#end for
</select>
<input class="btn btn-inline" style="margin-left: 6px;" type="button" id="branchCheckout" value="Checkout Branch">
<div class="clear-left"><p>select branch to use (restart required)</p></div>
</span>
</label>
</div>
<div class="field-pair">
<label class="nocheck" for="time_presets">
<span class="component-title">Time Style:</span>
<label for="git_remote">
<span class="component-title">Git remote for branch</span>
<span class="component-desc">
<select id="time_presets" name="time_preset" class="form-control input-sm">
#for $cur_preset in $time_presets:
<option value="$cur_preset" #if $cur_preset == $sickbeard.TIME_PRESET_W_SECONDS then "selected=\"selected\"" else ""#>$sbdatetime.now().sbftime(show_seconds=True,t_preset=$cur_preset)</option>
#end for
</select>
<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</p></div>
</span>
</label>
<label class="nocheck">
<span class="component-title">&nbsp;</span>
<span class="component-desc"><b>Note:</b> Seconds are only shown on the History page.</span>
</label>
</div>
<div class="field-pair">
<label class="nocheck">
<span class="component-title">Timezones:</span>
<span class="component-desc">Display dates and times in either your timezone or the shows network timezone?</span>
</label>
<label class="nocheck">
<span class="component-title">&nbsp;</span>
<label>
<span class="component-title">Git executable path</span>
<span class="component-desc">
<input type="radio" name="timezone_display" id="local" value="local" #if $sickbeard.TIMEZONE_DISPLAY=="local" then "checked=\"checked\"" else ""# />Local Timezone<br />
<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>
<span class="component-title">&nbsp;</span>
</label>
</div>
<div class="field-pair">
<label>
<span class="component-title">CPU throttling:</span>
<span class="component-desc">
<input type="radio" name="timezone_display" id="network" value="network" #if $sickbeard.TIMEZONE_DISPLAY=="network" then "checked=\"checked\"" else ""# />Network Timezone<br />
<select id="cpu_presets" name="cpu_preset" class="form-control input-sm">
#for $cur_preset in $cpu_presets:
<option value="$cur_preset" #if $cur_preset == $sickbeard.CPU_PRESET then 'selected="selected"' else ''#>$cur_preset.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" #if $sickbeard.ENCRYPTION_VERSION then 'checked="checked"' else ''#/>
<p>in the <code>config.ini</code> file.
<b>Warning:</b> Passwords must only contain <a target="_blank" href="http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters">ASCII characters</a></p>
</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" #if $sickbeard.CALENDAR_UNPROTECTED then 'checked="checked"' else ''#/>
<p>allow subscribing to the calendar without user and password.
Some services like Google Calendar only work this way</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" />
<div class="clear-left"><p>blank to disable or proxy to use when connecting to providers</p></div>
</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" #if True == $sickbeard.PROXY_INDEXERS then 'checked="checked"' else ''#/>
<p>use proxy host for connecting to indexers (thetvdb, tvrage)</p>
</span>
</label>
</div>
@ -361,169 +534,6 @@
</fieldset>
</div><!-- /component-group3 //-->
<div id="core-component-group4" class="component-group">
<div class="component-group-desc">
<h3>Advanced Settings</h3>
<p>You need to know what you are doing here!!!</p>
</div>
<fieldset class="component-group-list">
<div class="field-pair">
<label class="nocheck">
<span class="component-title">Branch Version:</span>
<span class="component-desc">
<select id="branchVersion" class="form-control form-control-inline input-sm pull-left">
#for $cur_branch in $sickbeard.versionCheckScheduler.action.list_remote_branches():
<option value="$cur_branch" #if $cur_branch == $sickbeard.BRANCH then "selected=\"selected\"" else ""#>$cur_branch</option>
#end for
</select>
<input class="btn btn-inline" style="margin-left: 6px;" type="button" id="branchCheckout" value="Checkout Branch">
</span>
</label>
<label class="nocheck">
<span class="component-title">&nbsp;</span>
<span class="component-desc">Select the branch you wish to use, changing this will require a restart.</span>
</label>
</div>
<div class="field-pair">
<label class="nocheck">
<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 $cpu_presets:
<option value="$cur_preset" #if $cur_preset == $sickbeard.CPU_PRESET then "selected=\"selected\"" else ""#>$cur_preset.capitalize()</option>
#end for
</select>
</span>
</label>
<label class="nocheck">
<span class="component-title">&nbsp;</span>
<span class="component-desc">Normal = Default.&nbsp;&nbsp;High = Lower CPU usage.&nbsp;&nbsp;Low = Higher CPU usage.</span>
</label>
</div>
<div class="field-pair">
<label class="nocheck">
<span class="component-title">Anonymous Redirect</span>
<input type="text" name="anon_redirect" value="$sickbeard.ANON_REDIRECT" class="form-control input-sm input300" />
</label>
<label class="nocheck">
<span class="component-title">&nbsp;</span>
<span class="component-desc">Backlink protection via anonymizer service, must end in <b>?</b></span>
</label>
</div>
<div class="field-pair">
<label class="nocheck">
<span class="component-title">Git Path</span>
<input type="text" name="git_path" value="$sickbeard.GIT_PATH" class="form-control input-sm input300" />
</label>
<label class="nocheck">
<span class="component-title">&nbsp;</span>
<span class="component-desc">Specify path to Git binary, use only if OS is unable to find the path.</span>
</label>
</div>
<div class="field-pair">
<input type="checkbox" name="use_api" class="enabler" id="use_api" #if $sickbeard.USE_API then "checked=\"checked\"" else ""#/>
<label for="use_api">
<span class="component-title">Enable API</span>
<span class="component-desc">Allow the use of the Sick-Beard API.</span>
</label>
</div>
<div id="content_use_api">
<div class="field-pair">
<label class="nocheck" for="api_key">
<span class="component-title">API Key</span>
<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">
</label>
<label class="nocheck">
<span class="component-title">&nbsp;</span>
<span class="component-desc">Used to give 3rd party programs limited access to Sick-Beard.</span>
</label>
</div>
</div>
<div class="field-pair">
<input type="checkbox" name="encryption_version" id="encryption_version" #if $sickbeard.ENCRYPTION_VERSION then "checked=\"checked\"" else ""#/>
<label for="encryption_version">
<span class="component-title">Encrypt Passwords</span>
<span class="component-desc">Should SickRage encrypt passwords in <code>config.ini</code> file?</span>
</label>
<label class="nocheck">
<span class="component-title">&nbsp;</span>
<span class="component-desc"><b>Warning</b>: Passwords must only contain <a href="http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters">ASCII characters</a></span>
</label>
</div>
<div class="field-pair">
<input type="checkbox" name="calendar_unprotected" id="calendar_unprotected" #if $sickbeard.CALENDAR_UNPROTECTED then "checked=\"checked\"" else ""#/>
<label for="calendar_unprotected">
<span class="component-title">Unprotected Calendar</span>
<span class="component-desc">Allow subscribing to the calendar without user and password.</span>
</label>
<label class="nocheck">
<span class="component-title">&nbsp;</span>
<span class="component-desc">Some services like Google Calendar only work this way.</span>
</label>
</div>
<div class="field-pair">
<label class="nocheck">
<span class="component-title">Proxy Settings</span>
<input type="text" name="proxy_setting" value="$sickbeard.PROXY_SETTING" class="form-control input-sm input300" />
</label>
<label class="nocheck">
<span class="component-title">&nbsp;</span>
<span class="component-desc">Proxy to use for connecting to providers. Leave empty to not use proxy.</span>
</label>
</div>
<div class="field-pair">
<input type="checkbox" name="proxy_indexers" id="proxy_indexers" #if $sickbeard.PROXY_INDEXERS == True then "checked=\"checked\"" else ""#/>
<label for="proxy_indexers">
<span class="component-title">Proxy Indexers</span>
<span class="component-desc">Use the proxy for connecting to indexers (thetvdb, tvrage)</span>
</label>
</div>
<input type="submit" class="btn config_submitter" value="Save Changes" />
</fieldset>
</div><!-- /component-group4 //-->
<div id="core-component-group5" class="component-group">
<div class="component-group-desc">
<h3>UI Theme Settings</h3>
<p>Change UI settings to your liking.</p>
</div>
<fieldset class="component-group-list">
<div class="field-pair">
<label class="nocheck">
<span class="component-title">UI Theme:</span>
<span class="component-desc">
<select id="theme_name" name="theme_name" class="form-control input-sm">
<option value="dark" #if $sickbeard.THEME_NAME == "dark" then "selected=\"selected\"" else ""#>Dark</option>
<option value="original" #if $sickbeard.THEME_NAME == "original" then "selected=\"selected\"" else ""#>Original</option>
</select>
</span>
</label>
<label class="nocheck">
<span class="component-title">&nbsp;</span>
<span class="component-desc"><font color="red">Please refresh your browser after you have saved for appearance to take effect.</font></span>
</label>
</div>
<input type="submit" class="btn config_submitter" value="Save Changes" />
</fieldset>
</div><!-- /component-group5 //-->
<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" />
@ -538,9 +548,9 @@
<script type="text/javascript" charset="utf-8">
<!--
jQuery('#log_dir').fileBrowser({ title: 'Select Log Directory' });
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")
#include $os.path.join($sickbeard.PROG_DIR, 'gui/slick/interfaces/default/inc_bottom.tmpl')

View File

@ -11,18 +11,17 @@
#end if
<input type="hidden" id="whichDefaultRootDir" value="$backend_default" />
<div style="padding: 10px 0 5px; width: 670px; margin-left: auto; margin-right: auto;">
<select name="rootDir" id="rootDirs" size="6" style="width: 670px;">
<div class="rootdir-selectbox">
<select name="rootDir" id="rootDirs" size="6">
#for $cur_dir in $backend_dirs:
<option value="$cur_dir">$cur_dir</option>
#end for
</select>
</div>
<div id="rootDirsControls" style="text-align: center; width: 670px; margin-left: auto; margin-right: auto;">
<div id="rootDirsControls" class="rootdir-controls">
<input class="btn" type="button" id="addRootDir" value="New" />
<input class="btn" type="button" id="editRootDir" value="Edit" />
<input class="btn" type="button" id="deleteRootDir" value="Delete" />
<input class="btn" type="button" id="defaultRootDir" value="Set as Default *" />
</div>
<input type="text" style="display: none" id="rootDirText" />
<br />

View File

@ -104,6 +104,7 @@ AUTO_UPDATE = False
NOTIFY_ON_UPDATE = False
CUR_COMMIT_HASH = None
BRANCH = ''
GIT_REMOTE = ''
CUR_COMMIT_BRANCH = ''
INIT_LOCK = Lock()
@ -460,7 +461,7 @@ def get_backlog_cycle_time():
def initialize(consoleLogging=True):
with INIT_LOCK:
global BRANCH, CUR_COMMIT_HASH, CUR_COMMIT_BRANCH, ACTUAL_LOG_DIR, LOG_DIR, WEB_PORT, WEB_LOG, ENCRYPTION_VERSION, WEB_ROOT, WEB_USERNAME, WEB_PASSWORD, WEB_HOST, WEB_IPV6, USE_API, API_KEY, ENABLE_HTTPS, HTTPS_CERT, HTTPS_KEY, \
global BRANCH, GIT_REMOTE, CUR_COMMIT_HASH, CUR_COMMIT_BRANCH, ACTUAL_LOG_DIR, LOG_DIR, WEB_PORT, WEB_LOG, ENCRYPTION_VERSION, WEB_ROOT, WEB_USERNAME, WEB_PASSWORD, WEB_HOST, WEB_IPV6, USE_API, API_KEY, ENABLE_HTTPS, HTTPS_CERT, HTTPS_KEY, \
HANDLE_REVERSE_PROXY, USE_NZBS, USE_TORRENTS, NZB_METHOD, NZB_DIR, DOWNLOAD_PROPERS, CHECK_PROPERS_INTERVAL, ALLOW_HIGH_PRIORITY, TORRENT_METHOD, \
SAB_USERNAME, SAB_PASSWORD, SAB_APIKEY, SAB_CATEGORY, SAB_HOST, \
NZBGET_USERNAME, NZBGET_PASSWORD, NZBGET_CATEGORY, NZBGET_PRIORITY, NZBGET_HOST, NZBGET_USE_HTTPS, backlogSearchScheduler, \
@ -530,6 +531,9 @@ def initialize(consoleLogging=True):
# wanted branch
BRANCH = check_setting_str(CFG, 'General', 'branch', '')
# git_remote
GIT_REMOTE = check_setting_str(CFG, 'General', 'git_remote', 'origin')
# current commit hash
CUR_COMMIT_HASH = check_setting_str(CFG, 'General', 'cur_commit_hash', '')
@ -1353,6 +1357,7 @@ def save_config():
# For passwords you must include the word `password` in the item_name and add `helpers.encrypt(ITEM_NAME, ENCRYPTION_VERSION)` in save_config()
new_config['General'] = {}
new_config['General']['branch'] = BRANCH
new_config['General']['git_remote'] = GIT_REMOTE
new_config['General']['cur_commit_hash'] = CUR_COMMIT_HASH
new_config['General']['cur_commit_branch'] = CUR_COMMIT_BRANCH
new_config['General']['config_version'] = CONFIG_VERSION

View File

@ -443,7 +443,7 @@ class GitUpdateManager(UpdateManager):
self._num_commits_ahead = 0
# get all new info from github
output, err, exit_status = self._run_git(self._git_path, 'fetch origin')
output, err, exit_status = self._run_git(self._git_path, 'fetch %s' % sickbeard.GIT_REMOTE)
if not exit_status == 0:
logger.log(u"Unable to contact github, can't check for update", logger.ERROR)
@ -538,7 +538,7 @@ class GitUpdateManager(UpdateManager):
"""
if self.branch == self._find_installed_branch():
output, err, exit_status = self._run_git(self._git_path, 'pull -f origin ' + self.branch) # @UnusedVariable
output, err, exit_status = self._run_git(self._git_path, 'pull -f %s %s' % (sickbeard.GIT_REMOTE, self.branch)) # @UnusedVariable
else:
output, err, exit_status = self._run_git(self._git_path, 'checkout -f ' + self.branch) # @UnusedVariable
@ -553,7 +553,7 @@ class GitUpdateManager(UpdateManager):
return False
def list_remote_branches(self):
branches, err, exit_status = self._run_git(self._git_path, 'ls-remote --heads origin') # @UnusedVariable
branches, err, exit_status = self._run_git(self._git_path, 'ls-remote --heads %s' % sickbeard.GIT_REMOTE) # @UnusedVariable
if exit_status == 0 and branches:
return re.findall('\S+\Wrefs/heads/(.*)', branches)
return []

View File

@ -1502,7 +1502,7 @@ class ConfigGeneral(MainHandler):
use_api=None, api_key=None, indexer_default=None, timezone_display=None, cpu_preset=None,
web_password=None, version_notify=None, enable_https=None, https_cert=None, https_key=None,
handle_reverse_proxy=None, sort_article=None, auto_update=None, notify_on_update=None,
proxy_setting=None, proxy_indexers=None, anon_redirect=None, git_path=None, calendar_unprotected=None,
proxy_setting=None, proxy_indexers=None, anon_redirect=None, git_path=None, git_remote=None, calendar_unprotected=None,
fuzzy_dating=None, trim_zero=None, date_preset=None, date_preset_na=None, time_preset=None,
indexer_timeout=None, play_videos=None, rootDir=None, theme_name=None):
@ -1525,6 +1525,7 @@ class ConfigGeneral(MainHandler):
sickbeard.PROXY_SETTING = proxy_setting
sickbeard.PROXY_INDEXERS = config.checkbox_to_value(proxy_indexers)
sickbeard.GIT_PATH = git_path
sickbeard.GIT_REMOTE = git_remote
sickbeard.CALENDAR_UNPROTECTED = config.checkbox_to_value(calendar_unprotected)
# sickbeard.LOG_DIR is set in config.change_LOG_DIR()