1
0
mirror of https://github.com/moparisthebest/SickRage synced 2025-01-08 04:18:09 -05:00

Merge branch 'release/v3.0.0'

Conflicts:
	gui/slick/interfaces/default/config.tmpl
	sickbeard/__init__.py
	sickbeard/versionChecker.py
This commit is contained in:
echel0n 2014-11-20 02:21:02 -08:00
commit 36c7831992
723 changed files with 50758 additions and 14962 deletions

View File

@ -1,9 +1,93 @@
### 0.x.x (2014-11-11 xx:xx:xx UTC)
* 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"
* Remove imdb watchlist feature from General Configuration/"Misc" tab as it wasn't ready for prime time
* Change rename tab General Configuration/"Web Interface" to "Interface"
* Add "User Interface" section to the General Configuration/"Interface" tab
* Change combine "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"
* Change text wording on all UI options under General Configuration
* Change reduce over use of capitals on all General Configuration tabs
* Change streamline UI layout, mark-up and some CSS styling on General Configuration tabs
* 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
* Change cleanup Subtitles Search settings text, correct quotations, use spaces for code lines, tabs for html
* Add save sorting options automatically on Show List/Layout Poster
* Change clarify description for backlog searches option on provider settings page
* Fix sort mode "Next Episode" on Show List/Layout:Poster with show statuses that are Paused, Ended, and Continuing as they were random
* Fix sort of tvrage show statuses "New" and "Returning" on Show List/Layout:Simple by changing status column text to "Continuing"
* Add dark spinner to "Add New Show" (searching indexers), "Add existing shows" (Loading Folders), Coming Eps and all config pages (when saving)
* Change Config/Notifications test buttons to stop and highlight input fields that lack required values
* Change Test Plex Media Server to Test Plex Client as it only tests the client and not the server
* Change style config_notifications to match new config_general styling
* Change style config_providers to match new config_general styling
* Change move Providers Priorities qtip options to a new Search Providers/Provider Options tab
* Remove superfish-1.4.8.js and supersubs-0.2b.js as they are no longer required with new UI
* Change overhaul Config Search Settings in line with General Configuration
* Fix error when a show folder is deleted outside of SickRage
* Change combine the delete button function into the remove button on the display show page
* Change other small UI tweaks
* Fix keyerrors on backlog overview preventing the page to load
* Fix exception raised when converting 12pm to 24hr format and handle 12am when setting file modify time (e.g. used during PP)
* Fix proxy_indexers setting not loading from config file
* Add subtitle information to the cmd show and cmd shows api output
* Remove http login requirement for API when an API key is provided
* Change API now uses Timezone setting at General Config/Interface/User Interface at relevant endpoints
* Fix changing root dirs on the mass edit page
* Add use trash (or Recycle Bin) for selected actions on General Config/Misc/Send to trash
* Add handling for when deleting a show and the show folder no longer exists
* Fix Coming Episodes/Layout Calender/View Paused and tweak its UI text
* Made all init scripts executable
* Fix invalid responses when using sickbeard.searchtvdb api command
* Fixes unicode issues during searches on newznab providers when rid mapping occur
* Fix white screen of death when trying to add a show that is already in library on Add Show/Add Trending Show page
* Add show sorting options to Add Show/Add Trending Show page
* Add handler for when Trakt returns no results for Add Show/Add Trending Show page
* Fix image links when anchor child images are not found at Trakt on Add Show/Add Trending Show page
* Add image to be used when Trakt posters are void on Add Show/Add Trending Show page
* Fix growl registration not sending sickrage an update notification registration
* Add an anonymous redirect builder for external links
* Update xbmc link to Kodi at Config Notifications
* Fix missing url for kickasstorrents in config_providers
* Fix post processing when using tvrage indexer and mediabrowser metadata generation
* Change reporting failed network_timezones.txt updates from an error to a warning
* Fix missing header and "on <missing text>" when network is none and Layout "Poster" with Sort By "Network" on coming episodes page.
* Change how the "local/network" setting is handled to address some issues
[develop changelog]
* Change improve display of progress bars in the Downloads columns of the show list page
* Change improve display of progress bars under the images in Layout Poster of the show list page
* Fix default top navbar background white-out behaviour on browsers that don't support gradients
* Change 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 "Subtitle Language" drop down font colour when entering text on the Subtitles Search settings
* Add confirmation dialogs back in that were missed due to new UI changes
* Fix the home page from failing to load if a show status contains nothing
* Fix and repositioned show_message on display show to use bootstrap styling
* Remove commented out html from display show accidently left in during UI changes
* Fix display issue of season tables in displayShow view / Display Specials
* Change to suppress reporting of Tornado exception error 1
* Fix progress sort direction for poster layout view on home page
* Fix invalid use of str() in the Send2Trash library for platforms other
* Fix dropdown confirm dialogs for restart and shutdown
* Fix parsing utf8 data from tvdb and tvrage
* Fix display show status and subtitle searches to use new column class names
* Fix API response header for JSON content type and the return of JSONP data
* Update PNotify to version [2.0.1]
* Change the notification popups to always show the close button.
* Fix issue where popups did not show if multiple tabs are used. Popups now queue and display when a tab is brought into focus.
* Fix missing HTML in notifications resulting in incorrect formatting.
### 0.2.1 (2014-10-22 06:41:00 UTC) ### 0.2.1 (2014-10-22 06:41:00 UTC)
[full changelog](https://github.com/SiCKRAGETV/SickRage/compare/release_0.2.0...release_0.2.1) [full changelog](https://github.com/SiCKRAGETV/SickRage/compare/release_0.2.0...release_0.2.1)
* Fix HDtorrents provider screen scraping * Fix HDtorrents provider screen scraping
### 0.2.0 (2014-10-21 12:36:50 UTC) ### 0.2.0 (2014-10-21 12:36:50 UTC)
[full changelog](https://github.com/SiCKRAGETV/SickRage/compare/release_0.1.0...release_0.2.0) [full changelog](https://github.com/SiCKRAGETV/SickRage/compare/release_0.1.0...release_0.2.0)
@ -15,8 +99,8 @@
* Add subcentre subtitle provider * Add subcentre subtitle provider
* Add return code from hardlinking error to log * Add return code from hardlinking error to log
* Fix ABD regex for certain filenames * Fix ABD regex for certain filenames
* Miscellaneous UI fixes * Change 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 * Fix trending shows page from loading full size poster images
* Add "Archive on first match" to Manage, Mass Update, Edit Selected page * Add "Archive on first match" to Manage, Mass Update, Edit Selected page
* Fix searching IPTorrentsProvider * Fix searching IPTorrentsProvider

3
HACKS.txt Normal file
View File

@ -0,0 +1,3 @@
Libs with customisations...
/tornado

View File

@ -56,7 +56,7 @@ import threading
import getopt import getopt
import sickbeard import sickbeard
from sickbeard import db, logger, network_timezones, failed_history, name_cache, versionChecker from sickbeard import db, logger, network_timezones, failed_history, name_cache
from sickbeard.tv import TVShow from sickbeard.tv import TVShow
from sickbeard.webserveInit import SRWebServer from sickbeard.webserveInit import SRWebServer
from sickbeard.databases.mainDB import MIN_DB_VERSION, MAX_DB_VERSION from sickbeard.databases.mainDB import MIN_DB_VERSION, MAX_DB_VERSION
@ -68,7 +68,6 @@ throwaway = datetime.datetime.strptime('20110101', '%Y%m%d')
signal.signal(signal.SIGINT, sickbeard.sig_handler) signal.signal(signal.SIGINT, sickbeard.sig_handler)
signal.signal(signal.SIGTERM, sickbeard.sig_handler) signal.signal(signal.SIGTERM, sickbeard.sig_handler)
class SickRage(object): class SickRage(object):
def __init__(self): def __init__(self):
# system event callback for shutdown/restart # system event callback for shutdown/restart
@ -127,8 +126,10 @@ class SickRage(object):
sickbeard.SYS_ENCODING = None sickbeard.SYS_ENCODING = None
try: try:
locale.setlocale(locale.LC_ALL, "UTF-8") locale.setlocale(locale.LC_ALL, "")
locale.setlocale(locale.LC_CTYPE, "UTF-8") except (locale.Error, IOError):
pass
try:
sickbeard.SYS_ENCODING = locale.getpreferredencoding() sickbeard.SYS_ENCODING = locale.getpreferredencoding()
except (locale.Error, IOError): except (locale.Error, IOError):
pass pass

View File

@ -1,13 +1,10 @@
2014-10-02 2014-10-02
-[done] Fix fuzzy dates on new skin
-Move the sql from the *.tmpl files -Move the sql from the *.tmpl files
-Add anidb indexer -Add anidb indexer
-Add supplemental data from anidb during postprocessing -Add supplemental data from anidb during postprocessing
-Fix grabbing non-propers as propers for certain air-by-date shows -Fix grabbing non-propers as propers for certain air-by-date shows
-[done] Allow customization of skin colours
-Add prefer torrents/usenet and allow custom delay between grabs from torrents/usenet -Add prefer torrents/usenet and allow custom delay between grabs from torrents/usenet
-Better postprocessing handling for torrents -Better postprocessing handling for torrents
-[DONE] Add global required words
2014-10-07 2014-10-07
-Add release groups/require words/ignore words to add show page -Add release groups/require words/ignore words to add show page
@ -20,3 +17,8 @@
2014-10-13 2014-10-13
-Fix broken backlog -Fix broken backlog
-Fix season searches -Fix season searches
2014-10-21
-Remove qtip from config providers and go back to tab
-Find out why superfish & supersubs js breaks provider sorting
-Ability to save poster sorting and asc/desc in config

View File

@ -23,11 +23,7 @@
margin: 0 4px; margin: 0 4px;
float: left; float: left;
} }
/*
.browserDialog.busy .ui-dialog-buttonpane {
background: url("/images/loading.gif") 10px 50% no-repeat;
}
*/
/* jquery ui autocomplete overrides to make it look more like the old autocomplete */ /* jquery ui autocomplete overrides to make it look more like the old autocomplete */
.ui-autocomplete { .ui-autocomplete {

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,24 +0,0 @@
body {
width: 100%;
padding: 0;
margin: 0;
font-size: 10px;
line-height:10px;
}
.MainMenu a, .SubMenu a { padding: 2px; font-weight: normal; }
#btnExistingShow, #btnNewShow { min-height: 150px; }
.sickbeardTable {
margin-left:1%;
margin-right:1%;
width:98%;
}
table {
margin:0;
font-size: 10px;
}
#outerWrapper { width: 98%; padding-left: 1%; padding-right: 1%; }

View File

@ -1,536 +0,0 @@
/*
* qTip2 - Pretty powerful tooltips
* http://craigsworks.com/projects/qtip2/
*
* Version: nightly
* Copyright 2009-2010 Craig Michael Thompson - http://craigsworks.com
*
* Dual licensed under MIT or GPLv2 licenses
* http://en.wikipedia.org/wiki/MIT_License
* http://en.wikipedia.org/wiki/GNU_General_Public_License
*
* Date: Thu Nov 17 12:01:03.0000000000 2011
*/
/* Core qTip styles */
.ui-tooltip, .qtip{
position: absolute;
left: -28000px;
top: -28000px;
display: none;
max-width: 280px;
min-width: 50px;
font-size: 10.5px;
line-height: 12px;
z-index: 15000;
}
/* Fluid class for determining actual width in IE */
.ui-tooltip-fluid{
display: block;
visibility: hidden;
position: static !important;
float: left !important;
}
.ui-tooltip-content{
position: relative;
padding: 5px 9px;
overflow: hidden;
border-width: 1px;
border-style: solid;
text-align: left;
word-wrap: break-word;
overflow: hidden;
}
.ui-tooltip-titlebar{
position: relative;
min-height: 14px;
padding: 5px 35px 5px 10px;
overflow: hidden;
border-width: 1px 1px 0;
border-style: solid;
font-weight: bold;
}
.ui-tooltip-titlebar + .ui-tooltip-content{ border-top-width: 0px !important; }
/*! Default close button class */
.ui-tooltip-titlebar .ui-state-default{
position: absolute;
right: 4px;
top: 50%;
margin-top: -9px;
cursor: pointer;
outline: medium none;
border-width: 1px;
border-style: solid;
}
* html .ui-tooltip-titlebar .ui-state-default{ top: 16px; } /* IE fix */
.ui-tooltip-titlebar .ui-icon,
.ui-tooltip-icon .ui-icon{
display: block;
text-indent: -1000em;
}
.ui-tooltip-icon, .ui-tooltip-icon .ui-icon{
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
border-radius: 3px;
}
.ui-tooltip-icon .ui-icon{
width: 18px;
height: 14px;
text-align: center;
text-indent: 0;
font: normal bold 10px/13px Tahoma,sans-serif;
color: inherit;
background: transparent none no-repeat -100em -100em;
}
/* Applied to 'focused' tooltips e.g. most recently displayed/interacted with */
.ui-tooltip-focus{
}
/* Applied on hover of tooltips i.e. added/removed on mouseenter/mouseleave respectively */
.ui-tooltip-hover{
}
/*! Default tooltip style */
.ui-tooltip-default .ui-tooltip-titlebar,
.ui-tooltip-default .ui-tooltip-content{
border-color: #F1D031;
background-color: #FFFFA3;
color: #555;
}
.ui-tooltip-default .ui-tooltip-titlebar{
background-color: #FFEF93;
}
.ui-tooltip-default .ui-tooltip-icon{
border-color: #CCC;
background: #F1F1F1;
color: #777;
}
.ui-tooltip-default .ui-tooltip-titlebar .ui-state-hover{
border-color: #AAA;
color: #111;
}
/* Tips plugin */
.ui-tooltip .ui-tooltip-tip{
margin: 0 auto;
overflow: hidden;
z-index: 10;
}
.ui-tooltip .ui-tooltip-tip,
.ui-tooltip .ui-tooltip-tip *{
position: absolute;
line-height: 0.1px !important;
font-size: 0.1px !important;
color: #123456;
background: transparent;
border: 0px dashed transparent;
}
.ui-tooltip .ui-tooltip-tip canvas{ top: 0; left: 0; }
/*! Light tooltip style */
.ui-tooltip-light .ui-tooltip-titlebar,
.ui-tooltip-light .ui-tooltip-content{
border-color: #E2E2E2;
color: #454545;
}
.ui-tooltip-light .ui-tooltip-content{
background-color: white;
}
.ui-tooltip-light .ui-tooltip-titlebar{
background-color: #f1f1f1;
}
/*! Dark tooltip style */
.ui-tooltip-dark .ui-tooltip-titlebar,
.ui-tooltip-dark .ui-tooltip-content{
border-color: #303030;
color: #f3f3f3;
}
.ui-tooltip-dark .ui-tooltip-content{
background-color: #505050;
}
.ui-tooltip-dark .ui-tooltip-titlebar{
background-color: #404040;
}
.ui-tooltip-dark .ui-tooltip-icon{
border-color: #444;
}
.ui-tooltip-dark .ui-tooltip-titlebar .ui-state-hover{
border-color: #303030;
}
/*! Cream tooltip style */
.ui-tooltip-cream .ui-tooltip-titlebar,
.ui-tooltip-cream .ui-tooltip-content{
border-color: #F9E98E;
color: #A27D35;
}
.ui-tooltip-cream .ui-tooltip-content{
background-color: #FBF7AA;
}
.ui-tooltip-cream .ui-tooltip-titlebar{
background-color: #F0DE7D;
}
.ui-tooltip-cream .ui-state-default .ui-tooltip-icon{
background-position: -82px 0;
}
/*! Red tooltip style */
.ui-tooltip-red .ui-tooltip-titlebar,
.ui-tooltip-red .ui-tooltip-content{
border-color: #D95252;
color: #912323;
}
.ui-tooltip-red .ui-tooltip-content{
background-color: #F78B83;
}
.ui-tooltip-red .ui-tooltip-titlebar{
background-color: #F06D65;
}
.ui-tooltip-red .ui-state-default .ui-tooltip-icon{
background-position: -102px 0;
}
.ui-tooltip-red .ui-tooltip-icon{
border-color: #D95252;
}
.ui-tooltip-red .ui-tooltip-titlebar .ui-state-hover{
border-color: #D95252;
}
/*! Green tooltip style */
.ui-tooltip-green .ui-tooltip-titlebar,
.ui-tooltip-green .ui-tooltip-content{
border-color: #90D93F;
color: #3F6219;
}
.ui-tooltip-green .ui-tooltip-content{
background-color: #CAED9E;
}
.ui-tooltip-green .ui-tooltip-titlebar{
background-color: #B0DE78;
}
.ui-tooltip-green .ui-state-default .ui-tooltip-icon{
background-position: -42px 0;
}
/*! Blue tooltip style */
.ui-tooltip-blue .ui-tooltip-titlebar,
.ui-tooltip-blue .ui-tooltip-content{
border-color: #ADD9ED;
color: #5E99BD;
}
.ui-tooltip-blue .ui-tooltip-content{
background-color: #E5F6FE;
}
.ui-tooltip-blue .ui-tooltip-titlebar{
background-color: #D0E9F5;
}
.ui-tooltip-blue .ui-state-default .ui-tooltip-icon{
background-position: -2px 0;
}
/*! Add shadows to your tooltips in: FF3+, Chrome 2+, Opera 10.6+, IE6+, Safari 2+ */
.ui-tooltip-shadow{
-webkit-box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.15);
-moz-box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.15);
box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.15);
}
.ui-tooltip-shadow .ui-tooltip-titlebar,
.ui-tooltip-shadow .ui-tooltip-content{
filter: progid:DXImageTransform.Microsoft.Shadow(Color='gray', Direction=135, Strength=3);
-ms-filter:"progid:DXImageTransform.Microsoft.Shadow(Color='gray', Direction=135, Strength=3)";
_margin-bottom: -3px; /* IE6 */
.margin-bottom: -3px; /* IE7 */
}
/*! Add rounded corners to your tooltips in: FF3+, Chrome 2+, Opera 10.6+, IE9+, Safari 2+ */
.ui-tooltip-rounded,
.ui-tooltip-rounded .ui-tooltip-content,
.ui-tooltip-tipsy,
.ui-tooltip-tipsy .ui-tooltip-content,
.ui-tooltip-youtube,
.ui-tooltip-youtube .ui-tooltip-content{
-moz-border-radius: 4px;
-webkit-border-radius: 4px;
border-radius: 4px;
}
.ui-tooltip-rounded .ui-tooltip-titlebar,
.ui-tooltip-tipsy .ui-tooltip-titlebar,
.ui-tooltip-youtube .ui-tooltip-titlebar{
-moz-border-radius: 5px 5px 0 0;
-webkit-border-radius: 5px 5px 0 0;
border-radius: 5px 5px 0 0;
}
.ui-tooltip-rounded .ui-tooltip-titlebar + .ui-tooltip-content,
.ui-tooltip-tipsy .ui-tooltip-titlebar + .ui-tooltip-content,
.ui-tooltip-youtube .ui-tooltip-titlebar + .ui-tooltip-content{
-moz-border-radius: 0 0 5px 5px;
-webkit-border-radius: 0 0 5px 5px;
border-radius: 0 0 5px 5px;
}
/*! Youtube tooltip style */
.ui-tooltip-youtube{
-webkit-box-shadow: 0 0 3px #333;
-moz-box-shadow: 0 0 3px #333;
box-shadow: 0 0 3px #333;
}
.ui-tooltip-youtube .ui-tooltip-titlebar,
.ui-tooltip-youtube .ui-tooltip-content{
_margin-bottom: 0; /* IE6 */
.margin-bottom: 0; /* IE7 */
background: transparent;
background: rgba(0, 0, 0, 0.85);
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#D9000000,endColorstr=#D9000000);
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#D9000000,endColorstr=#D9000000)";
color: white;
border-color: #CCCCCC;
}
.ui-tooltip-youtube .ui-tooltip-icon{
border-color: #222;
}
.ui-tooltip-youtube .ui-tooltip-titlebar .ui-state-hover{
border-color: #303030;
}
/* jQuery TOOLS Tooltip style */
.ui-tooltip-jtools{
background: #232323;
background: rgba(0, 0, 0, 0.7);
background-image: -moz-linear-gradient(top, #717171, #232323);
background-image: -webkit-gradient(linear, left top, left bottom, from(#717171), to(#232323));
border: 2px solid #ddd;
border: 2px solid rgba(241,241,241,1);
-moz-border-radius: 2px;
-webkit-border-radius: 2px;
border-radius: 2px;
-webkit-box-shadow: 0 0 12px #333;
-moz-box-shadow: 0 0 12px #333;
box-shadow: 0 0 12px #333;
}
/* IE Specific */
.ui-tooltip-jtools .ui-tooltip-titlebar{
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#717171,endColorstr=#4A4A4A);
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#717171,endColorstr=#4A4A4A)";
}
.ui-tooltip-jtools .ui-tooltip-content{
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#4A4A4A,endColorstr=#232323);
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#4A4A4A,endColorstr=#232323)";
}
.ui-tooltip-jtools .ui-tooltip-titlebar,
.ui-tooltip-jtools .ui-tooltip-content{
background: transparent;
color: white;
border: 0 dashed transparent;
}
.ui-tooltip-jtools .ui-tooltip-icon{
border-color: #555;
}
.ui-tooltip-jtools .ui-tooltip-titlebar .ui-state-hover{
border-color: #333;
}
/* Cluetip style */
.ui-tooltip-cluetip{
-webkit-box-shadow: 4px 4px 5px rgba(0, 0, 0, 0.4);
-moz-box-shadow: 4px 4px 5px rgba(0, 0, 0, 0.4);
box-shadow: 4px 4px 5px rgba(0, 0, 0, 0.4);
}
.ui-tooltip-cluetip .ui-tooltip-titlebar{
background-color: #87876A;
color: white;
border: 0 dashed transparent;
}
.ui-tooltip-cluetip .ui-tooltip-content{
background-color: #D9D9C2;
color: #111;
border: 0 dashed transparent;
}
.ui-tooltip-cluetip .ui-tooltip-icon{
border-color: #808064;
}
.ui-tooltip-cluetip .ui-tooltip-titlebar .ui-state-hover{
border-color: #696952;
color: #696952;
}
/* Tipsy style */
.ui-tooltip-tipsy{
border: 0;
}
.ui-tooltip-tipsy .ui-tooltip-titlebar,
.ui-tooltip-tipsy .ui-tooltip-content{
_margin-bottom: 0; /* IE6 */
.margin-bottom: 0; /* IE7 */
background: transparent;
background: rgba(0, 0, 0, .87);
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#D9000000,endColorstr=#D9000000);
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#D9000000,endColorstr=#D9000000)";
color: white;
border: 0px transparent;
font-size: 11px;
font-family: 'Lucida Grande', sans-serif;
font-weight: bold;
line-height: 16px;
text-shadow: 0 1px black;
}
.ui-tooltip-tipsy .ui-tooltip-titlebar{
padding: 6px 35px 0 10;
}
.ui-tooltip-tipsy .ui-tooltip-content{
padding: 6px 10;
}
.ui-tooltip-tipsy .ui-tooltip-icon{
border-color: #222;
text-shadow: none;
}
.ui-tooltip-tipsy .ui-tooltip-titlebar .ui-state-hover{
border-color: #303030;
}
/* Tipped style */
.ui-tooltip-tipped{
}
.ui-tooltip-tipped .ui-tooltip-titlebar,
.ui-tooltip-tipped .ui-tooltip-content{
border: 3px solid #959FA9;
filter: none; -ms-filter: none;
}
.ui-tooltip-tipped .ui-tooltip-titlebar{
background: #3A79B8;
background-image: -moz-linear-gradient(top, #3A79B8, #2E629D);
background-image: -webkit-gradient(linear, left top, left bottom, from(#3A79B8), to(#2E629D));
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#3A79B8,endColorstr=#2E629D);
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#3A79B8,endColorstr=#2E629D)";
color: white;
font-weight: normal;
font-family: serif;
border-bottom-width: 0;
-moz-border-radius: 3px 3px 0 0;
-webkit-border-radius: 3px 3px 0 0;
border-radius: 3px 3px 0 0;
}
.ui-tooltip-tipped .ui-tooltip-content{
background-color: #F9F9F9;
color: #454545;
-moz-border-radius: 0 0 3px 3px;
-webkit-border-radius: 0 0 3px 3px;
border-radius: 0 0 3px 3px;
}
.ui-tooltip-tipped .ui-tooltip-icon{
border: 2px solid #285589;
background: #285589;
}
.ui-tooltip-tipped .ui-tooltip-icon .ui-icon{
background-color: #FBFBFB;
color: #555;
}
/* IE9 fix - removes all filters */
.ui-tooltip:not(.ie9haxors) div.ui-tooltip-content,
.ui-tooltip:not(.ie9haxors) div.ui-tooltip-titlebar{
filter: none;
-ms-filter: none;
}

6200
gui/slick/css/lib/bootstrap.css vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,855 @@
/*! jQuery UI - v1.10.4 - 2014-02-03
* http://jqueryui.com
* Includes: jquery.ui.core.css, jquery.ui.resizable.css, jquery.ui.selectable.css, jquery.ui.autocomplete.css, jquery.ui.button.css, jquery.ui.dialog.css, jquery.ui.menu.css, jquery.ui.progressbar.css, jquery.ui.tabs.css, jquery.ui.theme.css
* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Verdana%2CArial%2Csans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=%23ffffff&bgTextureHeader=flat&bgImgOpacityHeader=0&borderColorHeader=%23aaaaaa&fcHeader=%23222222&iconColorHeader=%23222222&bgColorContent=%23dcdcdc&bgTextureContent=highlight_soft&bgImgOpacityContent=75&borderColorContent=%23aaaaaa&fcContent=%23222222&iconColorContent=%23222222&bgColorDefault=%23efefef&bgTextureDefault=highlight_soft&bgImgOpacityDefault=75&borderColorDefault=%23aaaaaa&fcDefault=%23222222&iconColorDefault=%238c291d&bgColorHover=%23dddddd&bgTextureHover=highlight_soft&bgImgOpacityHover=75&borderColorHover=%23999999&fcHover=%23222222&iconColorHover=%23222222&bgColorActive=%23dfdfdf&bgTextureActive=inset_soft&bgImgOpacityActive=75&borderColorActive=%23aaaaaa&fcActive=%23140f06&iconColorActive=%238c291d&bgColorHighlight=%23fbf9ee&bgTextureHighlight=glass&bgImgOpacityHighlight=55&borderColorHighlight=%23aaaaaa&fcHighlight=%23363636&iconColorHighlight=%232e83ff&bgColorError=%23fef1ec&bgTextureError=glass&bgImgOpacityError=95&borderColorError=%23aaaaaa&fcError=%238c291d&iconColorError=%23cd0a0a&bgColorOverlay=%23aaaaaa&bgTextureOverlay=flat&bgImgOpacityOverlay=0&opacityOverlay=35&bgColorShadow=%23000000&bgTextureShadow=flat&bgImgOpacityShadow=0&opacityShadow=35&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px&ctl=themeroller
* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */
/* Layout helpers
----------------------------------*/
.ui-helper-hidden {
display: none;
}
.ui-helper-hidden-accessible {
border: 0;
clip: rect(0 0 0 0);
height: 1px;
margin: -1px;
overflow: hidden;
padding: 0;
position: absolute;
width: 1px;
}
.ui-helper-reset {
margin: 0;
padding: 0;
border: 0;
outline: 0;
line-height: 1.3;
text-decoration: none;
font-size: 100%;
list-style: none;
}
.ui-helper-clearfix:before,
.ui-helper-clearfix:after {
content: "";
display: table;
border-collapse: collapse;
}
.ui-helper-clearfix:after {
clear: both;
}
.ui-helper-clearfix {
min-height: 0; /* support: IE7 */
}
.ui-helper-zfix {
width: 100%;
height: 100%;
top: 0;
left: 0;
position: absolute;
opacity: 0;
filter:Alpha(Opacity=0);
}
.ui-front {
z-index: 100;
}
/* Interaction Cues
----------------------------------*/
.ui-state-disabled {
cursor: default !important;
}
/* Icons
----------------------------------*/
/* states and images */
.ui-icon {
display: block;
text-indent: -99999px;
overflow: hidden;
background-repeat: no-repeat;
}
/* Misc visuals
----------------------------------*/
/* Overlays */
.ui-widget-overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.ui-resizable {
position: relative;
}
.ui-resizable-handle {
position: absolute;
font-size: 0.1px;
display: block;
}
.ui-resizable-disabled .ui-resizable-handle,
.ui-resizable-autohide .ui-resizable-handle {
display: none;
}
.ui-resizable-n {
cursor: n-resize;
height: 7px;
width: 100%;
top: -5px;
left: 0;
}
.ui-resizable-s {
cursor: s-resize;
height: 7px;
width: 100%;
bottom: -5px;
left: 0;
}
.ui-resizable-e {
cursor: e-resize;
width: 7px;
right: -5px;
top: 0;
height: 100%;
}
.ui-resizable-w {
cursor: w-resize;
width: 7px;
left: -5px;
top: 0;
height: 100%;
}
.ui-resizable-se {
cursor: se-resize;
width: 12px;
height: 12px;
right: 1px;
bottom: 1px;
}
.ui-resizable-sw {
cursor: sw-resize;
width: 9px;
height: 9px;
left: -5px;
bottom: -5px;
}
.ui-resizable-nw {
cursor: nw-resize;
width: 9px;
height: 9px;
left: -5px;
top: -5px;
}
.ui-resizable-ne {
cursor: ne-resize;
width: 9px;
height: 9px;
right: -5px;
top: -5px;
}
.ui-selectable-helper {
position: absolute;
z-index: 100;
border: 1px dotted black;
}
.ui-autocomplete {
position: absolute;
top: 0;
left: 0;
cursor: default;
}
.ui-button {
display: inline-block;
position: relative;
padding: 0;
line-height: normal;
margin-right: .1em;
cursor: pointer;
vertical-align: middle;
text-align: center;
overflow: visible; /* removes extra width in IE */
}
.ui-button,
.ui-button:link,
.ui-button:visited,
.ui-button:hover,
.ui-button:active {
text-decoration: none;
}
/* to make room for the icon, a width needs to be set here */
.ui-button-icon-only {
width: 2.2em;
}
/* button elements seem to need a little more width */
button.ui-button-icon-only {
width: 2.4em;
}
.ui-button-icons-only {
width: 3.4em;
}
button.ui-button-icons-only {
width: 3.7em;
}
/* button text element */
.ui-button .ui-button-text {
display: block;
line-height: normal;
}
.ui-button-text-only .ui-button-text {
padding: .4em 1em;
}
.ui-button-icon-only .ui-button-text,
.ui-button-icons-only .ui-button-text {
padding: .4em;
text-indent: -9999999px;
}
.ui-button-text-icon-primary .ui-button-text,
.ui-button-text-icons .ui-button-text {
padding: .4em 1em .4em 2.1em;
}
.ui-button-text-icon-secondary .ui-button-text,
.ui-button-text-icons .ui-button-text {
padding: .4em 2.1em .4em 1em;
}
.ui-button-text-icons .ui-button-text {
padding-left: 2.1em;
padding-right: 2.1em;
}
/* no icon support for input elements, provide padding by default */
input.ui-button {
padding: .4em 1em;
}
/* button icon element(s) */
.ui-button-icon-only .ui-icon,
.ui-button-text-icon-primary .ui-icon,
.ui-button-text-icon-secondary .ui-icon,
.ui-button-text-icons .ui-icon,
.ui-button-icons-only .ui-icon {
position: absolute;
top: 50%;
margin-top: -8px;
}
.ui-button-icon-only .ui-icon {
left: 50%;
margin-left: -8px;
}
.ui-button-text-icon-primary .ui-button-icon-primary,
.ui-button-text-icons .ui-button-icon-primary,
.ui-button-icons-only .ui-button-icon-primary {
left: .5em;
}
.ui-button-text-icon-secondary .ui-button-icon-secondary,
.ui-button-text-icons .ui-button-icon-secondary,
.ui-button-icons-only .ui-button-icon-secondary {
right: .5em;
}
/* button sets */
.ui-buttonset {
margin-right: 7px;
}
.ui-buttonset .ui-button {
margin-left: 0;
margin-right: -.3em;
}
/* workarounds */
/* reset extra padding in Firefox, see h5bp.com/l */
input.ui-button::-moz-focus-inner,
button.ui-button::-moz-focus-inner {
border: 0;
padding: 0;
}
.ui-dialog {
overflow: hidden;
position: absolute;
top: 0;
left: 0;
padding: .2em;
outline: 0;
}
.ui-dialog .ui-dialog-titlebar {
padding: .4em 1em;
position: relative;
}
.ui-dialog .ui-dialog-title {
float: left;
margin: .1em 0;
white-space: nowrap;
width: 90%;
overflow: hidden;
text-overflow: ellipsis;
}
.ui-dialog .ui-dialog-titlebar-close {
position: absolute;
right: .3em;
top: 50%;
width: 20px;
margin: -10px 0 0 0;
padding: 1px;
height: 20px;
}
.ui-dialog .ui-dialog-content {
position: relative;
border: 0;
padding: .5em 1em;
background: none;
overflow: auto;
}
.ui-dialog .ui-dialog-buttonpane {
text-align: left;
border-width: 1px 0 0 0;
background-image: none;
margin-top: .5em;
padding: .3em 1em .5em .4em;
}
.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
float: right;
}
.ui-dialog .ui-dialog-buttonpane button {
margin: .5em .4em .5em 0;
cursor: pointer;
}
.ui-dialog .ui-resizable-se {
width: 12px;
height: 12px;
right: -5px;
bottom: -5px;
background-position: 16px 16px;
}
.ui-draggable .ui-dialog-titlebar {
cursor: move;
}
.ui-menu {
list-style: none;
padding: 2px;
margin: 0;
display: block;
outline: none;
}
.ui-menu .ui-menu {
margin-top: -3px;
position: absolute;
}
.ui-menu .ui-menu-item {
margin: 0;
padding: 0;
width: 100%;
/* support: IE10, see #8844 */
list-style-image: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);
}
.ui-menu .ui-menu-divider {
margin: 5px -2px 5px -2px;
height: 0;
font-size: 0;
line-height: 0;
border-width: 1px 0 0 0;
}
.ui-menu .ui-menu-item a {
text-decoration: none;
display: block;
padding: 2px .4em;
line-height: 1.5;
min-height: 0; /* support: IE7 */
font-weight: normal;
}
.ui-menu .ui-menu-item a.ui-state-focus,
.ui-menu .ui-menu-item a.ui-state-active {
font-weight: normal;
margin: -1px;
}
.ui-menu .ui-state-disabled {
font-weight: normal;
margin: .4em 0 .2em;
line-height: 1.5;
}
.ui-menu .ui-state-disabled a {
cursor: default;
}
/* icon support */
.ui-menu-icons {
position: relative;
}
.ui-menu-icons .ui-menu-item a {
position: relative;
padding-left: 2em;
}
/* left-aligned */
.ui-menu .ui-icon {
position: absolute;
top: .2em;
left: .2em;
}
/* right-aligned */
.ui-menu .ui-menu-icon {
position: static;
float: right;
}
.ui-progressbar {
height: 2em;
text-align: left;
overflow: hidden;
}
.ui-progressbar .ui-progressbar-value {
margin: -1px;
height: 100%;
}
.ui-progressbar .ui-progressbar-overlay {
/* background: url("images/animated-overlay.gif"); */
height: 100%;
filter: alpha(opacity=25);
opacity: 0.25;
}
.ui-progressbar-indeterminate .ui-progressbar-value {
background-image: none;
}
.ui-tabs {
position: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
padding: .2em;
}
.ui-tabs .ui-tabs-nav {
margin: 0;
padding: .2em .2em 0;
}
.ui-tabs .ui-tabs-nav li {
list-style: none;
float: left;
position: relative;
top: 0;
margin: 1px .2em 0 0;
border-bottom-width: 0;
padding: 0;
white-space: nowrap;
}
.ui-tabs .ui-tabs-nav .ui-tabs-anchor {
float: left;
padding: .5em 1em;
text-decoration: none;
}
.ui-tabs .ui-tabs-nav li.ui-tabs-active {
margin-bottom: -1px;
padding-bottom: 1px;
}
.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,
.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,
.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor {
cursor: text;
}
.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor {
cursor: pointer;
}
.ui-tabs .ui-tabs-panel {
display: block;
border-width: 0;
background: none;
}
/* Component containers
----------------------------------*/
.ui-widget {
}
.ui-widget .ui-widget {
}
.ui-widget input,
.ui-widget select,
.ui-widget textarea,
.ui-widget button {
}
.ui-widget-content {
border: 1px solid #aaaaaa;
/* background: #dcdcdc url(images/ui-bg_highlight-soft_75_dcdcdc_1x100.png) 50% top repeat-x; */
color: #222222;
}
.ui-widget-content a {
color: #222222;
}
.ui-widget-header {
border: 1px solid #aaaaaa;
/* background: #ffffff url(images/ui-bg_flat_0_ffffff_40x100.png) 50% 50% repeat-x; */
color: #222222;
font-weight: bold;
}
.ui-widget-header a {
color: #222222;
}
/* Interaction states
----------------------------------*/
.ui-state-default,
.ui-widget-content .ui-state-default,
.ui-widget-header .ui-state-default {
border: 1px solid #aaaaaa;
/* background: #efefef url(images/ui-bg_highlight-soft_75_efefef_1x100.png) 50% 50% repeat-x; */
font-weight: bold;
color: #222222;
}
.ui-state-default a,
.ui-state-default a:link,
.ui-state-default a:visited {
color: #222222;
text-decoration: none;
}
.ui-state-hover,
.ui-widget-content .ui-state-hover,
.ui-widget-header .ui-state-hover,
.ui-state-focus,
.ui-widget-content .ui-state-focus,
.ui-widget-header .ui-state-focus {
border: 1px solid #999999;
/* background: #dddddd url(images/ui-bg_highlight-soft_75_dddddd_1x100.png) 50% 50% repeat-x; */
font-weight: bold;
color: #222222;
}
.ui-state-hover a,
.ui-state-hover a:hover,
.ui-state-hover a:link,
.ui-state-hover a:visited,
.ui-state-focus a,
.ui-state-focus a:hover,
.ui-state-focus a:link,
.ui-state-focus a:visited {
color: #222222;
text-decoration: none;
}
.ui-state-active,
.ui-widget-content .ui-state-active,
.ui-widget-header .ui-state-active {
border: 1px solid #aaaaaa;
background: #dfdfdf url(images/ui-bg_inset-soft_75_dfdfdf_1x100.png) 50% 50% repeat-x;
font-weight: bold;
color: #140f06;
}
.ui-state-active a,
.ui-state-active a:link,
.ui-state-active a:visited {
color: #140f06;
text-decoration: none;
}
/* Interaction Cues
----------------------------------*/
.ui-state-highlight,
.ui-widget-content .ui-state-highlight,
.ui-widget-header .ui-state-highlight {
border: 1px solid #aaaaaa;
/* background: #fbf9ee url(images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x; */
color: #363636;
}
.ui-state-highlight a,
.ui-widget-content .ui-state-highlight a,
.ui-widget-header .ui-state-highlight a {
color: #363636;
}
.ui-state-error,
.ui-widget-content .ui-state-error,
.ui-widget-header .ui-state-error {
border: 1px solid #aaaaaa;
/* background: #fef1ec url(images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x; */
color: #8c291d;
}
.ui-state-error a,
.ui-widget-content .ui-state-error a,
.ui-widget-header .ui-state-error a {
color: #8c291d;
}
.ui-state-error-text,
.ui-widget-content .ui-state-error-text,
.ui-widget-header .ui-state-error-text {
color: #8c291d;
}
.ui-priority-primary,
.ui-widget-content .ui-priority-primary,
.ui-widget-header .ui-priority-primary {
font-weight: bold;
}
.ui-priority-secondary,
.ui-widget-content .ui-priority-secondary,
.ui-widget-header .ui-priority-secondary {
opacity: .7;
filter:Alpha(Opacity=70);
font-weight: normal;
}
.ui-state-disabled,
.ui-widget-content .ui-state-disabled,
.ui-widget-header .ui-state-disabled {
opacity: .35;
filter:Alpha(Opacity=35);
background-image: none;
}
.ui-state-disabled .ui-icon {
filter:Alpha(Opacity=35); /* For IE8 - See #6059 */
}
/* Icons
----------------------------------*/
/* states and images */
.ui-icon {
width: 16px;
height: 16px;
}
/*
.ui-icon,
.ui-widget-content .ui-icon {
background-image: url(images/ui-icons_222222_256x240.png);
}
.ui-widget-header .ui-icon {
background-image: url(images/ui-icons_222222_256x240.png);
}
.ui-state-default .ui-icon {
background-image: url(images/ui-icons_8c291d_256x240.png);
}
.ui-state-hover .ui-icon,
.ui-state-focus .ui-icon {
background-image: url(images/ui-icons_222222_256x240.png);
}
.ui-state-active .ui-icon {
background-image: url(images/ui-icons_8c291d_256x240.png);
}
.ui-state-highlight .ui-icon {
background-image: url(images/ui-icons_2e83ff_256x240.png);
}
.ui-state-error .ui-icon,
.ui-state-error-text .ui-icon {
background-image: url(images/ui-icons_cd0a0a_256x240.png);
}
*/
/* positioning */
.ui-icon-blank { background-position: 16px 16px; }
.ui-icon-carat-1-n { background-position: 0 0; }
.ui-icon-carat-1-ne { background-position: -16px 0; }
.ui-icon-carat-1-e { background-position: -32px 0; }
.ui-icon-carat-1-se { background-position: -48px 0; }
.ui-icon-carat-1-s { background-position: -64px 0; }
.ui-icon-carat-1-sw { background-position: -80px 0; }
.ui-icon-carat-1-w { background-position: -96px 0; }
.ui-icon-carat-1-nw { background-position: -112px 0; }
.ui-icon-carat-2-n-s { background-position: -128px 0; }
.ui-icon-carat-2-e-w { background-position: -144px 0; }
.ui-icon-triangle-1-n { background-position: 0 -16px; }
.ui-icon-triangle-1-ne { background-position: -16px -16px; }
.ui-icon-triangle-1-e { background-position: -32px -16px; }
.ui-icon-triangle-1-se { background-position: -48px -16px; }
.ui-icon-triangle-1-s { background-position: -64px -16px; }
.ui-icon-triangle-1-sw { background-position: -80px -16px; }
.ui-icon-triangle-1-w { background-position: -96px -16px; }
.ui-icon-triangle-1-nw { background-position: -112px -16px; }
.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
.ui-icon-arrow-1-n { background-position: 0 -32px; }
.ui-icon-arrow-1-ne { background-position: -16px -32px; }
.ui-icon-arrow-1-e { background-position: -32px -32px; }
.ui-icon-arrow-1-se { background-position: -48px -32px; }
.ui-icon-arrow-1-s { background-position: -64px -32px; }
.ui-icon-arrow-1-sw { background-position: -80px -32px; }
.ui-icon-arrow-1-w { background-position: -96px -32px; }
.ui-icon-arrow-1-nw { background-position: -112px -32px; }
.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
.ui-icon-arrowthick-1-n { background-position: 0 -48px; }
.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
.ui-icon-arrow-4 { background-position: 0 -80px; }
.ui-icon-arrow-4-diag { background-position: -16px -80px; }
.ui-icon-extlink { background-position: -32px -80px; }
.ui-icon-newwin { background-position: -48px -80px; }
.ui-icon-refresh { background-position: -64px -80px; }
.ui-icon-shuffle { background-position: -80px -80px; }
.ui-icon-transfer-e-w { background-position: -96px -80px; }
.ui-icon-transferthick-e-w { background-position: -112px -80px; }
.ui-icon-folder-collapsed { background-position: 0 -96px; }
.ui-icon-folder-open { background-position: -16px -96px; }
.ui-icon-document { background-position: -32px -96px; }
.ui-icon-document-b { background-position: -48px -96px; }
.ui-icon-note { background-position: -64px -96px; }
.ui-icon-mail-closed { background-position: -80px -96px; }
.ui-icon-mail-open { background-position: -96px -96px; }
.ui-icon-suitcase { background-position: -112px -96px; }
.ui-icon-comment { background-position: -128px -96px; }
.ui-icon-person { background-position: -144px -96px; }
.ui-icon-print { background-position: -160px -96px; }
.ui-icon-trash { background-position: -176px -96px; }
.ui-icon-locked { background-position: -192px -96px; }
.ui-icon-unlocked { background-position: -208px -96px; }
.ui-icon-bookmark { background-position: -224px -96px; }
.ui-icon-tag { background-position: -240px -96px; }
.ui-icon-home { background-position: 0 -112px; }
.ui-icon-flag { background-position: -16px -112px; }
.ui-icon-calendar { background-position: -32px -112px; }
.ui-icon-cart { background-position: -48px -112px; }
.ui-icon-pencil { background-position: -64px -112px; }
.ui-icon-clock { background-position: -80px -112px; }
.ui-icon-disk { background-position: -96px -112px; }
.ui-icon-calculator { background-position: -112px -112px; }
.ui-icon-zoomin { background-position: -128px -112px; }
.ui-icon-zoomout { background-position: -144px -112px; }
.ui-icon-search { background-position: -160px -112px; }
.ui-icon-wrench { background-position: -176px -112px; }
.ui-icon-gear { background-position: -192px -112px; }
.ui-icon-heart { background-position: -208px -112px; }
.ui-icon-star { background-position: -224px -112px; }
.ui-icon-link { background-position: -240px -112px; }
.ui-icon-cancel { background-position: 0 -128px; }
.ui-icon-plus { background-position: -16px -128px; }
.ui-icon-plusthick { background-position: -32px -128px; }
.ui-icon-minus { background-position: -48px -128px; }
.ui-icon-minusthick { background-position: -64px -128px; }
.ui-icon-close { background-position: -80px -128px; }
.ui-icon-closethick { background-position: -96px -128px; }
.ui-icon-key { background-position: -112px -128px; }
.ui-icon-lightbulb { background-position: -128px -128px; }
.ui-icon-scissors { background-position: -144px -128px; }
.ui-icon-clipboard { background-position: -160px -128px; }
.ui-icon-copy { background-position: -176px -128px; }
.ui-icon-contact { background-position: -192px -128px; }
.ui-icon-image { background-position: -208px -128px; }
.ui-icon-video { background-position: -224px -128px; }
.ui-icon-script { background-position: -240px -128px; }
.ui-icon-alert { background-position: 0 -144px; }
.ui-icon-info { background-position: -16px -144px; }
.ui-icon-notice { background-position: -32px -144px; }
.ui-icon-help { background-position: -48px -144px; }
.ui-icon-check { background-position: -64px -144px; }
.ui-icon-bullet { background-position: -80px -144px; }
.ui-icon-radio-on { background-position: -96px -144px; }
.ui-icon-radio-off { background-position: -112px -144px; }
.ui-icon-pin-w { background-position: -128px -144px; }
.ui-icon-pin-s { background-position: -144px -144px; }
.ui-icon-play { background-position: 0 -160px; }
.ui-icon-pause { background-position: -16px -160px; }
.ui-icon-seek-next { background-position: -32px -160px; }
.ui-icon-seek-prev { background-position: -48px -160px; }
.ui-icon-seek-end { background-position: -64px -160px; }
.ui-icon-seek-start { background-position: -80px -160px; }
/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
.ui-icon-seek-first { background-position: -80px -160px; }
.ui-icon-stop { background-position: -96px -160px; }
.ui-icon-eject { background-position: -112px -160px; }
.ui-icon-volume-off { background-position: -128px -160px; }
.ui-icon-volume-on { background-position: -144px -160px; }
.ui-icon-power { background-position: 0 -176px; }
.ui-icon-signal-diag { background-position: -16px -176px; }
.ui-icon-signal { background-position: -32px -176px; }
.ui-icon-battery-0 { background-position: -48px -176px; }
.ui-icon-battery-1 { background-position: -64px -176px; }
.ui-icon-battery-2 { background-position: -80px -176px; }
.ui-icon-battery-3 { background-position: -96px -176px; }
.ui-icon-circle-plus { background-position: 0 -192px; }
.ui-icon-circle-minus { background-position: -16px -192px; }
.ui-icon-circle-close { background-position: -32px -192px; }
.ui-icon-circle-triangle-e { background-position: -48px -192px; }
.ui-icon-circle-triangle-s { background-position: -64px -192px; }
.ui-icon-circle-triangle-w { background-position: -80px -192px; }
.ui-icon-circle-triangle-n { background-position: -96px -192px; }
.ui-icon-circle-arrow-e { background-position: -112px -192px; }
.ui-icon-circle-arrow-s { background-position: -128px -192px; }
.ui-icon-circle-arrow-w { background-position: -144px -192px; }
.ui-icon-circle-arrow-n { background-position: -160px -192px; }
.ui-icon-circle-zoomin { background-position: -176px -192px; }
.ui-icon-circle-zoomout { background-position: -192px -192px; }
.ui-icon-circle-check { background-position: -208px -192px; }
.ui-icon-circlesmall-plus { background-position: 0 -208px; }
.ui-icon-circlesmall-minus { background-position: -16px -208px; }
.ui-icon-circlesmall-close { background-position: -32px -208px; }
.ui-icon-squaresmall-plus { background-position: -48px -208px; }
.ui-icon-squaresmall-minus { background-position: -64px -208px; }
.ui-icon-squaresmall-close { background-position: -80px -208px; }
.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
/* Misc visuals
----------------------------------*/
/* Corner radius */
.ui-corner-all,
.ui-corner-top,
.ui-corner-left,
.ui-corner-tl {
border-top-left-radius: 4px;
}
.ui-corner-all,
.ui-corner-top,
.ui-corner-right,
.ui-corner-tr {
border-top-right-radius: 4px;
}
.ui-corner-all,
.ui-corner-bottom,
.ui-corner-left,
.ui-corner-bl {
border-bottom-left-radius: 4px;
}
.ui-corner-all,
.ui-corner-bottom,
.ui-corner-right,
.ui-corner-br {
border-bottom-right-radius: 4px;
}
/* Overlays */
.ui-widget-overlay {
/* background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; */
opacity: .35;
filter: Alpha(Opacity=35);
}
.ui-widget-shadow {
margin: -8px 0 0 -8px;
padding: 8px;
/* background: #000000 url(images/ui-bg_flat_0_000000_40x100.png) 50% 50% repeat-x; */
opacity: .35;
filter: Alpha(Opacity=35);
border-radius: 8px;
}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
.ui-pnotify{top:25px;right:25px;position:absolute;height:auto;z-index:9999}html>body>.ui-pnotify{position:fixed}.ui-pnotify .ui-pnotify-shadow{-webkit-box-shadow:0 2px 10px rgba(50,50,50,.5);-moz-box-shadow:0 2px 10px rgba(50,50,50,.5);box-shadow:0 2px 10px rgba(50,50,50,.5)}.ui-pnotify-container{background-position:0 0;padding:.8em;height:100%;margin:0}.ui-pnotify-sharp{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.ui-pnotify-title{display:block;margin-bottom:.4em;margin-top:0}.ui-pnotify-text{display:block}.ui-pnotify-icon,.ui-pnotify-icon span{display:block;float:left;margin-right:.2em}.ui-pnotify.stack-bottomleft,.ui-pnotify.stack-topleft{left:25px;right:auto}.ui-pnotify.stack-bottomleft,.ui-pnotify.stack-bottomright{bottom:25px;top:auto}.ui-pnotify-closer,.ui-pnotify-sticker{float:right;margin-left:.2em}

3001
gui/slick/css/light.css Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

3136
gui/slick/css/style.css Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,122 +0,0 @@
/* Example tokeninput style #2: Facebook style */
ul.token-input-list-facebook {
overflow: hidden;
height: auto !important;
height: 1%;
width: auto;
border: 1px solid #8496ba;
cursor: text;
font-size: 12px;
font-family: Verdana !important;
min-height: 1px;
z-index: 999;
margin: 0 !important;
padding: 0 !important;
background-color: #fff;
list-style-type: none;
/* clear: left; */
}
ul.token-input-list-facebook li input {
border: 0 !important;
width: 100px !important;
padding: 3px 8px !important;
background-color: white;
margin: 2px 0 !important;
-webkit-appearance: caret;
}
li.token-input-token-facebook {
overflow: hidden;
height: auto !important;
height: 15px;
margin: 3px !important;
padding: 1px 3px !important;
background-color: #eff2f7;
color: #000;
cursor: default;
border: 1px solid #ccd5e4;
font-size: 11px !important;
border-radius: 5px;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
float: left;
white-space: nowrap;
}
li.token-input-token-facebook p {
display: inline;
padding: 0 !important;
margin: 0 !important;
}
li.token-input-token-facebook span {
color: #a6b3cf;
margin-left: 5px;
font-weight: bold;
cursor: pointer;
}
li.token-input-selected-token-facebook {
background-color: #5670a6;
border: 1px solid #3b5998;
color: #fff;
}
li.token-input-input-token-facebook {
float: left;
margin: 0;
padding: 0;
list-style-type: none;
}
div.token-input-dropdown-facebook {
position: absolute;
width: auto;
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;
}
div.token-input-dropdown-facebook p {
margin: 0;
padding: 5px;
font-weight: bold;
color: #777;
}
div.token-input-dropdown-facebook ul {
margin: 0;
padding: 0;
}
div.token-input-dropdown-facebook ul li {
background-color: #fff;
padding: 3px;
margin: 0;
list-style-type: none;
}
div.token-input-dropdown-facebook ul li.token-input-dropdown-item-facebook {
background-color: #fff;
}
div.token-input-dropdown-facebook ul li.token-input-dropdown-item2-facebook {
background-color: #fff;
}
div.token-input-dropdown-facebook ul li em {
font-weight: bold;
font-style: normal;
}
div.token-input-dropdown-facebook ul li.token-input-selected-dropdown-item-facebook {
background-color: #3b5998;
color: #fff;
}

View File

@ -1,204 +0,0 @@
/* Example tokeninput style #2: Mac Style */
fieldset.token-input-mac {
position: relative;
padding: 0;
margin: 5px 0;
background: #fff;
width: 400px;
border: 1px solid #A4BDEC;
border-radius: 10px;
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
}
fieldset.token-input-mac.token-input-dropdown-mac {
border-radius: 10px 10px 0 0;
-moz-border-radius: 10px 10px 0 0;
-webkit-border-radius: 10px 10px 0 0;
box-shadow: 0 5px 20px 0 rgba(0,0,0,0.25);
-moz-box-shadow: 0 5px 20px 0 rgba(0,0,0,0.25);
-webkit-box-shadow: 0 5px 20px 0 rgba(0,0,0,0.25);
}
ul.token-input-list-mac {
overflow: hidden;
height: auto !important;
height: 1%;
cursor: text;
font-size: 12px;
font-family: Verdana;
min-height: 1px;
z-index: 999;
margin: 0;
padding: 3px;
background: transparent;
}
ul.token-input-list-mac.error {
border: 1px solid #C52020;
}
ul.token-input-list-mac li {
list-style-type: none;
}
li.token-input-token-mac p {
display: inline;
padding: 0;
margin: 0;
}
li.token-input-token-mac span {
color: #a6b3cf;
margin-left: 5px;
font-weight: bold;
cursor: pointer;
}
/* TOKENS */
li.token-input-token-mac {
font-family: "Lucida Grande", Arial, serif;
font-size: 9pt;
line-height: 12pt;
overflow: hidden;
height: 16px;
margin: 3px;
padding: 0 10px;
background: none;
background-color: #dee7f8;
color: #000;
cursor: default;
border: 1px solid #a4bdec;
border-radius: 15px;
-moz-border-radius: 15px;
-webkit-border-radius: 15px;
float: left;
}
li.token-input-highlighted-token-mac {
background-color: #bbcef1;
border: 1px solid #598bec;
color: #000;
}
li.token-input-selected-token-mac {
background-color: #598bec;
border: 1px solid transparent;
color: #fff;
}
li.token-input-highlighted-token-mac span.token-input-delete-token-mac {
color: #000;
}
li.token-input-selected-token-mac span.token-input-delete-token-mac {
color: #fff;
}
li.token-input-input-token-mac {
border: none;
background: transparent;
float: left;
padding: 0;
margin: 0;
}
li.token-input-input-token-mac input {
border: 0;
width: 100px;
padding: 3px;
background-color: transparent;
margin: 0;
}
div.token-input-dropdown-mac {
position: absolute;
border: 1px solid #A4BDEC;
border-top: none;
left: -1px;
right: -1px;
background-color: #fff;
overflow: hidden;
cursor: default;
font-size: 10pt;
font-family: "Lucida Grande", Arial, serif;
padding: 5px;
border-radius: 0 0 10px 10px;
-moz-border-radius: 0 0 10px 10px;
-webkit-border-radius: 0 0 10px 10px;
box-shadow: 0 5px 20px 0 rgba(0,0,0,0.25);
-moz-box-shadow: 0 5px 20px 0 rgba(0,0,0,0.25);
-webkit-box-shadow: 0 5px 20px 0 rgba(0,0,0,0.25);
clip:rect(0px, 1000px, 1000px, -10px);
}
div.token-input-dropdown-mac p {
font-size: 8pt;
margin: 0;
padding: 0 5px;
font-style: italic;
color: #aaa;
}
div.token-input-dropdown-mac h3.token-input-dropdown-category-mac {
font-family: "Lucida Grande", Arial, serif;
font-size: 10pt;
font-weight: bold;
border: none;
padding: 0 5px;
margin: 0;
}
div.token-input-dropdown-mac ul {
margin: 0;
padding: 0;
}
div.token-input-dropdown-mac ul li {
list-style-type: none;
cursor: pointer;
background: none;
background-color: #fff;
margin: 0;
padding: 0 0 0 25px;
}
div.token-input-dropdown-mac ul li.token-input-dropdown-item-mac {
background-color: #fff;
}
div.token-input-dropdown-mac ul li.token-input-dropdown-item-mac.odd {
background-color: #ECF4F9;
border-radius: 15px;
-moz-border-radius: 15px;
-webkit-border-radius: 15px;
}
div.token-input-dropdown-mac ul li.token-input-dropdown-item-mac span.token-input-dropdown-item-description-mac {
float: right;
font-size: 8pt;
font-style: italic;
padding: 0 10px 0 0;
color: #999;
}
div.token-input-dropdown-mac ul li strong {
font-weight: bold;
text-decoration: underline;
font-style: none;
}
div.token-input-dropdown-mac ul li.token-input-selected-dropdown-item-mac,
div.token-input-dropdown-mac ul li.token-input-selected-dropdown-item-mac.odd {
background-color: #598bec;
color: #fff;
border-radius: 15px;
-moz-border-radius: 15px;
-webkit-border-radius: 15px;
}
div.token-input-dropdown-mac ul li.token-input-selected-dropdown-item-mac span.token-input-dropdown-item-description-mac,
div.token-input-dropdown-mac ul li.token-input-selected-dropdown-item-mac.odd span.token-input-dropdown-item-description-mac {
color: #fff;
}

View File

@ -1,133 +0,0 @@
/* Example tokeninput style #1: Token vertical list*/
ul.token-input-list {
overflow: hidden;
height: auto !important;
height: 1%;
width: 273px;
cursor: text;
font-size: 10px;
font-family: Verdana;
z-index: 999;
margin: 0;
padding: 0 0 1px 0;
list-style-type: none;
/* clear: left; */
border-top-left-radius: 3px;
border-top-right-radius: 3px;
border-bottom-left-radius: 3px;
border-bottom-right-radius: 3px;
}
ul.token-input-list li {
list-style-type: none;
}
ul.token-input-list li input {
border: 0;
padding: 3px 4px;
background-color: white;
/* -webkit-appearance: caret; */
}
li.token-input-token {
overflow: hidden;
height: auto !important;
height: 1%;
margin: 3px;
padding: 0px 5px 0 5px;
background-color: #d0efa0;
color: #000;
font-weight: bold;
cursor: default;
display: block;
border-radius: 3px;
}
li.token-input-token img {
padding-top: 7px;
padding-right: 4px;
float: left;
}
li.token-input-token input {
padding-top: 2px !important;
padding-right: 4px !important;
float: left;
}
li.token-input-token p {
float: left;
padding: 0;
margin: 0;
line-height: 2.0 !important;
}
li.token-input-token span {
float: right;
color: #000;
cursor: pointer;
}
li.token-input-selected-token {
background-color: #08844e;
color: #fff;
}
li.token-input-selected-token span {
color: #bbb;
}
li.token-input-input-token input {
margin: 3px 3px 3px 3px !important;
}
div.token-input-dropdown {
position: absolute;
width: 273px;
background-color: #3d3d3d;
overflow: hidden;
border: 1px solid #111;
cursor: default;
font-size: 11px;
font-family: Verdana;
z-index: 1;
}
div.token-input-dropdown p {
margin: 0;
padding: 3px;
font-weight: bold;
color: #fff;
}
div.token-input-dropdown ul {
margin: 0;
padding: 0;
}
div.token-input-dropdown ul li {
background-color: #3d3d3d;
padding: 3px;
list-style-type: none;
}
div.token-input-dropdown ul li.token-input-dropdown-item {
background-color: #3d3d3d;
}
div.token-input-dropdown ul li.token-input-dropdown-item2 {
background-color: #3d3d3d;
}
div.token-input-dropdown ul li em {
font-weight: bold;
font-style: normal;
}
div.token-input-dropdown ul li.token-input-selected-dropdown-item {
background-color: #6196c2;
}
span.token-input-delete-token {
margin: 0 1px;
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

View File

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

View File

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

View File

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 3.3 KiB

View File

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

Before

Width:  |  Height:  |  Size: 8.6 KiB

After

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.9 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 959 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.8 KiB

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.9 KiB

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 3.3 KiB

View File

@ -2,15 +2,16 @@
#import datetime #import datetime
#from sickbeard.common import * #from sickbeard.common import *
#from sickbeard import sbdatetime #from sickbeard import sbdatetime
#from sickbeard.helpers import anon_url
#set global $title="Coming Episodes" #set global $title = 'Coming Episodes'
#set global $header="Coming Episodes" #set global $header = 'Coming Episodes'
#set global $sbPath=".." #set global $sbPath = '..'
#set global $topmenu="comingEpisodes" #set global $topmenu = 'comingEpisodes'
#import os.path #import os.path
#include $os.path.join($sickbeard.PROG_DIR, "gui/slick/interfaces/default/inc_top.tmpl") #include $os.path.join($sickbeard.PROG_DIR, 'gui/slick/interfaces/default/inc_top.tmpl')
#set $sort = $sickbeard.COMING_EPS_SORT #set $sort = $sickbeard.COMING_EPS_SORT
<script type="text/javascript" src="$sbRoot/js/ajaxEpSearch.js?$sbPID"></script> <script type="text/javascript" src="$sbRoot/js/ajaxEpSearch.js?$sbPID"></script>
#if $varExists('header') #if $varExists('header')
@ -20,39 +21,70 @@
#end if #end if
<style type="text/css"> <style type="text/css">
.sort_data {display:none} #SubMenu {display:none}
#contentWrapper {padding-top:30px}
</style> </style>
<div class="h2footer align-right"> <div class="h2footer pull-right">
#if $layout != 'calendar': <span>Layout:
<b>Key:</b> <select name="layout" class="form-control form-control-inline input-sm" onchange="location = this.options[this.selectedIndex].value;">
<span class="listing_overdue">Missed</span> <option value="$sbRoot/setComingEpsLayout/?layout=poster" #if 'poster' == $sickbeard.COMING_EPS_LAYOUT then 'selected="selected"' else ''#>Poster</option>
<span class="listing_current">Current</span> <option value="$sbRoot/setComingEpsLayout/?layout=calendar" #if 'calendar' == $sickbeard.COMING_EPS_LAYOUT then 'selected="selected"' else ''#>Calendar</option>
<span class="listing_default">Future</span> <option value="$sbRoot/setComingEpsLayout/?layout=banner" #if 'banner' == $sickbeard.COMING_EPS_LAYOUT then 'selected="selected"' else ''#>Banner</option>
<span class="listing_toofar">Distant</span> <option value="$sbRoot/setComingEpsLayout/?layout=list" #if 'list' == $sickbeard.COMING_EPS_LAYOUT then 'selected="selected"' else ''#>List</option>
#end if </select>
<a class="btn forceBacklog" href="webcal://$sbHost:$sbHttpPort/calendar"> </span>
<i class="icon-calendar icon-white"></i>Subscribe</a> &nbsp;
<!-- <span class="listing_unknown">Unknown</span> //-->
<span>Sort By:
<select name="sort" class="form-control form-control-inline input-sm" onchange="location = this.options[this.selectedIndex].value;">
<option value="$sbRoot/setComingEpsSort/?sort=date" #if 'date' == $sickbeard.COMING_EPS_SORT then 'selected="selected"' else ''#>Date</option>
<option value="$sbRoot/setComingEpsSort/?sort=network" #if 'network' == $sickbeard.COMING_EPS_SORT then 'selected="selected"' else ''#>Network</option>
<option value="$sbRoot/setComingEpsSort/?sort=show" #if 'show' == $sickbeard.COMING_EPS_SORT then 'selected="selected"' else ''#>Show</option>
</select>
</span>
&nbsp;
<span>View Paused:
<select name="viewpaused" class="form-control form-control-inline input-sm" onchange="location = this.options[this.selectedIndex].value;">
<option value="$sbRoot/toggleComingEpsDisplayPaused"<%= (' selected="selected"', '')[True == sickbeard.COMING_EPS_DISPLAY_PAUSED] %>>Hidden</option>
<option value="$sbRoot/toggleComingEpsDisplayPaused"<%= ('', ' selected="selected"')[True == sickbeard.COMING_EPS_DISPLAY_PAUSED] %>>Shown</option>
</select>
</span>
</div> </div>
#if $layout == 'list': <div class="key pull-right">
#if 'calendar' != $layout:
<b>Key:</b>
<span class="listing-key listing-overdue">Missed</span>
<span class="listing-key listing-current">Current</span>
<span class="listing-key listing-default">Future</span>
<span class="listing-key listing-toofar">Distant</span>
#end if
<a class="btn btn-inline forceBacklog" href="webcal://$sbHost:$sbHttpPort/calendar">
<i class="icon-calendar icon-white"></i>Subscribe</a>
</div>
<br>
#if 'list' == $layout:
<!-- start list view //--> <!-- start list view //-->
<script type="text/javascript" src="$sbRoot/js/plotTooltip.js?$sbPID"></script> <script type="text/javascript" src="$sbRoot/js/plotTooltip.js?$sbPID"></script>
<script type="text/javascript" charset="utf-8"> <script type="text/javascript" charset="utf-8">
<!-- <!--
\$.tablesorter.addParser({ \$.tablesorter.addParser({
id: 'loadingNames', id: 'loadingNames',
is: function(s) { is: function(s) {
return false; return false
}, },
format: function(s) { format: function(s) {
if (s.indexOf('Loading...') == 0) if (0 == s.indexOf('Loading...'))
return s.replace('Loading...','000'); return s.replace('Loading...', '000')
#if not $sickbeard.SORT_ARTICLE: #if not $sickbeard.SORT_ARTICLE:
return (s || '').replace(/^(The|A|An)\s/i,''); return (s || '').replace(/^(The|A|An)\s/i, '')
#else: #else:
return (s || ''); return (s || '')
#end if #end if
}, },
type: 'text' type: 'text'
@ -60,20 +92,20 @@
\$.tablesorter.addParser({ \$.tablesorter.addParser({
id: 'quality', id: 'quality',
is: function(s) { is: function(s) {
return false; return false
}, },
format: function(s) { format: function(s) {
return s.replace('hd1080p',5).replace('hd720p',4).replace('hd',3).replace('sd',2).replace('any',1).replace('best',0).replace('custom',7); return s.replace('hd1080p', 5).replace('hd720p', 4).replace('hd', 3).replace('sd', 2).replace('any', 1).replace('best', 0).replace('custom', 7)
}, },
type: 'numeric' type: 'numeric'
}); });
\$.tablesorter.addParser({ \$.tablesorter.addParser({
id: 'cDate', id: 'cDate',
is: function(s) { is: function(s) {
return false; return false
}, },
format: function(s) { format: function(s) {
return s; return s
}, },
type: 'numeric' type: 'numeric'
}); });
@ -84,15 +116,16 @@
#if $sort not in $sort_codes: #if $sort not in $sort_codes:
$sort = 'date' $sort = 'date'
#end if #end if
sortList = [[$sort_codes[$sort], 0]]; sortList = [[$sort_codes[$sort], 0]];
\$("#showListTable:has(tbody tr)").tablesorter({ \$('#showListTable:has(tbody tr)').tablesorter({
widgets: ['stickyHeaders'], widgets: ['stickyHeaders'],
sortList: sortList, sortList: sortList,
textExtraction: { textExtraction: {
0: function(node) { return \$(node).find("span").text().toLowerCase(); }, 0: function(node) { return \$(node).find('span').text().toLowerCase() },
4: function(node) { return \$(node).find("img").attr("alt"); }, 4: function(node) { return \$(node).find('img').attr('alt') },
5: function(node) { return \$(node).find("span").text().toLowerCase(); } 5: function(node) { return \$(node).find('span').text().toLowerCase() }
}, },
headers: { headers: {
0: { sorter: 'cDate' }, 0: { sorter: 'cDate' },
@ -116,7 +149,7 @@
dateHasTime : true, dateHasTime : true,
dateFormat : '${sickbeard.DATE_PRESET}', dateFormat : '${sickbeard.DATE_PRESET}',
timeFormat : '${sickbeard.TIME_PRESET}', timeFormat : '${sickbeard.TIME_PRESET}',
trimZero : #if $sickbeard.TRIM_ZERO then "true" else "false"# trimZero : #if $sickbeard.TRIM_ZERO then 'true' else 'false'#
}); });
#end if #end if
@ -124,7 +157,7 @@
//--> //-->
</script> </script>
#set $show_div = "listing_default" #set $show_div = 'listing-default'
<input type="hidden" id="sbRoot" value="$sbRoot" /> <input type="hidden" id="sbRoot" value="$sbRoot" />
@ -146,80 +179,80 @@
<tbody style="text-shadow:none;"> <tbody style="text-shadow:none;">
#for $cur_result in $sql_results: #for $cur_result in $sql_results:
#set $cur_indexer = int($cur_result["indexer"]) #set $cur_indexer = int($cur_result['indexer'])
#set $runtime = $cur_result["runtime"] #set $runtime = $cur_result['runtime']
#if int($cur_result["paused"]) and not $sickbeard.COMING_EPS_DISPLAY_PAUSED: #if int($cur_result['paused']) and not $sickbeard.COMING_EPS_DISPLAY_PAUSED:
#continue #continue
#end if #end if
#set $cur_ep_airdate = $cur_result["localtime"].date() #set $cur_ep_airdate = $cur_result['localtime'].date()
#if $runtime: #if $runtime:
#set $cur_ep_enddate = $cur_result["localtime"] + datetime.timedelta(minutes=$runtime) #set $cur_ep_enddate = $cur_result['localtime'] + datetime.timedelta(minutes = $runtime)
#if $cur_ep_enddate < $today: #if $cur_ep_enddate < $today:
#set $show_div = "listing_overdue" #set $show_div = 'listing-overdue'
#elif $cur_ep_airdate >= $next_week.date(): #elif $cur_ep_airdate >= $next_week.date():
#set $show_div = "listing_toofar" #set $show_div = 'listing-toofar'
#elif $cur_ep_airdate >= $today.date() and $cur_ep_airdate < $next_week.date(): #elif $cur_ep_airdate >= $today.date() and $cur_ep_airdate < $next_week.date():
#if $cur_ep_airdate == $today.date(): #if $cur_ep_airdate == $today.date():
#set $show_div = "listing_current" #set $show_div = 'listing-current'
#else: #else:
#set $show_div = "listing_default" #set $show_div = 'listing-default'
#end if #end if
#end if #end if
#end if #end if
<!-- start $cur_result["show_name"] //--> <!-- start $cur_result['show_name'] //-->
<tr class="$show_div"> <tr class="$show_div">
## forced to use a div to wrap airdate, the column sort went crazy with a span ## forced to use a div to wrap airdate, the column sort went crazy with a span
<td align="center" class="nowrap"> <td align="center" class="nowrap">
<div class="${fuzzydate}">$sbdatetime.sbdatetime.sbfdatetime($cur_result["localtime"]).decode($sickbeard.SYS_ENCODING)</div><span class="sort_data">$time.mktime($cur_result["localtime"].timetuple())</span> <div class="${fuzzydate}">$sbdatetime.sbdatetime.sbfdatetime($cur_result['localtime']).decode($sickbeard.SYS_ENCODING)</div><span class="sort_data">$time.mktime($cur_result['localtime'].timetuple())</span>
</td> </td>
<td class="comingtvShow"><a href="$sbRoot/home/displayShow?show=${cur_result["showid"]}">$cur_result["show_name"]</a> <td class="tvShow"><a href="$sbRoot/home/displayShow?show=${cur_result['showid']}">$cur_result['show_name']</a>
#if int($cur_result["paused"]): #if int($cur_result['paused']):
<span class="pause">[paused]</span> <span class="pause">[paused]</span>
#end if #end if
</td> </td>
<td class="nowrap" align="center"> <td class="nowrap" align="center">
<%="S%02i" % int(cur_result["season"])+"E%02i" % int(cur_result["episode"]) %> <%= 'S%02iE%02i' % (int(cur_result['season']), int(cur_result['episode'])) %>
</td> </td>
<td> <td>
#if $cur_result["description"] != "" and $cur_result["description"] != None: #if $cur_result['description']:
<img alt="" src="$sbRoot/images/info32.png" height="16" width="16" class="plotInfo" id="plot_info_<%=str(cur_result["showid"])+"_"+str(cur_result["season"])+"_"+str(cur_result["episode"])%>" style="padding-top: 7px;" /> <img alt='' src='$sbRoot/images/info32.png' height='16' width='16' class='plotInfo' id="plot_info_<%= '%s_%s_%s' % (str(cur_result['showid']), str(cur_result['season']), str(cur_result['episode'])) %>" />
#else: #else:
<img src="$sbRoot/images/info32.png" width="16" height="16" class="plotInfoNone" alt="" style="padding-top: 7px;" /> <img alt="" src="$sbRoot/images/info32.png" width="16" height="16" class="plotInfoNone" />
#end if #end if
$cur_result["name"] $cur_result['name']
</td> </td>
<td align="center"> <td align="center">
$cur_result["network"] $cur_result['network']
</td> </td>
<td align="center"> <td align="center">
#if int($cur_result["quality"]) in $qualityPresets: #if int($cur_result['quality']) in $qualityPresets:
<span class="quality $qualityPresetStrings[int($cur_result["quality"])]">$qualityPresetStrings[int($cur_result["quality"])]</span> <span class="quality $qualityPresetStrings[int($cur_result['quality'])]">$qualityPresetStrings[int($cur_result['quality'])]</span>
#else: #else:
<span class="quality Custom">Custom</span> <span class="quality Custom">Custom</span>
#end if #end if
</td> </td>
<td align="center" style="vertical-align: middle;"> <td align="center" style="vertical-align: middle;">
#if $cur_result["imdb_id"]: #if $cur_result['imdb_id']:
<a href="http://www.imdb.com/title/${cur_result["imdb_id"]}" rel="noreferrer" onclick="window.open('${sickbeard.ANON_REDIRECT}' + this.href, '_blank'); return false;" title="http://www.imdb.com/title/${cur_result["imdb_id"]}"><img alt="[imdb]" height="16" width="16" src="$sbRoot/images/imdb.png" /> <a href="<%= anon_url('http://www.imdb.com/title/', cur_result['imdb_id']) %>" rel="noreferrer" onclick="window.open(this.href, '_blank'); return false" title="http://www.imdb.com/title/${cur_result['imdb_id']}"><img alt="[imdb]" height="16" width="16" src="$sbRoot/images/imdb.png" />
#end if #end if
<a href="$sickbeard.indexerApi($cur_indexer).config["show_url"]${cur_result["showid"]}" rel="noreferrer" onclick="window.open('${sickbeard.ANON_REDIRECT}' + this.href, '_blank'); return false;" title="$sickbeard.indexerApi($cur_indexer).config["show_url"]${cur_result["showid"]}"><img alt="$sickbeard.indexerApi($cur_indexer).name" height="16" width="16" src="$sbRoot/images/$sickbeard.indexerApi($cur_indexer).config["icon"]" /></a> <a href="<%= anon_url(sickbeard.indexerApi(cur_indexer).config['show_url'], cur_result['showid']) %>" rel="noreferrer" onclick="window.open(this.href, '_blank'); return false" title="$sickbeard.indexerApi($cur_indexer).config['show_url']${cur_result['showid']}"><img alt="$sickbeard.indexerApi($cur_indexer).name" height="16" width="16" src="$sbRoot/images/$sickbeard.indexerApi($cur_indexer).config['icon']" /></a>
</td> </td>
<td align="center"> <td align="center">
<a href="$sbRoot/home/searchEpisode?show=${cur_result["showid"]}&amp;season=$cur_result["season"]&amp;episode=$cur_result["episode"]" title="Manual Search" id="forceUpdate-${cur_result["showid"]}" class="forceUpdate epSearch"><img alt="[search]" height="16" width="16" src="$sbRoot/images/search16.png" id="forceUpdateImage-${cur_result["showid"]}" /></a> <a href="$sbRoot/home/searchEpisode?show=${cur_result['showid']}&amp;season=$cur_result['season']&amp;episode=$cur_result['episode']" title="Manual Search" id="forceUpdate-${cur_result['showid']}" class="forceUpdate epSearch"><img alt="[search]" height="16" width="16" src="$sbRoot/images/search16.png" id="forceUpdateImage-${cur_result['showid']}" /></a>
</td> </td>
</tr> </tr>
<!-- end $cur_result["show_name"] //--> <!-- end $cur_result['show_name'] //-->
#end for #end for
</tbody> </tbody>
@ -232,18 +265,20 @@
</table> </table>
<!-- end list view //--> <!-- end list view //-->
#else if $layout in ['banner', 'poster']: #else if $layout in ['banner', 'poster']:
<!-- start non list view //--> <!-- start non list view //-->
<script type="text/javascript" charset="utf-8"> <script type="text/javascript" charset="utf-8">
<!-- <!--
\$(document).ready(function(){ \$(document).ready(function(){
\$('#sbRoot').ajaxEpSearch({'size': 16, 'loadingImage': 'loading16.gif'}); \$('#sbRoot').ajaxEpSearch({'size': 16, 'loadingImage': 'loading16' + themeSpinner + '.gif'});
\$(".ep_summary").hide(); \$('.ep_summary').hide();
\$(".ep_summaryTrigger").click(function() { \$('.ep_summaryTrigger').click(function() {
\$(this).next(".ep_summary").slideToggle('normal', function() { \$(this).next('.ep_summary').slideToggle('normal', function() {
\$(this).prev(".ep_summaryTrigger").attr('src', function(i, src) { \$(this).prev('.ep_summaryTrigger').attr('src', function(i, src) {
return \$(this).next(".ep_summary").is(':visible') ? src.replace('plus','minus') : src.replace('minus','plus'); return \$(this).next('.ep_summary').is(':visible') ? src.replace('plus','minus') : src.replace('minus','plus')
}); });
}); });
}); });
@ -257,7 +292,7 @@
dateHasTime : true, dateHasTime : true,
dateFormat : '${sickbeard.DATE_PRESET}', dateFormat : '${sickbeard.DATE_PRESET}',
timeFormat : '${sickbeard.TIME_PRESET}', timeFormat : '${sickbeard.TIME_PRESET}',
trimZero : #if $sickbeard.TRIM_ZERO then "true" else "false"# trimZero : #if $sickbeard.TRIM_ZERO then 'true' else 'false'#
}); });
#end if #end if
@ -269,68 +304,65 @@
#set $too_late_header = False #set $too_late_header = False
#set $missed_header = False #set $missed_header = False
#set $today_header = False #set $today_header = False
#set $show_div = "ep_listing listing_default" #set $show_div = 'ep_listing listing-default'
#if $sort == "show": #if 'show' == $sort:
<br /><br /> <br /><br />
#end if #end if
#for $cur_result in $sql_results: #for $cur_result in $sql_results:
#set $cur_indexer = int($cur_result["indexer"]) #set $cur_indexer = int($cur_result['indexer'])
<!-- start $cur_result["show_name"] //--> <!-- start $cur_result['show_name'] //-->
#if int($cur_result["paused"]) and not $sickbeard.COMING_EPS_DISPLAY_PAUSED: #if int($cur_result['paused']) and not $sickbeard.COMING_EPS_DISPLAY_PAUSED:
#continue #continue
#end if #end if
#set $runtime = $cur_result["runtime"] #set $runtime = $cur_result['runtime']
#if $sort == "network": #if 'network' == $sort:
#if $cur_result["network"] and $cur_segment != $cur_result["network"]: #set $show_network = $cur_result['network'] if $cur_result['network'] else 'no network'
#if $cur_segment != $show_network:
<div class="comingepheader"> <div class="comingepheader">
<h1 class="network">$cur_result["network"]</h1> <br><h2 class="network">$show_network</h2>
#set $cur_segment = $cur_result["network"] #set $cur_segment = $cur_result['network']
#end if #end if
#set $cur_ep_airdate = $cur_result["localtime"].date() #set $cur_ep_airdate = $cur_result['localtime'].date()
#if $runtime: #if $runtime:
#set $cur_ep_enddate = $cur_result["localtime"] + datetime.timedelta(minutes=$runtime) #set $cur_ep_enddate = $cur_result['localtime'] + datetime.timedelta(minutes = $runtime)
#if $cur_ep_enddate < $today: #if $cur_ep_enddate < $today:
#set $show_div = "ep_listing listing_overdue" #set $show_div = 'ep_listing listing-overdue'
#elif $cur_ep_airdate >= $next_week.date(): #elif $cur_ep_airdate >= $next_week.date():
#set $show_div = "ep_listing listing_toofar" #set $show_div = 'ep_listing listing-toofar'
#elif $cur_ep_enddate >= $today and $cur_ep_airdate < $next_week.date(): #elif $cur_ep_enddate >= $today and $cur_ep_airdate < $next_week.date():
#if $cur_ep_airdate == $today.date(): #if $cur_ep_airdate == $today.date():
#set $show_div = "ep_listing listing_current" #set $show_div = 'ep_listing listing-current'
#else: #else:
#set $show_div = "ep_listing listing_default" #set $show_div = 'ep_listing listing-default'
#end if #end if
#end if #end if
#end if #end if
#elif $sort == "date": #elif 'date' == $sort:
#set $cur_ep_airdate = $cur_result["localtime"].date() #set $cur_ep_airdate = $cur_result['localtime'].date()
#if $cur_segment != $cur_ep_airdate: #if $cur_segment != $cur_ep_airdate:
#if $runtime: #if $runtime:
#set $cur_ep_enddate = $cur_result["localtime"] + datetime.timedelta(minutes=$runtime) #set $cur_ep_enddate = $cur_result['localtime'] + datetime.timedelta(minutes = $runtime)
#if $cur_ep_enddate < $today and $cur_ep_airdate != $today.date() and not $missed_header: #if $cur_ep_enddate < $today and $cur_ep_airdate != $today.date() and not $missed_header:
<div class="comingepheader"> <br /><h2 class="day">Missed</h2>
<br /><h1 class="day">Missed</h1>
#set $missed_header = True #set $missed_header = True
#elif $cur_ep_airdate >= $next_week.date() and not $too_late_header: #elif $cur_ep_airdate >= $next_week.date() and not $too_late_header:
<div class="comingepheader"> <br /><h2 class="day">Later</h2>
<br /><h1 class="day">Later</h1>
#set $too_late_header = True #set $too_late_header = True
#elif $cur_ep_enddate >= $today and $cur_ep_airdate < $next_week.date(): #elif $cur_ep_enddate >= $today and $cur_ep_airdate < $next_week.date():
#if $cur_ep_airdate == $today.date(): #if $cur_ep_airdate == $today.date():
<div class="comingepheader"> <br /><h2 class="day">$datetime.date.fromordinal($cur_ep_airdate.toordinal).strftime('%A').decode($sickbeard.SYS_ENCODING).capitalize() <span style="font-size: 14px; vertical-align: top;">[Today]</span></h2>
<br /><h1 class="day">$datetime.date.fromordinal($cur_ep_airdate.toordinal).strftime("%A").decode($sickbeard.SYS_ENCODING).capitalize() <span style="font-size: 12px;">[today]</span></h1>
#set $today_header = True #set $today_header = True
#else: #else:
<div class="comingepheader"> <br /><h2 class="day">$datetime.date.fromordinal($cur_ep_airdate.toordinal).strftime('%A').decode($sickbeard.SYS_ENCODING).capitalize()</h2>
<br /><h1 class="day">$datetime.date.fromordinal($cur_ep_airdate.toordinal).strftime("%A").decode($sickbeard.SYS_ENCODING).capitalize()</h1>
#end if #end if
#end if #end if
#end if #end if
@ -339,82 +371,83 @@
#if $cur_ep_airdate == $today.date() and not $today_header: #if $cur_ep_airdate == $today.date() and not $today_header:
<div class="comingepheader"> <div class="comingepheader">
<br /><h1 class="day">$datetime.date.fromordinal($cur_ep_airdate.toordinal).strftime("%A").decode($sickbeard.SYS_ENCODING).capitalize() <span style="font-size: 12px;">[today]</span></h1> <br /><h2 class="day">$datetime.date.fromordinal($cur_ep_airdate.toordinal).strftime('%A').decode($sickbeard.SYS_ENCODING).capitalize() <span style="font-size: 14px; vertical-align: top;">[Today]</span></h2>
#set $today_header = True #set $today_header = True
#end if #end if
#if $runtime: #if $runtime:
#if $cur_ep_enddate < $today: #if $cur_ep_enddate < $today:
#set $show_div = "ep_listing listing_overdue" #set $show_div = 'ep_listing listing-overdue'
#elif $cur_ep_airdate >= $next_week.date(): #elif $cur_ep_airdate >= $next_week.date():
#set $show_div = "ep_listing listing_toofar" #set $show_div = 'ep_listing listing-toofar'
#elif $cur_ep_enddate >= $today and $cur_ep_airdate < $next_week.date(): #elif $cur_ep_enddate >= $today and $cur_ep_airdate < $next_week.date():
#if $cur_ep_airdate == $today.date(): #if $cur_ep_airdate == $today.date():
#set $show_div = "ep_listing listing_current" #set $show_div = 'ep_listing listing-current'
#else: #else:
#set $show_div = "ep_listing listing_default" #set $show_div = 'ep_listing listing-default'
#end if #end if
#end if #end if
#end if #end if
#elif $sort == "show": #elif 'show' == $sort:
#set $cur_ep_airdate = $cur_result["localtime"].date() #set $cur_ep_airdate = $cur_result['localtime'].date()
#if $runtime: #if $runtime:
#set $cur_ep_enddate = $cur_result["localtime"] + datetime.timedelta(minutes=$runtime) #set $cur_ep_enddate = $cur_result['localtime'] + datetime.timedelta(minutes = $runtime)
#if $cur_ep_enddate < $today: #if $cur_ep_enddate < $today:
#set $show_div = "ep_listing listing_overdue listingradius" #set $show_div = 'ep_listing listing-overdue listingradius'
#elif $cur_ep_airdate >= $next_week.date(): #elif $cur_ep_airdate >= $next_week.date():
#set $show_div = "ep_listing listing_toofar listingradius" #set $show_div = 'ep_listing listing-toofar listingradius'
#elif $cur_ep_enddate >= $today and $cur_ep_airdate < $next_week.date(): #elif $cur_ep_enddate >= $today and $cur_ep_airdate < $next_week.date():
#if $cur_ep_airdate == $today.date(): #if $cur_ep_airdate == $today.date():
#set $show_div = "ep_listing listing_current listingradius" #set $show_div = 'ep_listing listing-current listingradius'
#else: #else:
#set $show_div = "ep_listing listing_default listingradius" #set $show_div = 'ep_listing listing-default listingradius'
#end if #end if
#end if #end if
#end if #end if
#end if #end if
<div class="$show_div" id="listing_${cur_result["showid"]}"> <div class="$show_div" id="listing-${cur_result['showid']}">
<div class="tvshowDiv"> <div class="tvshowDiv">
<table width="100%" border="0" cellpadding="0" cellspacing="0"> <table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr> <tr>
<th #if $layout == 'banner' then "class=\"nobg\"" else "rowspan=\"2\""# valign="top"> <th #if 'banner' == $layout then 'class="nobg"' else 'rowspan="2"'# valign="top">
<a href="$sbRoot/home/displayShow?show=${cur_result["showid"]}"><img alt="" class="#if $layout == 'banner' then "bannerThumb" else "posterThumb"#" src="$sbRoot/showPoster/?show=${cur_result["showid"]}&amp;which=#if $layout == 'poster' then "poster_thumb" else $layout#" /></a> <a href="$sbRoot/home/displayShow?show=${cur_result['showid']}"><img alt="" class="#if 'banner' == $layout then 'bannerThumb' else 'posterThumb'#" src="$sbRoot/showPoster/?show=${cur_result['showid']}&amp;which=#if 'poster' == $layout then 'poster_thumb' else $layout#" /></a>
</th> </th>
#if $layout == 'banner': #if 'banner' == $layout:
</tr> </tr>
<tr> <tr>
#end if #end if
<td class="next_episode"> <td class="next_episode">
<div class="clearfix"> <div class="clearfix">
<h2 class="tvshowTitle"><a href="$sbRoot/home/displayShow?show=${cur_result["showid"]}">$cur_result["show_name"] <span class="tvshowTitle">
#if int($cur_result["paused"]): <a href="$sbRoot/home/displayShow?show=${cur_result['showid']}">$cur_result['show_name']
#if int($cur_result['paused']):
<span class="pause">[paused]</span> <span class="pause">[paused]</span>
#end if #end if
</a></h2> </a></span>
<span class="tvshowTitleIcons"> <span class="tvshowTitleIcons">
#if $cur_result["imdb_id"]: #if $cur_result['imdb_id']:
<a href="http://www.imdb.com/title/${cur_result["imdb_id"]}" rel="noreferrer" onclick="window.open('${sickbeard.ANON_REDIRECT}' + this.href, '_blank'); return false;" title="http://www.imdb.com/title/${cur_result["imdb_id"]}"><img alt="[imdb]" height="16" width="16" src="$sbRoot/images/imdb.png" /> <a href="<%= anon_url('http://www.imdb.com/title/', cur_result['imdb_id']) %>" rel="noreferrer" onclick="window.open(this.href, '_blank'); return false" title="http://www.imdb.com/title/${cur_result['imdb_id']}"><img alt="[imdb]" height="16" width="16" src="$sbRoot/images/imdb.png" />
#end if #end if
<a href="$sickbeard.indexerApi($cur_indexer).config["show_url"]${cur_result["showid"]}" rel="noreferrer" onclick="window.open('${sickbeard.ANON_REDIRECT}' + this.href, '_blank'); return false;" title="$sickbeard.indexerApi($cur_indexer).config["show_url"]${cur_result["showid"]}"><img alt="$sickbeard.indexerApi($cur_indexer).name" height="16" width="16" src="$sbRoot/images/$sickbeard.indexerApi($cur_indexer).config["icon"]" /></a> <a href="<%= anon_url(sickbeard.indexerApi(cur_indexer).config['show_url'], cur_result['showid']) %>" rel="noreferrer" onclick="window.open(this.href, '_blank'); return false" title="$sickbeard.indexerApi($cur_indexer).config['show_url']${cur_result['showid']}"><img alt="$sickbeard.indexerApi($cur_indexer).name" height="16" width="16" src="$sbRoot/images/$sickbeard.indexerApi($cur_indexer).config['icon']" /></a>
<span><a href="$sbRoot/home/searchEpisode?show=${cur_result["showid"]}&amp;season=$cur_result["season"]&amp;episode=$cur_result["episode"]" title="Manual Search" id="forceUpdate-${cur_result["showid"]}" class="epSearch forceUpdate"><img alt="[search]" height="16" width="16" src="$sbRoot/images/search16.png" id="forceUpdateImage-${cur_result["showid"]}" /></a></span> <span><a href="$sbRoot/home/searchEpisode?show=${cur_result['showid']}&amp;season=$cur_result['season']&amp;episode=$cur_result['episode']" title="Manual Search" id="forceUpdate-${cur_result['showid']}" class="epSearch forceUpdate"><img alt="[search]" height="16" width="16" src="$sbRoot/images/search16.png" id="forceUpdateImage-${cur_result['showid']}" /></a></span>
</span> </span>
</div> </div>
<span class="title">Next Episode:</span> <span><%="S%02i" % int(cur_result["season"])+"E%02i" % int(cur_result["episode"]) %> - $cur_result["name"]</span> <span class="title">Next Episode:</span> <span><%= 'S%02iE%02i' % (int(cur_result['season']), int(cur_result['episode'])) %> - $cur_result['name']</span>
<div class="clearfix"> <div class="clearfix">
<span class="title">Airs: </span><span class="${fuzzydate}">$sbdatetime.sbdatetime.sbfdatetime($cur_result["localtime"]).decode($sickbeard.SYS_ENCODING)</span><span> on $cur_result["network"]</span> <span class="title">Airs: </span><span class="${fuzzydate}">$sbdatetime.sbdatetime.sbfdatetime($cur_result['localtime']).decode($sickbeard.SYS_ENCODING)</span><%= ('', '<span> on %s</span>' % str(cur_result['network']))[None is not cur_result['network']] %>
</div> </div>
<div class="clearfix"> <div class="clearfix">
<span class="title">Quality:</span> <span class="title">Quality:</span>
#if int($cur_result["quality"]) in $qualityPresets: #if int($cur_result['quality']) in $qualityPresets:
<span class="quality $qualityPresetStrings[int($cur_result["quality"])]">$qualityPresetStrings[int($cur_result["quality"])]</span> <span class="quality $qualityPresetStrings[int($cur_result['quality'])]">$qualityPresetStrings[int($cur_result['quality'])]</span>
#else: #else:
<span class="quality Custom">Custom</span> <span class="quality Custom">Custom</span>
#end if #end if
@ -424,9 +457,9 @@
<tr> <tr>
<td style="vertical-align: top;"> <td style="vertical-align: top;">
<div> <div>
#if $cur_result["description"] != "" and $cur_result["description"] != None: #if $cur_result['description']:
<span class="title" style="vertical-align:middle;">Plot:</span> <span class="title" style="vertical-align:middle;">Plot:</span>
<img class="ep_summaryTrigger" src="$sbRoot/images/plus.png" height="16" width="16" alt="" title="Toggle Summary" /><div class="ep_summary">$cur_result["description"]</div> <img class="ep_summaryTrigger" src="$sbRoot/images/plus.png" height="16" width="16" alt="" title="Toggle Summary" /><div class="ep_summary">$cur_result['description']</div>
#else: #else:
<span class="title ep_summaryTriggerNone" style="vertical-align:middle;">Plot:</span> <span class="title ep_summaryTriggerNone" style="vertical-align:middle;">Plot:</span>
<img class="ep_summaryTriggerNone" src="$sbRoot/images/plus.png" height="16" width="16" alt="" /> <img class="ep_summaryTriggerNone" src="$sbRoot/images/plus.png" height="16" width="16" alt="" />
@ -438,67 +471,78 @@
</div> </div>
</div> </div>
<!-- end $cur_result["show_name"] //--> <!-- end $cur_result['show_name'] //-->
#end for #end for
<!-- end non list view //--> <!-- end non list view //-->
#end if #end if
#if $layout == 'calendar': #if 'calendar' == $layout:
#set $today = datetime.date.today() #set $today = datetime.date.today()
#set $dates = [$today + datetime.timedelta(days = $i) for $i in range(7)] #set $dates = [$today + datetime.timedelta(days = $i) for $i in range(7)]
#set $tbl_day = 0
<br>
<br>
<div class="calendarWrapper">
<input type="hidden" id="sbRoot" value="$sbRoot" /> <input type="hidden" id="sbRoot" value="$sbRoot" />
#for $day in $dates #for $day in $dates
<table class="sickbeardTable tablesorter" cellspacing="0" border="0" cellpadding="0" style="float:left;width:146px;white-space: nowrap; table-layout: fixed; background-color:rgb(51,51,51)"> #set $tbl_day += 1
<thead><tr><th>$day.strftime("%A").decode($sickbeard.SYS_ENCODING).capitalize()</th></tr></thead> <table class="sickbeardTable tablesorter calendarTable <%= 'cal-%s' % (('even', 'odd')[1 == tbl_day % 2]) %>" cellspacing="0" border="0" cellpadding="0">
<thead><tr><th>$day.strftime('%A').decode($sickbeard.SYS_ENCODING).capitalize()</th></tr></thead>
<tbody> <tbody>
#set $day_has_show = False #set $day_has_show = False
#for $cur_result in $sql_results: #for $cur_result in $sql_results:
#set $cur_indexer = int($cur_result["indexer"]) #if int($cur_result['paused']) and not $sickbeard.COMING_EPS_DISPLAY_PAUSED:
#set $runtime = $cur_result["runtime"] #continue
#set $airday = $cur_result["localtime"].date() #end if
#set $cur_indexer = int($cur_result['indexer'])
#set $runtime = $cur_result['runtime']
#set $airday = $cur_result['localtime'].date()
#if $airday == $day: #if $airday == $day:
#set $day_has_show = True #set $day_has_show = True
#set $airtime = $sbdatetime.sbdatetime.fromtimestamp($time.mktime($cur_result["localtime"].timetuple())).sbftime().decode($sickbeard.SYS_ENCODING) #set $airtime = $sbdatetime.sbdatetime.fromtimestamp($time.mktime($cur_result['localtime'].timetuple())).sbftime().decode($sickbeard.SYS_ENCODING)
#if $sickbeard.TRIM_ZERO: #if $sickbeard.TRIM_ZERO:
#set $airtime = re.sub(r"0(\d:\d\d)", r"\1", $airtime, 0, re.IGNORECASE | re.MULTILINE) #set $airtime = re.sub(r'0(\d:\d\d)', r'\1', $airtime, 0, re.IGNORECASE | re.MULTILINE)
#end if #end if
<tr> <tr>
<td style="padding:0"> <td class="calendarShow">
<div> <div class="poster">
<a title="${cur_result["show_name"]}" href="$sbRoot/home/displayShow?show=${cur_result["showid"]}"><img alt="" src="$sbRoot/showPoster/?show=${cur_result["showid"]}&amp;which=poster_thumb" width="144" style="padding-bottom: 5px;" /></a> <a title="${cur_result['show_name']}" href="$sbRoot/home/displayShow?show=${cur_result['showid']}"><img alt="" src="$sbRoot/showPoster/?show=${cur_result['showid']}&amp;which=poster_thumb" /></a>
</div> </div>
<div class="show-status" style="padding:0 5px 10px 5px"> <div class="text">
<span style="overflow: hidden; text-overflow: ellipsis; display:block"> <span class="airtime">
${airtime} on $cur_result["network"] ${airtime} on $cur_result["network"]
</span> </span>
<span style="overflow: hidden; text-overflow: ellipsis; display:block" title="$cur_result["name"]"> <span class="episode-title" title="$cur_result['name']">
<%= "S%02i" % int(cur_result["season"]) + "E%02i" % int(cur_result["episode"]) %> - $cur_result["name"] <%= 'S%02iE%02i' % (int(cur_result['season']), int(cur_result['episode'])) %> - $cur_result['name']
</span> </span>
</div> </div>
</td> <!-- end $cur_result["show_name"] //--> </td> <!-- end $cur_result['show_name'] -->
</tr> </tr>
#end if #end if
#end for #end for
#if not $day_has_show: #if not $day_has_show:
<tr><td style="padding:0"><span class="show-status" style="padding:5px 10px 10px; text-align:center">No shows for this day</span></td></tr> <tr><td class="calendarShow"><span class="show-status">No shows for this day</span></td></tr>
#end if #end if
</tbody> </tbody>
</table> </table>
#end for #end for
<!-- end calender view //--> <!-- end calender view //-->
</div>
#end if #end if
<div class="clearfix"></div>
<script type="text/javascript" charset="utf-8"> <script type="text/javascript" charset="utf-8">
<!-- <!--
window.setInterval( "location.reload(true)", 600000); // Refresh every 10 minutes window.setInterval('location.reload(true)', 600000); // Refresh every 10 minutes
//--> //-->
</script> </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

@ -1,6 +1,8 @@
#import sickbeard #import sickbeard
#from sickbeard import db #from sickbeard import db
#from sickbeard.helpers import anon_url
#import os.path #import os.path
#set global $title="Configuration" #set global $title="Configuration"
#set global $header="Configuration" #set global $header="Configuration"
@ -8,7 +10,7 @@
#set global $topmenu="config"# #set global $topmenu="config"#
#include $os.path.join($sickbeard.PROG_DIR, "gui/slick/interfaces/default/inc_top.tmpl") #include $os.path.join($sickbeard.PROG_DIR, "gui/slick/interfaces/default/inc_top.tmpl")
<div id="content960">
#if $varExists('header') #if $varExists('header')
<h1 class="header">$header</h1> <h1 class="header">$header</h1>
#else #else
@ -27,7 +29,7 @@
##set disk_free = $disk.free / 2**30 ##set disk_free = $disk.free / 2**30
##set disk_percent_used = $disk.percent ##set disk_percent_used = $disk.percent
<div id="summary2" class="align-left"> <div id="config-content">
<table class="infoTable" cellspacing="1" border="0" cellpadding="0" width="100%"> <table class="infoTable" cellspacing="1" border="0" cellpadding="0" width="100%">
<tr><td class="infoTableHeader">SR Version: </td><td class="infoTableCell"> <tr><td class="infoTableHeader">SR Version: </td><td class="infoTableCell">
#if $sickbeard.VERSION_NOTIFY #if $sickbeard.VERSION_NOTIFY
@ -43,11 +45,11 @@
<tr><td class="infoTableHeader">SR Arguments:</td><td class="infoTableCell">$sickbeard.MY_ARGS</td></tr> <tr><td class="infoTableHeader">SR Arguments:</td><td class="infoTableCell">$sickbeard.MY_ARGS</td></tr>
<tr><td class="infoTableHeader">SR Web Root:</td><td class="infoTableCell">$sickbeard.WEB_ROOT</td></tr> <tr><td class="infoTableHeader">SR Web Root:</td><td class="infoTableCell">$sickbeard.WEB_ROOT</td></tr>
<tr><td class="infoTableHeader">Python Version:</td><td class="infoTableCell">$sys.version[:120]</td></tr> <tr><td class="infoTableHeader">Python Version:</td><td class="infoTableCell">$sys.version[:120]</td></tr>
<tr class="infoTableSeperator"><td class="infoTableHeader"><i class="icon16-sb"></i> Homepage </td><td><a href="http://www.sickrage.tv/" rel="noreferrer" onclick="window.open('${sickbeard.ANON_REDIRECT}' + this.href, '_blank'); return false;">http://www.sickrage.tv/</a></td></tr> <tr class="infoTableSeperator"><td class="infoTableHeader"><i class="icon16-sb"></i> Homepage</td><td class="infoTableCell"><a href="<%= anon_url('http://www.sickrage.tv/') %>" rel="noreferrer" onclick="window.open(this.href, '_blank'); return false;">http://www.sickrage.tv/</a></td></tr>
<tr><td class="infoTableHeader"><i class="icon16-web"></i> Forums </td><td><a href="http://sickrage.tv/forums/" rel="noreferrer" onclick="window.open('${sickbeard.ANON_REDIRECT}' + this.href, '_blank'); return false;">http://sickrage.tv/forums/</a></td></tr> <tr><td class="infoTableHeader"><i class="icon16-web"></i> Forums</td><td class="infoTableCell"><a href="<%= anon_url('http://sickrage.tv/forums/') %>" rel="noreferrer" onclick="window.open(this.href, '_blank'); return false;">http://sickrage.tv/forums/</a></td></tr>
<tr><td class="infoTableHeader"><i class="icon16-github"></i> Source </td><td><a href="https://github.com/SiCKRAGETV/SickRage/" rel="noreferrer" onclick="window.open('${sickbeard.ANON_REDIRECT}' + this.href, '_blank'); return false;">https://github.com/SiCKRAGETV/SickRage/</a></td></tr> <tr><td class="infoTableHeader"><i class="icon16-github"></i> Source</td><td class="infoTableCell"><a href="<%= anon_url('https://github.com/SiCKRAGETV/SickRage/') %>" rel="noreferrer" onclick="window.open(this.href, '_blank'); return false;">https://github.com/SiCKRAGETV/SickRage/</a></td></tr>
<tr><td class="infoTableHeader"><i class="icon16-mirc"></i> Internet Relay Chat </td><td><a href="irc://irc.freenode.net/#sickrage" rel="noreferrer" onclick="window.open('${sickbeard.ANON_REDIRECT}' + this.href, '_blank'); return false;"><i>#sickrage</i> on <i>irc.freenode.net</i></a></td></tr> <tr><td class="infoTableHeader"><i class="icon16-mirc"></i> Internet Relay Chat</td><td class="infoTableCell"><a href="irc://irc.freenode.net/#sickrage" rel="noreferrer"><i>#sickrage</i> on <i>irc.freenode.net</i></a></td></tr>
</table> </table>
</div></div> </div>
#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

@ -1,4 +1,6 @@
#import sickbeard #import sickbeard
#from sickbeard.helpers import anon_url
#set global $title="Config - Anime" #set global $title="Config - Anime"
#set global $header="Anime" #set global $header="Anime"
@ -27,16 +29,17 @@
<li><a href="#core-component-group2">Look & Feel</a></li> <li><a href="#core-component-group2">Look & Feel</a></li>
</ul> </ul>
<div id="core-component-group1" class="component-group clearfix"> <div id="core-component-group1" class="tab-pane active component-group">
<div class="component-group-desc"> <div class="component-group-desc">
<h3><a href="http://anidb.info" onclick="window.open(this.href, '_blank'); return false;"><img src="$sbRoot/images/providers/anidb.gif" alt="AniDB" title="AniDB" width="16" height="16" /> AniDB</a></h3> <img class="notifier-icon" src="$sbRoot/images/providers/anidb.gif" alt="AniDB" title="AniDB" width="24" height="24" />
<h3><a href="<%= anon_url('http://anidb.info') %>" onclick="window.open(this.href, '_blank'); return false;">AniDB</a></h3>
<p>AniDB is non-profit database of anime information that is freely open to the public</p> <p>AniDB is non-profit database of anime information that is freely open to the public</p>
</div> </div>
<fieldset class="component-group-list"> <fieldset class="component-group-list">
<div class="field-pair"> <div class="field-pair">
<input type="checkbox" class="enabler" name="use_anidb" id="use_anidb" #if $sickbeard.USE_ANIDB then "checked=\"checked\"" else ""# /> <input type="checkbox" class="enabler" name="use_anidb" id="use_anidb" #if $sickbeard.USE_ANIDB then "checked=\"checked\"" else ""# />
<label class="clearfix" for="use_notifo"> <label for="use_notifo">
<span class="component-title">Enable</span> <span class="component-title">Enable</span>
<span class="component-desc">Should Sick Beard use data from AniDB?</span> <span class="component-desc">Should Sick Beard use data from AniDB?</span>
</label> </label>
@ -44,39 +47,40 @@
<div id="content_use_anidb"> <div id="content_use_anidb">
<div class="field-pair"> <div class="field-pair">
<label class="nocheck clearfix"> <label class="nocheck">
<span class="component-title">AniDB Username</span> <span class="component-title">AniDB Username</span>
<input type="text" name="anidb_username" id="anidb_username" value="$sickbeard.ANIDB_USERNAME" size="35" /> <input type="text" name="anidb_username" id="anidb_username" value="$sickbeard.ANIDB_USERNAME" class="form-control input-sm input350" />
</label> </label>
<label class="nocheck clearfix"> <label class="nocheck">
<span class="component-title">&nbsp;</span> <span class="component-title">&nbsp;</span>
<span class="component-desc">Username of your AniDB account</span> <span class="component-desc">Username of your AniDB account</span>
</label> </label>
</div> </div>
<div class="field-pair"> <div class="field-pair">
<label class="nocheck clearfix"> <label class="nocheck">
<span class="component-title">AniDB Password</span> <span class="component-title">AniDB Password</span>
<input type="password" name="anidb_password" id="anidb_password" value="$sickbeard.ANIDB_PASSWORD" size="35" /> <input type="password" name="anidb_password" id="anidb_password" value="$sickbeard.ANIDB_PASSWORD" class="form-control input-sm input350" />
</label> </label>
<label class="nocheck clearfix"> <label class="nocheck">
<span class="component-title">&nbsp;</span> <span class="component-title">&nbsp;</span>
<span class="component-desc">Password of your AniDB account</span> <span class="component-desc">Password of your AniDB account</span>
</label> </label>
</div> </div>
<div class="field-pair"> <div class="field-pair">
<input type="checkbox" name="anidb_use_mylist" id="anidb_use_mylist" #if $sickbeard.ANIDB_USE_MYLIST then "checked=\"checked\"" else ""# /> <input type="checkbox" name="anidb_use_mylist" id="anidb_use_mylist" #if $sickbeard.ANIDB_USE_MYLIST then "checked=\"checked\"" else ""# />
<label class="nocheck clearfix"> <label>
<span class="component-title">AniDB MyList</span> <span class="component-title">AniDB MyList</span>
<span class="component-desc">Do you want to add the PostProcessed Episodes to the MyList ?</span> <span class="component-desc">Do you want to add the PostProcessed Episodes to the MyList ?</span>
</label> </label>
</div> </div>
</div> </div>
<input type="submit" class="btn" value="Save Changes" /> <input type="submit" class="btn config_submitter" value="Save Changes" />
</fieldset> </fieldset>
</div><!-- /component-group //--> </div><!-- /component-group //-->
<div id="core-component-group2" class="component-group clearfix">
<div id="core-component-group2" class="tab-pane component-group">
<div class="component-group-desc"> <div class="component-group-desc">
<h3>Look and Feel</h3> <h3>Look and Feel</h3>
@ -84,22 +88,22 @@
<fieldset class="component-group-list"> <fieldset class="component-group-list">
<div class="field-pair"> <div class="field-pair">
<input type="checkbox" class="enabler" name="split_home" id="split_home" #if $sickbeard.ANIME_SPLIT_HOME then "checked=\"checked\"" else ""# /> <input type="checkbox" class="enabler" name="split_home" id="split_home" #if $sickbeard.ANIME_SPLIT_HOME then "checked=\"checked\"" else ""# />
<label class="clearfix" for="use_notifo"> <label for="use_notifo">
<span class="component-title">Split show lists</span> <span class="component-title">Split show lists</span>
<span class="component-desc">Separate anime and normal shows in groups</span> <span class="component-desc">Separate anime and normal shows in groups</span>
</label> </label>
</div> </div>
<input type="submit" class="btn" value="Save Changes" /> <input type="submit" class="btn config_submitter" value="Save Changes" />
</fieldset> </fieldset>
</div><!-- /component-group //--> </div><!-- /component-group //-->
<br/><input type="submit" class="btn" value="Save Changes" /><br/>
<br/><input type="submit" class="btn config_submitter" value="Save Changes" /><br/>
</div><!-- /config-components //--> </div><!-- /config-components //-->
</form> </form>
</div>
</div>
</div></div></div>
<div class="clearfix"></div>
#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

@ -16,7 +16,7 @@
#include $os.path.join($sickbeard.PROG_DIR, "gui/slick/interfaces/default/inc_top.tmpl") #include $os.path.join($sickbeard.PROG_DIR, "gui/slick/interfaces/default/inc_top.tmpl")
<script type="text/javascript" src="$sbRoot/js/configBackupRestore.js?$sbPID"></script> <script type="text/javascript" src="$sbRoot/js/configBackupRestore.js?$sbPID"></script>
<div id="content960">
#if $varExists('header') #if $varExists('header')
<h1 class="header">$header</h1> <h1 class="header">$header</h1>
#else #else
@ -33,7 +33,7 @@
<div id="config"> <div id="config">
<div id="config-content"> <div id="config-content">
<form name="configForm" method="post" action="backuprestore" style="line-height: 44px"> <form name="configForm" method="post" action="backuprestore">
<div id="config-components"> <div id="config-components">
<ul> <ul>
<li><a href="#core-component-group1">Backup</a></li> <li><a href="#core-component-group1">Backup</a></li>
@ -46,12 +46,21 @@
<p><b>Backup your main database file and config.</b></p> <p><b>Backup your main database file and config.</b></p>
</div> </div>
<b>Select the folder you wish to save your backup file to:</b> <fieldset class="component-group-list">
<br/> <div class="field-pair">
<input type="text" name="backupDir" id="backupDir" size="50" /><br/> Select the folder you wish to save your backup file to:
<br/><br/>
<input type="text" name="backupDir" id="backupDir" class="form-control input-sm input350" />
<input class="btn btn-inline" type="button" value="Backup" id="Backup" />
<br/> <br/>
</div>
<div class="Backup" id="Backup-result"></div> <div class="Backup" id="Backup-result"></div>
<input class="btn" type="button" value="Backup" id="Backup" /> </fieldset>
</div><!-- /component-group1 //--> </div><!-- /component-group1 //-->
<div id="core-component-group2" class="component-group clearfix"> <div id="core-component-group2" class="component-group clearfix">
@ -60,16 +69,25 @@
<p><b>Restore your main database file and config.</b></p> <p><b>Restore your main database file and config.</b></p>
</div> </div>
<b>Select the backup file you wish to restore:</b> <fieldset class="component-group-list">
<br/> <div class="field-pair">
<input type="text" name="backupFile" id="backupFile" size="50" /><br/> Select the backup file you wish to restore:
<br/><br/>
<input type="text" name="backupFile" id="backupFile" class="form-control input-sm input350" />
<input class="btn btn-inline" type="button" value="Restore" id="Restore" />
<br/> <br/>
</div>
<div class="Restore" id="Restore-result"></div> <div class="Restore" id="Restore-result"></div>
<input class="btn" type="button" value="Restore" id="Restore" /> </fieldset>
</div><!-- /component-group2 //--> </div><!-- /component-group2 //-->
</div><!-- /config-components --> </div><!-- /config-components -->
</form> </form>
</div></div></div> </div>
</div>
<div class="clearfix"></div> <div class="clearfix"></div>

View File

@ -7,14 +7,16 @@
#from sickbeard import config #from sickbeard import config
#from sickbeard import metadata #from sickbeard import metadata
#from sickbeard.metadata.generic import GenericMetadata #from sickbeard.metadata.generic import GenericMetadata
#set global $title = "Config - General" #from sickbeard.helpers import anon_url
#set global $header = "General Configuration"
#set global $sbPath="../.." #set global $title = 'Config - General'
#set global $header = 'General Configuration'
#set global $sbPath = '../..'
#set global $topmenu = 'config'
#include $os.path.join($sickbeard.PROG_DIR, 'gui/slick/interfaces/default/inc_top.tmpl')
#set global $topmenu="config"#
#include $os.path.join($sickbeard.PROG_DIR, "gui/slick/interfaces/default/inc_top.tmpl")
<div id="content960">
#if $varExists('header') #if $varExists('header')
<h1 class="header">$header</h1> <h1 class="header">$header</h1>
#else #else
@ -28,7 +30,6 @@
<script type="text/javascript" src="$sbRoot/js/config.js?$sbPID"></script> <script type="text/javascript" src="$sbRoot/js/config.js?$sbPID"></script>
<script type="text/javascript" src="$sbRoot/js/rootDirs.js?$sbPID"></script> <script type="text/javascript" src="$sbRoot/js/rootDirs.js?$sbPID"></script>
<script type="text/javascript" src="$sbRoot/js/imdbWatchlist.js?$sbPID"></script>
<div id="config"> <div id="config">
<div id="config-content"> <div id="config-content">
@ -38,95 +39,225 @@
<ul> <ul>
<li><a href="#core-component-group1">Misc</a></li> <li><a href="#core-component-group1">Misc</a></li>
<li><a href="#core-component-group2">Web Interface</a></li> <li><a href="#core-component-group2">Interface</a></li>
<li><a href="#core-component-group3">Date and Time</a></li> <li><a href="#core-component-group3">Advanced Settings</a></li>
<li><a href="#core-component-group4">Advanced Settings</a></li>
<li><a href="#core-component-group5">UI Theme Settings</a></li>
</ul> </ul>
<div id="core-component-group1" class="component-group clearfix"> <div id="core-component-group1">
<div class="component-group">
<div class="component-group-desc"> <div class="component-group-desc">
<h3>Misc</h3> <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> <p><b>Some options may require a manual restart to take effect.</b></p>
</div> </div>
<fieldset class="component-group-list" style="width:670px"> <fieldset class="component-group-list">
<div class="field-pair"> <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">
<label class="clearfix" for="launch_browser"> <span class="component-title">Launch browser</span>
<span class="component-title">Launch Browser</span>
<span class="component-desc">Should SickRage open its home page when started?</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 class="clearfix" 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>
</label>
</div>
<div class="field-pair">
<input type="checkbox" name="version_notify" id="version_notify" #if $sickbeard.VERSION_NOTIFY then "checked=\"checked\"" else ""#/>
<label class="clearfix" 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 clearfix">
<span class="component-title">&nbsp;</span>
<span class="component-desc">Checking for updates runs on startup and on the interval specified below.</span>
</label>
</div>
<div class="field-pair">
<label class="nocheck clearfix">
<span class="component-title">Update Frequency</span>
<input type="text" name="update_frequency" id="update_frequency" value="$sickbeard.UPDATE_FREQUENCY" size="5" />
</label>
<label class="nocheck clearfix">
<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 class="clearfix" 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 clearfix">
<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 class="clearfix" 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 class="clearfix" 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 clearfix" for="indexer_default">
<span class="component-title">Default Indexer:</span>
<span class="component-desc"> <span class="component-desc">
<select id="indexer_default" name="indexer_default"> <input type="checkbox" name="launch_browser" id="launch_browser" #if $sickbeard.LAUNCH_BROWSER then 'checked="checked"' else ''#/>
<option value="0" #if $indexer == 0 then "selected=\"selected\"" else ""#>All Indexers</option> <p>open the SickRage 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" #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">
<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" #if $sickbeard.TRASH_REMOVE_SHOW then 'checked="checked"' else ''#/>
<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" #if $sickbeard.TRASH_ROTATE_LOGS then 'checked="checked"' else ''#/>
<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>
<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" #if $indexer == 0 then 'selected="selected"' else ''#>All Indexers</option>
#for $indexer in $sickbeard.indexerApi().indexers #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 #end for
</select> </select>
</span> </span>
@ -134,75 +265,49 @@
</div> </div>
<div class="field-pair"> <div class="field-pair">
<label class="nocheck clearfix"> <label for="time_presets">
<span class="component-title">Indexer Timeout</span> <span class="component-title">Time style:</span>
<input type="text" name="indexer_timeout" id="indexer_timeout" value="$sickbeard.INDEXER_TIMEOUT" size="5" /> <span class="component-desc">
</label> <select id="time_presets" name="time_preset" class="form-control input-sm">
<label class="nocheck clearfix"> #for $cur_preset in $time_presets:
<span class="component-title">&nbsp;</span> <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>
<span class="component-desc">Time in seconds before Indexer search times out for adding shows (eg. 10)</span> #end for
</select>
<span><b>note:</b> seconds are only shown on the History page</span>
</span>
</label> </label>
</div> </div>
<div class="field-pair"> <div class="field-pair">
<label class="nocheck clearfix" for="log_dir"> <span class="component-title">Timezone:</span>
<span class="component-title">Logging Directory</span> <span class="component-desc">
<input type="text" name="log_dir" id="log_dir" value="$sickbeard.ACTUAL_LOG_DIR" size="40" /> <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>
<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>
<div class="field-pair"> <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="play_videos">
<label class="clearfix" for="handle_reverse_proxy"> <span class="component-title">Browser video player</span>
<span class="component-title">Reverse Proxy Headers</span> <span class="component-desc">
<span class="component-desc">Should SickRage accept the following reverse proxy headers?</span> <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> </label>
<label class="nocheck clearfix">
<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 class="clearfix" 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 class="clearfix">
<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")
</label>
</div>
<div class="field-pair">
<input type="checkbox" name="use_imdbwl" class="enabler" id="use_imdbwl" #if $sickbeard.USE_IMDBWATCHLIST then "checked=\"checked\"" else ""#/>
<label class="clearfix" for="use_imdbwl">
<span class="component-title">Use IMDB Watchlists</span>
</label>
</div>
<div id="content_use_imdbwl">
<!-- Multiselect for managing IMDB watchlist csv url's -->
<div class="field-pair">
<label class="clearfix">
<span class="">Manage your IMDB watchlist url's. Each url should contain your list id and user id. <br>They look like: ls014134 and us0918234.</span>
#include $os.path.join($sickbeard.PROG_DIR, "gui/slick/interfaces/default/inc_imdbWatchlists.tmpl")
</label>
</div>
</div> </div>
<input type="submit" class="btn config_submitter" value="Save Changes" /> <input type="submit" class="btn config_submitter" value="Save Changes" />
</fieldset> </fieldset>
</div><!-- /component-group1 //--> </div><!-- /User interface component-group -->
<div class="component-group">
<div id="core-component-group2" class="component-group clearfix">
<div class="component-group-desc"> <div class="component-group-desc">
<h3>Web Interface</h3> <h3>Web Interface</h3>
@ -213,305 +318,230 @@
<fieldset class="component-group-list"> <fieldset class="component-group-list">
<div class="field-pair"> <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">
<label class="clearfix" for="web_ipv6"> <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-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> </label>
</div> </div>
<div class="field-pair"> <div class="field-pair">
<input type="checkbox" name="web_log" id="web_log" #if $sickbeard.WEB_LOG then "checked=\"checked\"" else ""#/> <label for="enable_https">
<label class="clearfix" 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 clearfix">
<span class="component-title">HTTP Port</span>
<input type="text" name="web_port" value="$sickbeard.WEB_PORT" size="10" />
</label>
<label class="nocheck clearfix">
<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 clearfix">
<span class="component-title">HTTP Username</span>
<input type="text" name="web_username" value="$sickbeard.WEB_USERNAME" size="35" />
</label>
<label class="nocheck clearfix">
<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 clearfix">
<span class="component-title">HTTP Password</span>
<input type="password" name="web_password" value="$sickbeard.WEB_PASSWORD" size="35" />
</label>
<label class="nocheck clearfix">
<span class="component-title">&nbsp;</span>
<span class="component-desc">Password for authentication (blank for none)</span>
</label>
</div>
<div class="field-pair">
<label class="clearfix">
<input type="checkbox" name="enable_https" class="enabler" id="enable_https" #if $sickbeard.ENABLE_HTTPS then "checked=\"checked\"" else ""#/>
<span class="component-title">Enable HTTPS</span> <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> </label>
</div> </div>
<div id="content_enable_https"> <div id="content_enable_https">
<div class="field-pair"> <div class="field-pair">
<label class="nocheck clearfix"> <label for="https_cert">
<span class="component-title">HTTPS Certificate</span> <span class="component-title">HTTPS certificate</span>
<input type="text" name="https_cert" value="$sickbeard.HTTPS_CERT" size="35" /> <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>
<label class="nocheck clearfix"> </div>
<span class="component-title">&nbsp;</span> <div class="field-pair">
<span class="component-desc">File name or path to HTTPS Certificate.</span> <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> </label>
</div> </div>
</div>
<div class="field-pair"> <div class="field-pair">
<label class="nocheck clearfix"> <label for="handle_reverse_proxy">
<span class="component-title">HTTPS Key</span> <span class="component-title">Reverse proxy headers</span>
<input type="text" name="https_key" value="$sickbeard.HTTPS_KEY" size="35" /> <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>
<label class="nocheck clearfix">
<span class="component-title">&nbsp;</span>
<span class="component-desc">File name or path to HTTPS Key.</span>
</label>
</div>
</div> </div>
<input type="submit" class="btn config_submitter" value="Save Changes" /> <input type="submit" class="btn config_submitter" value="Save Changes" />
</fieldset>
</div><!-- /component-group2 //-->
<div id="core-component-group4" class="component-group clearfix"> </fieldset>
</div><!-- /component-group2 //-->
</div>
<div id="core-component-group3" class="component-group">
<div class="component-group-desc"> <div class="component-group-desc">
<h3>Advanced Settings</h3> <h3>Advanced Settings</h3>
<p>You need to know what you are doing here!!!</p>
</div> </div>
<fieldset class="component-group-list" style="width:670px"> <fieldset class="component-group-list">
<div class="field-pair"> <div class="field-pair">
<label class="nocheck clearfix"> <label>
<span class="component-title">Branch Version:</span> <span class="component-title">Branch version:</span>
<span class="component-desc"> <span class="component-desc">
<select id="branchVersion"> <select id="branchVersion" class="form-control form-control-inline input-sm pull-left">
#for $cur_branch in $sickbeard.versionCheckScheduler.action.list_remote_branches(): #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> <option value="$cur_branch" #if $cur_branch == $sickbeard.BRANCH then 'selected="selected"' else ''#>$cur_branch</option>
#end for #end for
</select> </select>
<input class="btn" class="btn" type="button" id="branchCheckout" value="Checkout Branch"> <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> </span>
</label> </label>
<label class="nocheck clearfix">
<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>
<div class="field-pair"> <div class="field-pair">
<label class="nocheck clearfix"> <label for="git_remote">
<span class="component-title">CPU Throttling:</span> <span class="component-title">Git remote for branch</span>
<span class="component-desc"> <span class="component-desc">
<select id="cpu_presets" name="cpu_preset"> <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 $cpu_presets: #for $cur_preset in $cpu_presets:
<option value="$cur_preset" #if $cur_preset == $sickbeard.CPU_PRESET then "selected=\"selected\"" else ""#>$cur_preset.capitalize()</option> <option value="$cur_preset" #if $cur_preset == $sickbeard.CPU_PRESET then 'selected="selected"' else ''#>$cur_preset.capitalize()</option>
#end for #end for
</select> </select>
</span> <span>Normal (default). High is lower and Low is higher CPU use</span>
</label>
<label class="nocheck clearfix">
<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 clearfix">
<span class="component-title">Anonymous Redirect</span>
<input type="text" name="anon_redirect" value="$sickbeard.ANON_REDIRECT" size="40" />
</label>
<label class="nocheck clearfix">
<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 clearfix">
<span class="component-title">Git Path</span>
<input type="text" name="git_path" value="$sickbeard.GIT_PATH" size="40" />
</label>
<label class="nocheck clearfix">
<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 class="clearfix" 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 clearfix" for="api_key">
<span class="component-title">API Key</span>
<input type="text" name="api_key" id="api_key" value="$sickbeard.API_KEY" size="35" readonly="readonly" />
<input class="btn" class="btn" type="button" id="generate_new_apikey" value="Generate">
</label>
<label class="nocheck clearfix">
<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 class="clearfix" 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 clearfix">
<span class="component-title">&nbsp;</span>
<span class="component-desc"><b>Warning</b>: Passwords must only contain <a style="color: #09A2FF;" 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 class="clearfix" 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 clearfix">
<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 clearfix">
<span class="component-title">Proxy Settings</span>
<input type="text" name="proxy_setting" value="$sickbeard.PROXY_SETTING" size="40" />
</label>
<label class="nocheck clearfix">
<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 class="clearfix" 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-group3" class="component-group clearfix">
<div class="component-group-desc">
<h3>Date and Time</h3>
</div>
<fieldset class="component-group-list" style="width:670px">
<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 class="clearfix" 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="show_if_fuzzy_dating#if True == $sickbeard.FUZZY_DATING then '' else ' metadataDiv'#">
<div class="field-pair">
<input type="checkbox" name="trim_zero" id="trim_zero" #if $sickbeard.TRIM_ZERO == True then "checked=\"checked\"" else ""#/>
<label class="clearfix" 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>
<div class="field-pair">
<label class="nocheck clearfix" for="date_presets">
<span class="component-title">Date Style:</span>
<span class="component-desc">
<div class="show_if_fuzzy_dating#if True == $sickbeard.FUZZY_DATING then '' else ' metadataDiv'#">
<select 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>
</div>
<div class="hide_if_fuzzy_dating#if True != $sickbeard.FUZZY_DATING then '' else ' metadataDiv'#">
<select 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>
</div>
<div id="date_use_system_default" class="metadataDiv"></div>
</span> </span>
</label> </label>
</div> </div>
<div class="field-pair"> <div class="field-pair">
<label class="nocheck clearfix" for="time_presets"> <label>
<span class="component-title">Time Style:</span> <span class="component-title">Anonymous redirect</span>
<span class="component-desc"> <span class="component-desc">
<select id="time_presets" name="time_preset"> <input type="text" name="anon_redirect" value="$sickbeard.ANON_REDIRECT" class="form-control input-sm input300" />
#for $cur_preset in $time_presets: <div class="clear-left"><p>backlink protection via anonymizer service, must end in "?"</p></div>
<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> </span>
</label> </label>
<label class="nocheck clearfix">
<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>
<div class="field-pair"> <div class="field-pair">
<label class="nocheck clearfix"> <label for="encryption_version">
<span class="component-title">Timezones:</span> <span class="component-title">Encrypt passwords</span>
<span class="component-desc">Display dates and times in either your timezone or the shows network timezone?</span>
</label>
<label class="nocheck clearfix">
<span class="component-title">&nbsp;</span>
<span class="component-desc"> <span class="component-desc">
<input type="radio" name="timezone_display" id="local" value="local" class="radio" #if $sickbeard.TIMEZONE_DISPLAY=="local" then "checked=\"checked\"" else ""# />Local Timezone<br /> <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="<%= anon_url('http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters') %>">ASCII characters</a></p>
</span>
</label> </label>
<label class="nocheck clearfix"> </div>
<span class="component-title">&nbsp;</span>
<div class="field-pair">
<label for="calendar_unprotected">
<span class="component-title">Unprotected calendar</span>
<span class="component-desc"> <span class="component-desc">
<input type="radio" name="timezone_display" id="network" value="network" class="radio" #if $sickbeard.TIMEZONE_DISPLAY=="network" then "checked=\"checked\"" else ""# />Network Timezone<br /> <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> </span>
</label> </label>
</div> </div>
@ -520,51 +550,23 @@
</fieldset> </fieldset>
</div><!-- /component-group3 //--> </div><!-- /component-group3 //-->
<div id="core-component-group5" class="component-group clearfix">
<div class="component-group-desc">
<h3>UI Theme Settings</h3>
<p>Change UI settings to your liking.</p>
</div>
<fieldset class="component-group-list" style="width:670px">
<div class="field-pair">
<label class="nocheck clearfix">
<span class="component-title">UI Theme:</span>
<span class="component-desc">
<select id="theme_name" name="theme_name">
<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 clearfix">
<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/> <br/>
<small class="float-right"><b>All non-absolute folder locations are relative to <span class="path">$sickbeard.DATA_DIR</span></b> </small> <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 config_submitter button" value="Save Changes" /> <input type="submit" class="btn pull-left config_submitter button" value="Save Changes" />
</div><!-- /config-components --> </div><!-- /config-components -->
</form> </form>
</div></div></div> </div>
</div>
<div class="clearfix"></div> <div></div>
<script type="text/javascript" charset="utf-8"> <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(); jQuery('#config-components').tabs();
//--> //-->
</script> </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')

File diff suppressed because it is too large Load Diff

View File

@ -29,12 +29,12 @@
<div id="config-components"> <div id="config-components">
<ul> <ul>
<li><a href="#core-component-group3">Post-Processing</a></li> <li><a href="#core-component-group1">Post-Processing</a></li>
<li><a href="#core-component-group4">Episode Naming</a></li> <li><a href="#core-component-group2">Episode Naming</a></li>
<li><a href="#core-component-group2">Metadata</a></li> <li><a href="#core-component-group3">Metadata</a></li>
</ul> </ul>
<div id="core-component-group3" class="component-group clearfix"> <div id="core-component-group1" class="component-group">
<div class="component-group-desc"> <div class="component-group-desc">
<h3>Post-Processing</h3> <h3>Post-Processing</h3>
@ -43,29 +43,29 @@
<fieldset class="component-group-list"> <fieldset class="component-group-list">
<div class="field-pair"> <div class="field-pair">
<label class="nocheck clearfix" for="tv_download_dir"> <label class="nocheck" for="tv_download_dir">
<span class="component-title">TV Download Dir</span> <span class="component-title">TV Download Dir</span>
<input type="text" name="tv_download_dir" id="tv_download_dir" value="$sickbeard.TV_DOWNLOAD_DIR" size="35" /> <input type="text" name="tv_download_dir" id="tv_download_dir" value="$sickbeard.TV_DOWNLOAD_DIR" class="form-control input-sm input350" />
</label> </label>
<label class="nocheck clearfix"> <label class="nocheck">
<span class="component-title">&nbsp;</span> <span class="component-title">&nbsp;</span>
<span class="component-desc">The folder where your download client puts TV downloads.</span> <span class="component-desc">The folder where your download client puts TV downloads.</span>
</label> </label>
<label class="nocheck clearfix"> <label class="nocheck">
<span class="component-title">&nbsp;</span> <span class="component-title">&nbsp;</span>
<span class="component-desc"><b>NOTE:</b> Use only if not using SABnzbd+ post processing.</span> <span class="component-desc"><b>NOTE:</b> Use only if not using SABnzbd+ post processing.</span>
</label> </label>
<label class="nocheck clearfix"> <label class="nocheck">
<span class="component-title">&nbsp;</span> <span class="component-title">&nbsp;</span>
<span class="component-desc">Or if SABnzbd+ and SickRage are on different PCs.</span> <span class="component-desc">Or if SABnzbd+ and SickRage are on different PCs.</span>
</label> </label>
</div> </div>
<div class="field-pair"> <div class="field-pair">
<label class="nocheck clearfix" for="process_method"> <label class="nocheck" for="process_method">
<span class="component-title">Process Episode Method:</span> <span class="component-title">Process Episode Method:</span>
<span class="component-desc"> <span class="component-desc">
<select name="process_method" id="process_method" class="input-medium" > <select name="process_method" id="process_method" class="form-control input-sm">
#set $process_method_text = {'copy': "Copy", 'move': "Move", 'hardlink': "Hard Link", 'symlink' : "Symbolic Link"} #set $process_method_text = {'copy': "Copy", 'move': "Move", 'hardlink': "Hard Link", 'symlink' : "Symbolic Link"}
#for $curAction in ('copy', 'move', 'hardlink', 'symlink'): #for $curAction in ('copy', 'move', 'hardlink', 'symlink'):
#if $sickbeard.PROCESS_METHOD == $curAction: #if $sickbeard.PROCESS_METHOD == $curAction:
@ -78,32 +78,32 @@
</select> </select>
</span> </span>
</label> </label>
<label class="nocheck clearfix"> <label class="nocheck">
<span class="component-title">&nbsp;</span> <span class="component-title">&nbsp;</span>
<span class="component-desc">What method should be used to put file in the TV directory?</span> <span class="component-desc">What method should be used to put file in the TV directory?</span>
</label> </label>
</div> </div>
<div class="field-pair"> <div class="field-pair">
<input type="checkbox" name="skip_removed_files" id="skip_removed_files" #if $sickbeard.SKIP_REMOVED_FILES == True then "checked=\"checked\"" else ""# /> <input type="checkbox" name="skip_removed_files" id="skip_removed_files" #if $sickbeard.SKIP_REMOVED_FILES == True then "checked=\"checked\"" else ""# />
<label class="clearfix" for="skip_removed_files"> <label for="skip_removed_files">
<span class="component-title">Skip Remove Detection</span> <span class="component-title">Skip Remove Detection</span>
<span class="component-desc">Skip detection of removed files, so they don't get set to ignored?</span> <span class="component-desc">Skip detection of removed files, so they don't get set to ignored?</span>
</label> </label>
<label class="nocheck clearfix"> <label class="nocheck">
<span class="component-title">&nbsp;</span> <span class="component-title">&nbsp;</span>
<span class="component-desc"><b>NOTE:</b> This may mean SickRage misses renames as well</span> <span class="component-desc"><b>NOTE:</b> This may mean SickRage misses renames as well</span>
</label> </label>
</div> </div>
<div class="field-pair"> <div class="field-pair">
<label class="nocheck clearfix"> <label class="nocheck">
<span class="component-title">Extra Scripts</span> <span class="component-title">Extra Scripts</span>
<input type="text" name="extra_scripts" value="<%='|'.join(sickbeard.EXTRA_SCRIPTS)%>" size="35" /> <input type="text" name="extra_scripts" value="<%='|'.join(sickbeard.EXTRA_SCRIPTS)%>" class="form-control input-sm input350" />
</label> </label>
<label class="nocheck clearfix"> <label class="nocheck">
<span class="component-title">&nbsp;</span> <span class="component-title">&nbsp;</span>
<span class="component-desc">Additional scripts separated by <b>|</b>.</span> <span class="component-desc">Additional scripts separated by <b>|</b>.</span>
</label> </label>
<label class="nocheck clearfix"> <label class="nocheck">
<span class="component-title">&nbsp;</span> <span class="component-title">&nbsp;</span>
<span class="component-desc"><b>NOTE:</b> Scripts are called after SickRage's own post-processing.</span> <span class="component-desc"><b>NOTE:</b> Scripts are called after SickRage's own post-processing.</span>
</label> </label>
@ -111,7 +111,7 @@
<div class="field-pair"> <div class="field-pair">
<input type="checkbox" name="move_associated_files" id="move_associated_files" #if $sickbeard.MOVE_ASSOCIATED_FILES == True then "checked=\"checked\"" else ""# /> <input type="checkbox" name="move_associated_files" id="move_associated_files" #if $sickbeard.MOVE_ASSOCIATED_FILES == True then "checked=\"checked\"" else ""# />
<label class="clearfix" for="move_associated_files"> <label for="move_associated_files">
<span class="component-title">Move Associated Files</span> <span class="component-title">Move Associated Files</span>
<span class="component-desc">Move srr/srt/sfv/etc files with the episode when processed?</span> <span class="component-desc">Move srr/srt/sfv/etc files with the episode when processed?</span>
</label> </label>
@ -119,7 +119,7 @@
<div class="field-pair"> <div class="field-pair">
<input type="checkbox" name="postpone_if_sync_files" id="postpone_if_sync_files" #if $sickbeard.POSTPONE_IF_SYNC_FILES == True then "checked=\"checked\"" else ""# /> <input type="checkbox" name="postpone_if_sync_files" id="postpone_if_sync_files" #if $sickbeard.POSTPONE_IF_SYNC_FILES == True then "checked=\"checked\"" else ""# />
<label class="clearfix" for="postpone_if_sync_files"> <label for="postpone_if_sync_files">
<span class="component-title">Postpone post processing</span> <span class="component-title">Postpone post processing</span>
<span class="component-desc">if !sync files are present in the TV download dir</span> <span class="component-desc">if !sync files are present in the TV download dir</span>
</label> </label>
@ -127,7 +127,7 @@
<div class="field-pair"> <div class="field-pair">
<input type="checkbox" name="nfo_rename" id="nfo_rename" #if $sickbeard.NFO_RENAME == True then "checked=\"checked\"" else ""# /> <input type="checkbox" name="nfo_rename" id="nfo_rename" #if $sickbeard.NFO_RENAME == True then "checked=\"checked\"" else ""# />
<label class="clearfix" for="nfo_rename"> <label for="nfo_rename">
<span class="component-title">Rename .nfo file</span> <span class="component-title">Rename .nfo file</span>
<span class="component-desc">Rename the original .nfo file to .nfo-orig to avoid conflicts?</span> <span class="component-desc">Rename the original .nfo file to .nfo-orig to avoid conflicts?</span>
</label> </label>
@ -135,7 +135,7 @@
<div class="field-pair"> <div class="field-pair">
<input type="checkbox" name="rename_episodes" id="rename_episodes" #if $sickbeard.RENAME_EPISODES == True then "checked=\"checked\"" else ""# /> <input type="checkbox" name="rename_episodes" id="rename_episodes" #if $sickbeard.RENAME_EPISODES == True then "checked=\"checked\"" else ""# />
<label class="clearfix" for="rename_episodes"> <label for="rename_episodes">
<span class="component-title">Rename Episodes</span> <span class="component-title">Rename Episodes</span>
<span class="component-desc">Rename episode using the Episode Naming settings?</span> <span class="component-desc">Rename episode using the Episode Naming settings?</span>
</label> </label>
@ -143,11 +143,11 @@
<div class="field-pair"> <div class="field-pair">
<input type="checkbox" name="airdate_episodes" id="airdate_episodes" #if $sickbeard.AIRDATE_EPISODES == True then "checked=\"checked\"" else ""# /> <input type="checkbox" name="airdate_episodes" id="airdate_episodes" #if $sickbeard.AIRDATE_EPISODES == True then "checked=\"checked\"" else ""# />
<label class="clearfix" for="airdate_episodes"> <label for="airdate_episodes">
<span class="component-title">Change File Date</span> <span class="component-title">Change File Date</span>
<span class="component-desc">Set last modified filedate to the date that the episode aired?</span> <span class="component-desc">Set last modified filedate to the date that the episode aired?</span>
</label> </label>
<label class="nocheck clearfix"> <label class="nocheck">
<span class="component-title">&nbsp;</span> <span class="component-title">&nbsp;</span>
<span class="component-desc"><b>NOTE:</b> Some systems may ignore this feature.</span> <span class="component-desc"><b>NOTE:</b> Some systems may ignore this feature.</span>
</label> </label>
@ -155,26 +155,26 @@
<div class="field-pair"> <div class="field-pair">
<input type="checkbox" name="process_automatically" id="process_automatically" #if $sickbeard.PROCESS_AUTOMATICALLY == True then "checked=\"checked\"" else ""# /> <input type="checkbox" name="process_automatically" id="process_automatically" #if $sickbeard.PROCESS_AUTOMATICALLY == True then "checked=\"checked\"" else ""# />
<label class="clearfix" for="process_automatically"> <label for="process_automatically">
<span class="component-title">Scan and Process</span> <span class="component-title">Scan and Process</span>
<span class="component-desc">Scan and post-process any files in your <i>TV Download Dir</i>?</span> <span class="component-desc">Scan and post-process any files in your <i>TV Download Dir</i>?</span>
</label> </label>
<label class="nocheck clearfix" for="process_automatically"> <label class="nocheck" for="process_automatically">
<span class="component-title">&nbsp;</span> <span class="component-title">&nbsp;</span>
<span class="component-desc"><b>NOTE:</b> Do not use if you use PostProcesing external script</span> <span class="component-desc"><b>NOTE:</b> Do not use if you use PostProcesing external script</span>
</label> </label>
<label class="nocheck clearfix"> <label class="nocheck">
<span class="component-title">&nbsp;</span> <span class="component-title">&nbsp;</span>
<span class="component-desc">eg. NZBMedia w/ NZBGET, sabToSickbeard w/ SABnzbd+!</span> <span class="component-desc">eg. NZBMedia w/ NZBGET, sabToSickbeard w/ SABnzbd+!</span>
</label> </label>
</div> </div>
<div class="field-pair"> <div class="field-pair">
<label class="nocheck clearfix"> <label class="nocheck">
<span class="component-title">Auto Post-Processing Frequency</span> <span class="component-title">Auto Post-Processing Frequency</span>
<input type="text" name="autopostprocesser_frequency" id="autopostprocesser_frequency" value="$sickbeard.AUTOPOSTPROCESSER_FREQUENCY" size="5" /> <input type="text" name="autopostprocesser_frequency" id="autopostprocesser_frequency" value="$sickbeard.AUTOPOSTPROCESSER_FREQUENCY" class="form-control input-sm input75" />
</label> </label>
<label class="nocheck clearfix"> <label class="nocheck">
<span class="component-title">&nbsp;</span> <span class="component-title">&nbsp;</span>
<span class="component-desc">Time in minutes to check for new files to auto post-process (eg. 10)</span> <span class="component-desc">Time in minutes to check for new files to auto post-process (eg. 10)</span>
</label> </label>
@ -182,11 +182,11 @@
<div class="field-pair"> <div class="field-pair">
<input id="unpack" type="checkbox" name="unpack" #if $sickbeard.UNPACK == True then "checked=\"checked\"" else ""# /> <input id="unpack" type="checkbox" name="unpack" #if $sickbeard.UNPACK == True then "checked=\"checked\"" else ""# />
<label class="clearfix" for="unpack"> <label for="unpack">
<span class="component-title">Unpack</span> <span class="component-title">Unpack</span>
<span class="component-desc">Unpack any TV releases in your <i>TV Download Dir</i>?</span> <span class="component-desc">Unpack any TV releases in your <i>TV Download Dir</i>?</span>
</label> </label>
<label class="nocheck clearfix" for="unpack"> <label class="nocheck" for="unpack">
<span class="component-title">&nbsp;</span> <span class="component-title">&nbsp;</span>
<span class="component-desc"><b>NOTE:</b> Only working with RAR archive</span> <span class="component-desc"><b>NOTE:</b> Only working with RAR archive</span>
</label> </label>
@ -194,11 +194,11 @@
<div class="field-pair"> <div class="field-pair">
<input id="use_failed_downloads" type="checkbox" class="enabler" name="use_failed_downloads" #if $sickbeard.USE_FAILED_DOWNLOADS == True then "checked=\"checked\"" else ""# /> <input id="use_failed_downloads" type="checkbox" class="enabler" name="use_failed_downloads" #if $sickbeard.USE_FAILED_DOWNLOADS == True then "checked=\"checked\"" else ""# />
<label class="clearfix" for="use_failed_downloads"> <label for="use_failed_downloads">
<span class="component-title">Use Failed Downloads</span> <span class="component-title">Use Failed Downloads</span>
<span class="component-desc">Use Failed Download Handling?</span> <span class="component-desc">Use Failed Download Handling?</span>
</label> </label>
<label class="nocheck clearfix" for="use_failed_downloads"> <label class="nocheck" for="use_failed_downloads">
<span class="component-title">&nbsp;</span> <span class="component-title">&nbsp;</span>
<span class="component-desc"><b>NOTE:</b> See <i>readme-FailedDownloads.md</i> before enabling.</span> <span class="component-desc"><b>NOTE:</b> See <i>readme-FailedDownloads.md</i> before enabling.</span>
</label> </label>
@ -207,11 +207,11 @@
<div id="content_use_failed_downloads"> <div id="content_use_failed_downloads">
<div class="field-pair"> <div class="field-pair">
<input id="delete_failed" type="checkbox" name="delete_failed" #if $sickbeard.DELETE_FAILED == True then "checked=\"checked\"" else ""# /> <input id="delete_failed" type="checkbox" name="delete_failed" #if $sickbeard.DELETE_FAILED == True then "checked=\"checked\"" else ""# />
<label class="clearfix" for="delete_failed"> <label for="delete_failed">
<span class="component-title">Delete Failed</span> <span class="component-title">Delete Failed</span>
<span class="component-desc">Delete files left over from a failed download?</span> <span class="component-desc">Delete files left over from a failed download?</span>
</label> </label>
<label class="nocheck clearfix" for="delete_failed"> <label class="nocheck" for="delete_failed">
<span class="component-title">&nbsp;</span> <span class="component-title">&nbsp;</span>
<span class="component-desc"><b>NOTE:</b> This only works if Use Failed Downloads is enabled.</span> <span class="component-desc"><b>NOTE:</b> This only works if Use Failed Downloads is enabled.</span>
</label> </label>
@ -219,79 +219,12 @@
</div> </div>
<div class="clearfix"></div>
<input type="submit" class="btn config_submitter" value="Save Changes" /><br/> <input type="submit" class="btn config_submitter" value="Save Changes" /><br/>
</fieldset> </fieldset>
</div><!-- /component-group3 //--> </div><!-- /component-group1 //-->
<div id="core-component-group2" class="component-group clearfix"> <div id="core-component-group2" class="component-group">
<div class="component-group-desc">
<h3>Metadata</h3>
<p>The data associated to the data. These are files associated to a TV show in the form of images and text that, when supported, will enhance the viewing experience.</p>
</div>
<fieldset class="component-group-list">
<div class="field-pair">
<label class="clearfix">
<span class="component-title jumbo">Metadata Type:</span>
<span class="component-desc">
#set $m_dict = $metadata.get_metadata_generator_dict()
<select id="metadataType">
#for ($cur_name, $cur_generator) in sorted($m_dict.items()):
<option value="$cur_generator.get_id()">$cur_name</option>
#end for
</select>
</span>
</label>
<span>Toggle the metadata options that you wish to be created. <b>Multiple targets may be used.</b></span>
</div>
<div id="metadataLegend">
<div style="width: 50%; float: left;">Create:</div>
<div style="width: 50%; float: left;">Results:</div>
</div>
<div class="clearfix"></div>
#for ($cur_name, $cur_generator) in $m_dict.items():
#set $cur_metadata_inst = $sickbeard.metadata_provider_dict[$cur_generator.name]
#set $cur_id = $cur_generator.get_id()
<div class="metadataDiv" id="$cur_id">
<div class="metadata_options">
<label for="${cur_id}_show_metadata"><input type="checkbox" class="metadata_checkbox" id="${cur_id}_show_metadata" #if $cur_metadata_inst.show_metadata then "checked=\"checked\"" else ""#/>&nbsp;Show Metadata</label>
<label for="${cur_id}_episode_metadata"><input type="checkbox" class="metadata_checkbox" id="${cur_id}_episode_metadata" #if $cur_metadata_inst.episode_metadata then "checked=\"checked\"" else ""#/>&nbsp;Episode Metadata</label>
<label for="${cur_id}_fanart" class="clearfix"><input type="checkbox" class="float-left metadata_checkbox" id="${cur_id}_fanart" #if $cur_metadata_inst.fanart then "checked=\"checked\"" else ""#/>&nbsp;Show Fanart</label>
<label for="${cur_id}_poster" class="clearfix"><input type="checkbox" class="float-left metadata_checkbox" id="${cur_id}_poster" #if $cur_metadata_inst.poster then "checked=\"checked\"" else ""#/>&nbsp;Show Poster</label>
<label for="${cur_id}_banner" class="clearfix"><input type="checkbox" class="float-left metadata_checkbox" id="${cur_id}_banner" #if $cur_metadata_inst.banner then "checked=\"checked\"" else ""#/>&nbsp;Show Banner</label>
<label for="${cur_id}_episode_thumbnails" class="clearfix"><input type="checkbox" class="float-left metadata_checkbox" id="${cur_id}_episode_thumbnails" #if $cur_metadata_inst.episode_thumbnails then "checked=\"checked\"" else ""#/>&nbsp;Episode Thumbnails</label>
<label for="${cur_id}_season_posters" class="clearfix"><input type="checkbox" class="float-left metadata_checkbox" id="${cur_id}_season_posters" #if $cur_metadata_inst.season_posters then "checked=\"checked\"" else ""#/>&nbsp;Season Posters</label>
<label for="${cur_id}_season_banners" class="clearfix"><input type="checkbox" class="float-left metadata_checkbox" id="${cur_id}_season_banners" #if $cur_metadata_inst.season_banners then "checked=\"checked\"" else ""#/>&nbsp;Season Banners</label>
<label for="${cur_id}_season_all_poster" class="clearfix"><input type="checkbox" class="float-left metadata_checkbox" id="${cur_id}_season_all_poster" #if $cur_metadata_inst.season_all_poster then "checked=\"checked\"" else ""#/>&nbsp;Season All Poster</label>
<label for="${cur_id}_season_all_banner" class="clearfix"><input type="checkbox" class="float-left metadata_checkbox" id="${cur_id}_season_all_banner" #if $cur_metadata_inst.season_all_banner then "checked=\"checked\"" else ""#/>&nbsp;Season All Banner</label>
</div>
<div class="metadata_example">
<label for="${cur_id}_show_metadata"><span id="${cur_id}_eg_show_metadata">$cur_metadata_inst.eg_show_metadata</span></label>
<label for="${cur_id}_episode_metadata"><span id="${cur_id}_eg_episode_metadata">$cur_metadata_inst.eg_episode_metadata</span></label>
<label for="${cur_id}_fanart"><span id="${cur_id}_eg_fanart">$cur_metadata_inst.eg_fanart</span></label>
<label for="${cur_id}_poster"><span id="${cur_id}_eg_poster">$cur_metadata_inst.eg_poster</span></label>
<label for="${cur_id}_banner"><span id="${cur_id}_eg_banner">$cur_metadata_inst.eg_banner</span></label>
<label for="${cur_id}_episode_thumbnails"><span id="${cur_id}_eg_episode_thumbnails">$cur_metadata_inst.eg_episode_thumbnails</span></label>
<label for="${cur_id}_season_posters"><span id="${cur_id}_eg_season_posters">$cur_metadata_inst.eg_season_posters</span></label>
<label for="${cur_id}_season_banners"><span id="${cur_id}_eg_season_banners">$cur_metadata_inst.eg_season_banners</span></label>
<label for="${cur_id}_season_all_poster"><span id="${cur_id}_eg_season_all_poster">$cur_metadata_inst.eg_season_all_poster</span></label>
<label for="${cur_id}_season_all_banner"><span id="${cur_id}_eg_season_all_banner">$cur_metadata_inst.eg_season_all_banner</span></label>
</div>
<input type="hidden" name="${cur_id}_data" id="${cur_id}_data" value="$cur_metadata_inst.get_config()" />
</div>
#end for
<div class="clearfix" style="clear:left;"></div><br/>
<input type="submit" class="btn config_submitter" value="Save Changes" /><br/>
</fieldset>
</div><!-- /component-group2 //-->
<div id="core-component-group4" class="component-group clearfix">
<div class="component-group-desc"> <div class="component-group-desc">
<h3>Episode Naming</h3> <h3>Episode Naming</h3>
@ -301,10 +234,10 @@
<fieldset class="component-group-list"> <fieldset class="component-group-list">
<div class="field-pair"> <div class="field-pair">
<label class="nocheck clearfix" for="name_presets"> <label class="nocheck" for="name_presets">
<span class="component-title">Name Pattern:</span> <span class="component-title">Name Pattern:</span>
<span class="component-desc"> <span class="component-desc">
<select id="name_presets"> <select id="name_presets" class="form-control input-sm">
#set is_custom = True #set is_custom = True
#for $cur_preset in $naming.name_presets: #for $cur_preset in $naming.name_presets:
#set $tmp = $naming.test_name($cur_preset, anime_type=3) #set $tmp = $naming.test_name($cur_preset, anime_type=3)
@ -320,19 +253,19 @@
</div> </div>
<div id="naming_custom"> <div id="naming_custom">
<div class="field-pair clearfix" style="padding-top: 0;"> <div class="field-pair" style="padding-top: 0;">
<label class="nocheck clearfix"> <label class="nocheck">
<span class="component-title"> <span class="component-title">
&nbsp; &nbsp;
</span> </span>
<span class="component-desc"> <span class="component-desc">
<input type="text" size="45" name="naming_pattern" id="naming_pattern" class="custom-pattern" value="$sickbeard.NAMING_PATTERN" style="font-size: 13px; height: 18px; margin-top: -8px;" /> <input type="text" name="naming_pattern" id="naming_pattern" value="$sickbeard.NAMING_PATTERN" class="form-control input-sm input350" />
<img src="$sbRoot/images/legend16.png" width="16" height="16" alt="[Toggle Key]" id="show_naming_key" title="Toggle Naming Legend" style="padding: 0 0 0 3px; margin-top: -2px;" /> <img src="$sbRoot/images/legend16.png" width="16" height="16" alt="[Toggle Key]" id="show_naming_key" title="Toggle Naming Legend" class="legend" class="legend" />
</span> </span>
</label> </label>
</div> </div>
<div id="naming_key" class="nocheck clearfix" style="display: none;"> <div id="naming_key" class="nocheck" style="display: none;">
<table class="Key"> <table class="Key">
<thead> <thead>
<tr> <tr>
@ -442,7 +375,7 @@
<td>%RG</td> <td>%RG</td>
<td>RLSGROUP</td> <td>RLSGROUP</td>
</tr> </tr>
<tr> <tr class="even">
<td class="align-right"><i class="icon-info-sign" title="If episode is proper/repack add 'proper' to name."></i> <b>Release Type:</b></td> <td class="align-right"><i class="icon-info-sign" title="If episode is proper/repack add 'proper' to name."></i> <b>Release Type:</b></td>
<td>%RT</td> <td>%RT</td>
<td>PROPER</td> <td>PROPER</td>
@ -454,10 +387,10 @@
</div> </div>
<div class="field-pair"> <div class="field-pair">
<label class="nocheck clearfix" for="naming_multi_ep"> <label class="nocheck" for="naming_multi_ep">
<span class="component-title">Multi-Episode Style:</span> <span class="component-title">Multi-Episode Style:</span>
<span class="component-desc"> <span class="component-desc">
<select id="naming_multi_ep" name="naming_multi_ep"> <select id="naming_multi_ep" name="naming_multi_ep" class="form-control input-sm">
#for $cur_multi_ep in sorted($multiEpStrings.items(), key=lambda x: x[1]): #for $cur_multi_ep in sorted($multiEpStrings.items(), key=lambda x: x[1]):
<option value="$cur_multi_ep[0]" #if $cur_multi_ep[0] == $sickbeard.NAMING_MULTI_EP then "selected=\"selected\" class=\"selected\"" else ""#>$cur_multi_ep[1]</option> <option value="$cur_multi_ep[0]" #if $cur_multi_ep[0] == $sickbeard.NAMING_MULTI_EP then "selected=\"selected\" class=\"selected\"" else ""#>$cur_multi_ep[1]</option>
#end for #end for
@ -467,7 +400,7 @@
</div> </div>
<div id="naming_example_div"> <div id="naming_example_div">
<h2>Single-EP Sample:</h2> <h3>Single-EP Sample:</h3>
<div class="example"> <div class="example">
<span class="jumbo" id="naming_example">&nbsp;</span> <span class="jumbo" id="naming_example">&nbsp;</span>
</div> </div>
@ -475,7 +408,7 @@
</div> </div>
<div id="naming_example_multi_div"> <div id="naming_example_multi_div">
<h2>Multi-EP sample:</h2> <h3>Multi-EP sample:</h3>
<div class="example"> <div class="example">
<span class="jumbo" id="naming_example_multi">&nbsp;</span> <span class="jumbo" id="naming_example_multi">&nbsp;</span>
</div> </div>
@ -484,19 +417,19 @@
<div class="field-pair"> <div class="field-pair">
<input type="checkbox" id="naming_strip_year" name="naming_strip_year" #if $sickbeard.NAMING_STRIP_YEAR then "checked=\"checked\"" else ""#/> <input type="checkbox" id="naming_strip_year" name="naming_strip_year" #if $sickbeard.NAMING_STRIP_YEAR then "checked=\"checked\"" else ""#/>
<label class="clearfix" for="naming_strip_year"> <label for="naming_strip_year">
<span class="component-title">Strip Show Year</span> <span class="component-title">Strip Show Year</span>
<span class="component-desc">Remove the TV show's year when renaming the file?</span> <span class="component-desc">Remove the TV show's year when renaming the file?</span>
</label> </label>
<label class="nocheck clearfix"> <label class="nocheck">
<span class="component-title">&nbsp;</span> <span class="component-title">&nbsp;</span>
<span class="component-desc">Only applies to shows that have year inside parentheses</span> <span class="component-desc">Only applies to shows that have year inside parentheses</span>
</label> </label>
</div> </div>
<div class="field-pair clearfix"> <div class="field-pair">
<input type="checkbox" class="enabler" id="naming_custom_abd" name="naming_custom_abd" #if $sickbeard.NAMING_CUSTOM_ABD then "checked=\"checked\"" else ""#/> <input type="checkbox" class="enabler" id="naming_custom_abd" name="naming_custom_abd" #if $sickbeard.NAMING_CUSTOM_ABD then "checked=\"checked\"" else ""#/>
<label class="clearfix" for="naming_custom_abd"> <label for="naming_custom_abd">
<span class="component-title">Custom Air-By-Date</span> <span class="component-title">Custom Air-By-Date</span>
<span class="component-desc">Name Air-By-Date shows differently than regular shows?</span> <span class="component-desc">Name Air-By-Date shows differently than regular shows?</span>
</label> </label>
@ -504,10 +437,10 @@
<div id="content_naming_custom_abd"> <div id="content_naming_custom_abd">
<div class="field-pair"> <div class="field-pair">
<label class="nocheck clearfix" for="name_abd_presets"> <label class="nocheck" for="name_abd_presets">
<span class="component-title">Name Pattern:</span> <span class="component-title">Name Pattern:</span>
<span class="component-desc"> <span class="component-desc">
<select id="name_abd_presets"> <select id="name_abd_presets" class="form-control input-sm">
#set is_abd_custom = True #set is_abd_custom = True
#for $cur_preset in $naming.name_abd_presets: #for $cur_preset in $naming.name_abd_presets:
#set $tmp = $naming.test_name($cur_preset) #set $tmp = $naming.test_name($cur_preset)
@ -523,19 +456,19 @@
</div> </div>
<div id="naming_abd_custom"> <div id="naming_abd_custom">
<div class="field-pair clearfix" style="padding-top: 0;"> <div class="field-pair">
<label class="nocheck clearfix"> <label class="nocheck">
<span class="component-title"> <span class="component-title">
&nbsp; &nbsp;
</span> </span>
<span class="component-desc"> <span class="component-desc">
<input type="text" size="45" name="naming_abd_pattern" id="naming_abd_pattern" class="custom-pattern" value="$sickbeard.NAMING_ABD_PATTERN" style="font-size: 13px; height: 18px; margin-top: -8px"/> <input type="text" name="naming_abd_pattern" id="naming_abd_pattern" value="$sickbeard.NAMING_ABD_PATTERN" class="form-control input-sm input350" />
<img src="$sbRoot/images/legend16.png" width="16" height="16" alt="[Toggle Key]" id="show_naming_abd_key" title="Toggle ABD Naming Legend" style="padding: 0 0 0 3px; margin-top: -2px;" /> <img src="$sbRoot/images/legend16.png" width="16" height="16" alt="[Toggle Key]" id="show_naming_abd_key" title="Toggle ABD Naming Legend" class="legend" />
</span> </span>
</label> </label>
</div> </div>
<div id="naming_abd_key" class="nocheck clearfix" style="display: none;"> <div id="naming_abd_key" class="nocheck" style="display: none;">
<table class="Key"> <table class="Key">
<thead> <thead>
<tr> <tr>
@ -662,7 +595,7 @@
</div><!-- /naming_abd_custom --> </div><!-- /naming_abd_custom -->
<div id="naming_abd_example_div"> <div id="naming_abd_example_div">
<h2>Sample:</h2> <h3>Sample:</h3>
<div class="example"> <div class="example">
<span class="jumbo" id="naming_abd_example">&nbsp;</span> <span class="jumbo" id="naming_abd_example">&nbsp;</span>
</div> </div>
@ -671,9 +604,9 @@
</div><!-- /naming_abd_different --> </div><!-- /naming_abd_different -->
<div class="field-pair clearfix"> <div class="field-pair">
<input type="checkbox" class="enabler" id="naming_custom_sports" name="naming_custom_sports" #if $sickbeard.NAMING_CUSTOM_SPORTS then "checked=\"checked\"" else ""#/> <input type="checkbox" class="enabler" id="naming_custom_sports" name="naming_custom_sports" #if $sickbeard.NAMING_CUSTOM_SPORTS then "checked=\"checked\"" else ""#/>
<label class="clearfix" for="naming_custom_sports"> <label for="naming_custom_sports">
<span class="component-title">Custom Sports</span> <span class="component-title">Custom Sports</span>
<span class="component-desc">Name Sports shows differently than regular shows?</span> <span class="component-desc">Name Sports shows differently than regular shows?</span>
</label> </label>
@ -681,10 +614,10 @@
<div id="content_naming_custom_sports"> <div id="content_naming_custom_sports">
<div class="field-pair"> <div class="field-pair">
<label class="nocheck clearfix" for="name_sports_presets"> <label class="nocheck" for="name_sports_presets">
<span class="component-title">Name Pattern:</span> <span class="component-title">Name Pattern:</span>
<span class="component-desc"> <span class="component-desc">
<select id="name_sports_presets"> <select id="name_sports_presets" class="form-control input-sm">
#set is_sports_custom = True #set is_sports_custom = True
#for $cur_preset in $naming.name_sports_presets: #for $cur_preset in $naming.name_sports_presets:
#set $tmp = $naming.test_name($cur_preset) #set $tmp = $naming.test_name($cur_preset)
@ -700,19 +633,19 @@
</div> </div>
<div id="naming_sports_custom"> <div id="naming_sports_custom">
<div class="field-pair clearfix" style="padding-top: 0;"> <div class="field-pair" style="padding-top: 0;">
<label class="nocheck clearfix"> <label class="nocheck">
<span class="component-title"> <span class="component-title">
&nbsp; &nbsp;
</span> </span>
<span class="component-desc"> <span class="component-desc">
<input type="text" size="45" name="naming_sports_pattern" id="naming_sports_pattern" class="custom-pattern" value="$sickbeard.NAMING_SPORTS_PATTERN" style="font-size: 13px; height: 18px; margin-top: -8px"/> <input type="text" name="naming_sports_pattern" id="naming_sports_pattern" value="$sickbeard.NAMING_SPORTS_PATTERN" class="form-control input-sm input350" />
<img src="$sbRoot/images/legend16.png" width="16" height="16" alt="[Toggle Key]" id="show_naming_sports_key" title="Toggle Sports Naming Legend" style="padding: 0 0 0 3px; margin-top: -2px;" /> <img src="$sbRoot/images/legend16.png" width="16" height="16" alt="[Toggle Key]" id="show_naming_sports_key" title="Toggle Sports Naming Legend" class="legend" />
</span> </span>
</label> </label>
</div> </div>
<div id="naming_sports_key" class="nocheck clearfix" style="display: none;"> <div id="naming_sports_key" class="nocheck" style="display: none;">
<table class="Key"> <table class="Key">
<thead> <thead>
<tr> <tr>
@ -839,7 +772,7 @@
</div><!-- /naming_sports_custom --> </div><!-- /naming_sports_custom -->
<div id="naming_sports_example_div"> <div id="naming_sports_example_div">
<h2>Sample:</h2> <h3>Sample:</h3>
<div class="example"> <div class="example">
<span class="jumbo" id="naming_sports_example">&nbsp;</span> <span class="jumbo" id="naming_sports_example">&nbsp;</span>
</div> </div>
@ -849,9 +782,9 @@
</div><!-- /naming_sports_different --> </div><!-- /naming_sports_different -->
<!-- naming_anime_custom --> <!-- naming_anime_custom -->
<div class="field-pair clearfix"> <div class="field-pair">
<input type="checkbox" class="enabler" id="naming_custom_anime" name="naming_custom_anime" #if $sickbeard.NAMING_CUSTOM_ANIME then "checked=\"checked\"" else ""#/> <input type="checkbox" class="enabler" id="naming_custom_anime" name="naming_custom_anime" #if $sickbeard.NAMING_CUSTOM_ANIME then "checked=\"checked\"" else ""#/>
<label class="clearfix" for="naming_custom_anime"> <label for="naming_custom_anime">
<span class="component-title">Custom Anime</span> <span class="component-title">Custom Anime</span>
<span class="component-desc">Name Anime shows differently than regular shows?</span> <span class="component-desc">Name Anime shows differently than regular shows?</span>
</label> </label>
@ -859,10 +792,10 @@
<div id="content_naming_custom_anime"> <div id="content_naming_custom_anime">
<div class="field-pair"> <div class="field-pair">
<label class="nocheck clearfix" for="name_anime_presets"> <label class="nocheck" for="name_anime_presets">
<span class="component-title">Name Pattern:</span> <span class="component-title">Name Pattern:</span>
<span class="component-desc"> <span class="component-desc">
<select id="name_anime_presets"> <select id="name_anime_presets" class="form-control input-sm">
#set is_anime_custom = True #set is_anime_custom = True
#for $cur_preset in $naming.name_anime_presets: #for $cur_preset in $naming.name_anime_presets:
#set $tmp = $naming.test_name($cur_preset) #set $tmp = $naming.test_name($cur_preset)
@ -878,19 +811,19 @@
</div> </div>
<div id="naming_anime_custom"> <div id="naming_anime_custom">
<div class="field-pair clearfix" style="padding-top: 0;"> <div class="field-pair" style="padding-top: 0;">
<label class="nocheck clearfix"> <label class="nocheck">
<span class="component-title"> <span class="component-title">
&nbsp; &nbsp;
</span> </span>
<span class="component-desc"> <span class="component-desc">
<input type="text" size="45" name="naming_anime_pattern" id="naming_anime_pattern" class="custom-pattern" value="$sickbeard.NAMING_ANIME_PATTERN" style="font-size: 13px; height: 18px; margin-top: -8px"/> <input type="text" name="naming_anime_pattern" id="naming_anime_pattern" value="$sickbeard.NAMING_ANIME_PATTERN" class="form-control input-sm input350" />
<img src="$sbRoot/images/legend16.png" width="16" height="16" alt="[Toggle Key]" id="show_naming_anime_key" title="Toggle Anime Naming Legend" style="padding: 0 0 0 3px; margin-top: -2px;" /> <img src="$sbRoot/images/legend16.png" width="16" height="16" alt="[Toggle Key]" id="show_naming_anime_key" title="Toggle Anime Naming Legend" class="legend" />
</span> </span>
</label> </label>
</div> </div>
<div id="naming_anime_key" class="nocheck clearfix" style="display: none;"> <div id="naming_anime_key" class="nocheck" style="display: none;">
<table class="Key"> <table class="Key">
<thead> <thead>
<tr> <tr>
@ -1000,7 +933,7 @@
<td>%RG</td> <td>%RG</td>
<td>RLSGROUP</td> <td>RLSGROUP</td>
</tr> </tr>
<tr> <tr class="even">
<td class="align-right"><i class="icon-info-sign" title="If episode is proper/repack add 'proper' to name."></i> <b>Release Type:</b></td> <td class="align-right"><i class="icon-info-sign" title="If episode is proper/repack add 'proper' to name."></i> <b>Release Type:</b></td>
<td>%RT</td> <td>%RT</td>
<td>PROPER</td> <td>PROPER</td>
@ -1012,10 +945,10 @@
</div><!-- /naming_anime_custom --> </div><!-- /naming_anime_custom -->
<div class="field-pair"> <div class="field-pair">
<label class="nocheck clearfix" for="naming_anime_multi_ep"> <label class="nocheck" for="naming_anime_multi_ep">
<span class="component-title">Multi-Episode Style:</span> <span class="component-title">Multi-Episode Style:</span>
<span class="component-desc"> <span class="component-desc">
<select id="naming_anime_multi_ep" name="naming_anime_multi_ep"> <select id="naming_anime_multi_ep" name="naming_anime_multi_ep" class="form-control input-sm">
#for $cur_multi_ep in sorted($multiEpStrings.items(), key=lambda x: x[1]): #for $cur_multi_ep in sorted($multiEpStrings.items(), key=lambda x: x[1]):
<option value="$cur_multi_ep[0]" #if $cur_multi_ep[0] == $sickbeard.NAMING_ANIME_MULTI_EP then "selected=\"selected\" class=\"selected\"" else ""#>$cur_multi_ep[1]</option> <option value="$cur_multi_ep[0]" #if $cur_multi_ep[0] == $sickbeard.NAMING_ANIME_MULTI_EP then "selected=\"selected\" class=\"selected\"" else ""#>$cur_multi_ep[1]</option>
#end for #end for
@ -1025,7 +958,7 @@
</div> </div>
<div id="naming_example_anime_div"> <div id="naming_example_anime_div">
<h2>Single-EP Anime Sample:</h2> <h3>Single-EP Anime Sample:</h3>
<div class="example"> <div class="example">
<span class="jumbo" id="naming_example_anime">&nbsp;</span> <span class="jumbo" id="naming_example_anime">&nbsp;</span>
</div> </div>
@ -1033,7 +966,7 @@
</div> </div>
<div id="naming_example_multi_anime_div"> <div id="naming_example_multi_anime_div">
<h2>Multi-EP Anime sample:</h2> <h3>Multi-EP Anime sample:</h3>
<div class="example"> <div class="example">
<span class="jumbo" id="naming_example_multi_anime">&nbsp;</span> <span class="jumbo" id="naming_example_multi_anime">&nbsp;</span>
</div> </div>
@ -1042,11 +975,11 @@
<div class="field-pair"> <div class="field-pair">
<input type="radio" name="naming_anime" id="naming_anime" value="1" #if $sickbeard.NAMING_ANIME == 1 then "checked=\"checked\"" else ""#/> <input type="radio" name="naming_anime" id="naming_anime" value="1" #if $sickbeard.NAMING_ANIME == 1 then "checked=\"checked\"" else ""#/>
<label class="clearfix" for="naming_anime"> <label for="naming_anime">
<span class="component-title">Add Absolute Number</span> <span class="component-title">Add Absolute Number</span>
<span class="component-desc">Add the absolute number to the season/episode format?</span> <span class="component-desc">Add the absolute number to the season/episode format?</span>
</label> </label>
<label class="nocheck clearfix"> <label class="nocheck">
<span class="component-title">&nbsp;</span> <span class="component-title">&nbsp;</span>
<span class="component-desc">Only applies to animes. (eg. S15E45 - 310 vs S15E45)</span> <span class="component-desc">Only applies to animes. (eg. S15E45 - 310 vs S15E45)</span>
</label> </label>
@ -1054,11 +987,11 @@
<div class="field-pair"> <div class="field-pair">
<input type="radio" name="naming_anime" id="naming_anime_only" value="2" #if $sickbeard.NAMING_ANIME == 2 then "checked=\"checked\"" else ""#/> <input type="radio" name="naming_anime" id="naming_anime_only" value="2" #if $sickbeard.NAMING_ANIME == 2 then "checked=\"checked\"" else ""#/>
<label class="clearfix" for="naming_anime_only"> <label for="naming_anime_only">
<span class="component-title">Only Absolute Number</span> <span class="component-title">Only Absolute Number</span>
<span class="component-desc">Replace season/episode format with absolute number</span> <span class="component-desc">Replace season/episode format with absolute number</span>
</label> </label>
<label class="nocheck clearfix"> <label class="nocheck">
<span class="component-title">&nbsp;</span> <span class="component-title">&nbsp;</span>
<span class="component-desc">Only applies to animes.</span> <span class="component-desc">Only applies to animes.</span>
</label> </label>
@ -1066,11 +999,11 @@
<div class="field-pair"> <div class="field-pair">
<input type="radio" name="naming_anime" id="naming_anime_none" value="3" #if $sickbeard.NAMING_ANIME == 3 then "checked=\"checked\"" else ""#/> <input type="radio" name="naming_anime" id="naming_anime_none" value="3" #if $sickbeard.NAMING_ANIME == 3 then "checked=\"checked\"" else ""#/>
<label class="clearfix" for="naming_anime_none"> <label for="naming_anime_none">
<span class="component-title">No Absolute Number</span> <span class="component-title">No Absolute Number</span>
<span class="component-desc">Dont include the absolute number</span> <span class="component-desc">Dont include the absolute number</span>
</label> </label>
<label class="nocheck clearfix"> <label class="nocheck">
<span class="component-title">&nbsp;</span> <span class="component-title">&nbsp;</span>
<span class="component-desc">Only applies to animes.</span> <span class="component-desc">Only applies to animes.</span>
</label> </label>
@ -1078,18 +1011,87 @@
</div><!-- /naming_anime_different --> </div><!-- /naming_anime_different -->
<div class="clearfix"></div> <div></div>
<input type="submit" class="btn config_submitter" value="Save Changes" /><br/> <input type="submit" class="btn config_submitter" value="Save Changes" /><br/>
</fieldset> </fieldset>
</div><!-- /component-naming //--> </div><!-- /component-group2 //-->
<div id="core-component-group3" class="component-group">
<div class="component-group-desc">
<h3>Metadata</h3>
<p>The data associated to the data. These are files associated to a TV show in the form of images and text that, when supported, will enhance the viewing experience.</p>
</div>
<fieldset class="component-group-list">
<div class="field-pair">
<label>
<span class="component-title">Metadata Type:</span>
<span class="component-desc">
#set $m_dict = $metadata.get_metadata_generator_dict()
<select id="metadataType" class="form-control input-sm">
#for ($cur_name, $cur_generator) in sorted($m_dict.items()):
<option value="$cur_generator.get_id()">$cur_name</option>
#end for
</select>
</span>
</label>
<span>Toggle the metadata options that you wish to be created. <b>Multiple targets may be used.</b></span>
</div>
#for ($cur_name, $cur_generator) in $m_dict.items():
#set $cur_metadata_inst = $sickbeard.metadata_provider_dict[$cur_generator.name]
#set $cur_id = $cur_generator.get_id()
<div class="metadataDiv" id="$cur_id">
<div class="metadata_options_wrapper">
<h4>Create:</h4>
<div class="metadata_options">
<label for="${cur_id}_show_metadata"><input type="checkbox" class="metadata_checkbox" id="${cur_id}_show_metadata" #if $cur_metadata_inst.show_metadata then "checked=\"checked\"" else ""#/>&nbsp;Show Metadata</label>
<label for="${cur_id}_episode_metadata"><input type="checkbox" class="metadata_checkbox" id="${cur_id}_episode_metadata" #if $cur_metadata_inst.episode_metadata then "checked=\"checked\"" else ""#/>&nbsp;Episode Metadata</label>
<label for="${cur_id}_fanart"><input type="checkbox" class="float-left metadata_checkbox" id="${cur_id}_fanart" #if $cur_metadata_inst.fanart then "checked=\"checked\"" else ""#/>&nbsp;Show Fanart</label>
<label for="${cur_id}_poster"><input type="checkbox" class="float-left metadata_checkbox" id="${cur_id}_poster" #if $cur_metadata_inst.poster then "checked=\"checked\"" else ""#/>&nbsp;Show Poster</label>
<label for="${cur_id}_banner"><input type="checkbox" class="float-left metadata_checkbox" id="${cur_id}_banner" #if $cur_metadata_inst.banner then "checked=\"checked\"" else ""#/>&nbsp;Show Banner</label>
<label for="${cur_id}_episode_thumbnails"><input type="checkbox" class="float-left metadata_checkbox" id="${cur_id}_episode_thumbnails" #if $cur_metadata_inst.episode_thumbnails then "checked=\"checked\"" else ""#/>&nbsp;Episode Thumbnails</label>
<label for="${cur_id}_season_posters"><input type="checkbox" class="float-left metadata_checkbox" id="${cur_id}_season_posters" #if $cur_metadata_inst.season_posters then "checked=\"checked\"" else ""#/>&nbsp;Season Posters</label>
<label for="${cur_id}_season_banners"><input type="checkbox" class="float-left metadata_checkbox" id="${cur_id}_season_banners" #if $cur_metadata_inst.season_banners then "checked=\"checked\"" else ""#/>&nbsp;Season Banners</label>
<label for="${cur_id}_season_all_poster"><input type="checkbox" class="float-left metadata_checkbox" id="${cur_id}_season_all_poster" #if $cur_metadata_inst.season_all_poster then "checked=\"checked\"" else ""#/>&nbsp;Season All Poster</label>
<label for="${cur_id}_season_all_banner"><input type="checkbox" class="float-left metadata_checkbox" id="${cur_id}_season_all_banner" #if $cur_metadata_inst.season_all_banner then "checked=\"checked\"" else ""#/>&nbsp;Season All Banner</label>
</div>
</div>
<div class="metadata_example_wrapper">
<h4>Results:</h4>
<div class="metadata_example">
<label for="${cur_id}_show_metadata"><span id="${cur_id}_eg_show_metadata">$cur_metadata_inst.eg_show_metadata</span></label>
<label for="${cur_id}_episode_metadata"><span id="${cur_id}_eg_episode_metadata">$cur_metadata_inst.eg_episode_metadata</span></label>
<label for="${cur_id}_fanart"><span id="${cur_id}_eg_fanart">$cur_metadata_inst.eg_fanart</span></label>
<label for="${cur_id}_poster"><span id="${cur_id}_eg_poster">$cur_metadata_inst.eg_poster</span></label>
<label for="${cur_id}_banner"><span id="${cur_id}_eg_banner">$cur_metadata_inst.eg_banner</span></label>
<label for="${cur_id}_episode_thumbnails"><span id="${cur_id}_eg_episode_thumbnails">$cur_metadata_inst.eg_episode_thumbnails</span></label>
<label for="${cur_id}_season_posters"><span id="${cur_id}_eg_season_posters">$cur_metadata_inst.eg_season_posters</span></label>
<label for="${cur_id}_season_banners"><span id="${cur_id}_eg_season_banners">$cur_metadata_inst.eg_season_banners</span></label>
<label for="${cur_id}_season_all_poster"><span id="${cur_id}_eg_season_all_poster">$cur_metadata_inst.eg_season_all_poster</span></label>
<label for="${cur_id}_season_all_banner"><span id="${cur_id}_eg_season_all_banner">$cur_metadata_inst.eg_season_all_banner</span></label>
</div>
</div>
<input type="hidden" name="${cur_id}_data" id="${cur_id}_data" value="$cur_metadata_inst.get_config()" />
</div>
#end for
<div class="clearfix"></div><br/>
<input type="submit" class="btn config_submitter" value="Save Changes" /><br/>
</fieldset>
</div><!-- /component-group3 //-->
<br/> <br/>
<small class="float-right"><b>All non-absolute folder locations are relative to <span class="path">$sickbeard.DATA_DIR</span></b> </small> <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 config_submitter button" value="Save Changes" /><br/> <input type="submit" class="btn pull-left config_submitter button" value="Save Changes" />
</form> </form>
</div></div></div></div> </div>
</div>
<div class="clearfix"></div> <div class="clearfix"></div>
<script type="text/javascript" charset="utf-8"> <script type="text/javascript" charset="utf-8">

View File

@ -1,6 +1,8 @@
#import sickbeard #import sickbeard
#from sickbeard.providers.generic import GenericProvider #from sickbeard.providers.generic import GenericProvider
#from sickbeard.providers import thepiratebay #from sickbeard.providers import thepiratebay
#from sickbeard.helpers import anon_url
#set global $title="Config - Providers" #set global $title="Config - Providers"
#set global $header="Search Providers" #set global $header="Search Providers"
@ -9,7 +11,7 @@
#set global $topmenu="config"# #set global $topmenu="config"#
#import os.path #import os.path
#include $os.path.join($sickbeard.PROG_DIR, "gui/slick/interfaces/default/inc_top.tmpl") #include $os.path.join($sickbeard.PROG_DIR, "gui/slick/interfaces/default/inc_top.tmpl")
<div id="content960">
#if $varExists('header') #if $varExists('header')
<h1 class="header">$header</h1> <h1 class="header">$header</h1>
#else #else
@ -50,7 +52,7 @@ var show_nzb_providers = #if $sickbeard.USE_NZBS then "true" else "false"#;
<div id="config-components"> <div id="config-components">
<ul> <ul>
<li><a href="#core-component-group1">Provider Priorities</a></li> <li><a href="#core-component-group1">Provider Priorities</a></li>
<li><a href="#core-component-group2">Configure Built-In Providers</a></li> <li><a href="#core-component-group2">Provider Options</a></li>
#if $sickbeard.USE_NZBS #if $sickbeard.USE_NZBS
<li><a href="#core-component-group3">Configure Custom Newznab Providers</a></li> <li><a href="#core-component-group3">Configure Custom Newznab Providers</a></li>
#end if #end if
@ -59,11 +61,11 @@ var show_nzb_providers = #if $sickbeard.USE_NZBS then "true" else "false"#;
#end if #end if
</ul> </ul>
<div id="core-component-group1" class="component-group clearfix"> <div id="core-component-group1" class="component-group">
<div class="component-group-desc"> <div class="component-group-desc">
<h3>Provider Priorities</h3> <h3>Provider Priorities</h3>
<p>Check off, configure and drag the providers into the order you want them to be used.</p> <p>Check off and drag the providers into the order you want them to be used.</p>
<p>At least one provider is required but two are recommended.</p> <p>At least one provider is required but two are recommended.</p>
#if not $sickbeard.USE_NZBS or not $sickbeard.USE_TORRENTS: #if not $sickbeard.USE_NZBS or not $sickbeard.USE_TORRENTS:
@ -79,7 +81,7 @@ var show_nzb_providers = #if $sickbeard.USE_NZBS then "true" else "false"#;
</div> </div>
</div> </div>
<fieldset class="component-group-list" style="margin-left: 50px; margin-top:36px"> <fieldset class="component-group-list">
<ul id="provider_order_list"> <ul id="provider_order_list">
#for $curProvider in $sickbeard.providers.sortedProviderList(): #for $curProvider in $sickbeard.providers.sortedProviderList():
#if $curProvider.providerType == $GenericProvider.NZB and not $sickbeard.USE_NZBS: #if $curProvider.providerType == $GenericProvider.NZB and not $sickbeard.USE_NZBS:
@ -90,7 +92,7 @@ var show_nzb_providers = #if $sickbeard.USE_NZBS then "true" else "false"#;
#set $curName = $curProvider.getID() #set $curName = $curProvider.getID()
<li class="ui-state-default" id="$curName"> <li class="ui-state-default" id="$curName">
<input type="checkbox" id="enable_$curName" class="provider_enabler" #if $curProvider.isEnabled() then "checked=\"checked\"" else ""#/> <input type="checkbox" id="enable_$curName" class="provider_enabler" #if $curProvider.isEnabled() then "checked=\"checked\"" else ""#/>
<a href="$curProvider.url" class="imgLink" rel="noreferrer" onclick="window.open('${sickbeard.ANON_REDIRECT}' + this.href, '_blank'); return false;"><img src="$sbRoot/images/providers/$curProvider.imageName()" alt="$curProvider.name" title="$curProvider.name" width="16" height="16" style="vertical-align:middle;"/></a> <a href="<%= anon_url(curProvider.url) %>" class="imgLink" rel="noreferrer" onclick="window.open(this.href, '_blank'); return false;"><img src="$sbRoot/images/providers/$curProvider.imageName()" alt="$curProvider.name" title="$curProvider.name" width="16" height="16" style="vertical-align:middle;"/></a>
<span style="vertical-align:middle;">$curProvider.name</span> <span style="vertical-align:middle;">$curProvider.name</span>
#if not $curProvider.supportsBacklog then "*" else ""# #if not $curProvider.supportsBacklog then "*" else ""#
#if $curProvider.name == "EZRSS" then "**" else ""# #if $curProvider.name == "EZRSS" then "**" else ""#
@ -103,17 +105,18 @@ var show_nzb_providers = #if $sickbeard.USE_NZBS then "true" else "false"#;
</fieldset> </fieldset>
</div><!-- /component-group1 //--> </div><!-- /component-group1 //-->
<div id="core-component-group2" class="component-group clearfix"> <div id="core-component-group2" class="component-group">
<div class="component-group-desc"> <div class="component-group-desc">
<h3>Configure Built-In<br />Providers</h3> <h3>Provider Options</h3>
<p>Configure individual provider settings here.</p>
<p>Check with provider's website on how to obtain an API key if needed.</p> <p>Check with provider's website on how to obtain an API key if needed.</p>
</div> </div>
<fieldset class="component-group-list"> <fieldset class="component-group-list">
<div class="field-pair"> <div class="field-pair">
<label class="clearfix" for="editAProvider"> <label for="editAProvider">
<span class="component-title jumbo">Configure Provider:</span> <span class="component-title">Configure provider:</span>
<span class="component-desc"> <span class="component-desc">
#set $provider_config_list = [] #set $provider_config_list = []
#for $curProvider in $sickbeard.providers.sortedProviderList(): #for $curProvider in $sickbeard.providers.sortedProviderList():
@ -126,8 +129,8 @@ var show_nzb_providers = #if $sickbeard.USE_NZBS then "true" else "false"#;
#end for #end for
#if $provider_config_list: #if $provider_config_list:
<select id="editAProvider"> <select id="editAProvider" class="form-control input-sm">
#for $cur_provider in $provider_config_list + [$curProvider for $curProvider in $sickbeard.newznabProviderList if $sickbeard.USE_NZBS]: #for $cur_provider in $provider_config_list:
<option value="$cur_provider.getID()">$cur_provider.name</option> <option value="$cur_provider.getID()">$cur_provider.name</option>
#end for #end for
</select> </select>
@ -144,26 +147,30 @@ var show_nzb_providers = #if $sickbeard.USE_NZBS then "true" else "false"#;
<div class="providerDiv" id="${curNewznabProvider.getID()}Div"> <div class="providerDiv" id="${curNewznabProvider.getID()}Div">
#if $curNewznabProvider.default and $curNewznabProvider.needs_auth #if $curNewznabProvider.default and $curNewznabProvider.needs_auth
<div class="field-pair"> <div class="field-pair">
<label class="clearfix"> <label for="${curNewznabProvider.getID()}_url">
<span class="component-title">URL:</span> <span class="component-title">URL:</span>
<input class="component-desc" type="text" id="${curNewznabProvider.getID()}_url" value="$curNewznabProvider.url" size="40" disabled/> <span class="component-desc">
<input type="text" id="${curNewznabProvider.getID()}_url" value="$curNewznabProvider.url" class="form-control input-sm input350" disabled/>
</span>
</label> </label>
</div> </div>
<div class="field-pair"> <div class="field-pair">
<label class="clearfix"> <label for="${curNewznabProvider.getID()}_hash">
<span class="component-title">API Key:</span> <span class="component-title">API key:</span>
<input class="component-desc newznab_key" type="text" id="${curNewznabProvider.getID()}_hash" value="$curNewznabProvider.key" newznab_name="${curNewznabProvider.getID()}_hash" size="40" /> <span class="component-desc">
<input type="text" id="${curNewznabProvider.getID()}_hash" value="$curNewznabProvider.key" newznab_name="${curNewznabProvider.getID()}_hash" class="newznab_key form-control input-sm input350" />
</span>
</label> </label>
</div> </div>
#end if #end if
#if $hasattr($curNewznabProvider, 'enable_daily'): #if $hasattr($curNewznabProvider, 'enable_daily'):
<div class="field-pair"> <div class="field-pair">
<input type="checkbox" name="${curNewznabProvider.getID()}_enable_daily" id="${curNewznabProvider.getID()}_enable_daily" #if $curNewznabProvider.enable_daily then "checked=\"checked\"" else ""#/> <label for="${curNewznabProvider.getID()}_enable_daily">
<label class="clearfix" for="${curNewznabProvider.getID()}_enable_daily"> <span class="component-title">Enable daily searches</span>
<span class="component-title">Enable Daily Searches</span>
<span class="component-desc"> <span class="component-desc">
Enables daily searches <input type="checkbox" name="${curNewznabProvider.getID()}_enable_daily" id="${curNewznabProvider.getID()}_enable_daily" #if $curNewznabProvider.enable_daily then "checked=\"checked\"" else ""#/>
<p>enable provider to perform daily searches.</p>
</span> </span>
</label> </label>
</div> </div>
@ -171,11 +178,11 @@ var show_nzb_providers = #if $sickbeard.USE_NZBS then "true" else "false"#;
#if $hasattr($curNewznabProvider, 'enable_backlog'): #if $hasattr($curNewznabProvider, 'enable_backlog'):
<div class="field-pair"> <div class="field-pair">
<input type="checkbox" name="${curNewznabProvider.getID()}_enable_backlog" id="${curNewznabProvider.getID()}_enable_backlog" #if $curNewznabProvider.enable_backlog then "checked=\"checked\"" else ""#/> <label for="${curNewznabProvider.getID()}_enable_backlog">
<label class="clearfix" for="${curNewznabProvider.getID()}_enable_backlog"> <span class="component-title">Enable backlog searches</span>
<span class="component-title">Backlog Only</span>
<span class="component-desc"> <span class="component-desc">
Enables backlog searches <input type="checkbox" name="${curNewznabProvider.getID()}_enable_backlog" id="${curNewznabProvider.getID()}_enable_backlog" #if $curNewznabProvider.enable_backlog then "checked=\"checked\"" else ""#/>
<p>enable provider to perform backlog searches.</p>
</span> </span>
</label> </label>
</div> </div>
@ -183,11 +190,11 @@ var show_nzb_providers = #if $sickbeard.USE_NZBS then "true" else "false"#;
#if $hasattr($curNewznabProvider, 'search_fallback'): #if $hasattr($curNewznabProvider, 'search_fallback'):
<div class="field-pair"> <div class="field-pair">
<input type="checkbox" name="${curNewznabProvider.getID()}_search_fallback" id="${curNewznabProvider.getID()}_search_fallback" #if $curNewznabProvider.search_fallback then "checked=\"checked\"" else ""#/> <label for="${curNewznabProvider.getID()}_search_fallback">
<label class="clearfix" for="${curNewznabProvider.getID()}_search_fallback"> <span class="component-title">Season search fallback</span>
<span class="component-title">Season Search Fallback</span>
<span class="component-desc"> <span class="component-desc">
When searching for a complete season depending on search mode you may return no results, this helps by restarting the search using the opposite search mode. <input type="checkbox" name="${curNewznabProvider.getID()}_search_fallback" id="${curNewznabProvider.getID()}_search_fallback" #if $curNewznabProvider.search_fallback then "checked=\"checked\"" else ""#/>
<p>when searching for a complete season depending on search mode you may return no results, this helps by restarting the search using the opposite search mode.</p>
</span> </span>
</label> </label>
</div> </div>
@ -195,16 +202,22 @@ var show_nzb_providers = #if $sickbeard.USE_NZBS then "true" else "false"#;
#if $hasattr($curNewznabProvider, 'search_mode'): #if $hasattr($curNewznabProvider, 'search_mode'):
<div class="field-pair"> <div class="field-pair">
<label class="nocheck clearfix"> <label>
<span class="component-title">Season Search Mode</span> <span class="component-title">Season search mode</span>
<span class="component-desc2"> <span class="component-desc">
When searching for complete seasons you can choose to have it look for season packs ONLY or choose to have it build a complete season from just single episodes. <p>when searching for complete seasons you can choose to have it look for season packs only, or choose to have it build a complete season from just single episodes.</p>
</span> </span>
</label>
<label>
<span class="component-title"></span> <span class="component-title"></span>
<input type="radio" name="${curNewznabProvider.getID()}_search_mode" id="${curNewznabProvider.getID()}_search_mode_sponly" value="sponly" class="radio" #if $curNewznabProvider.search_mode=="sponly" then "checked=\"checked\"" else ""# />Season Packs ONLY!<br /> <span class="component-desc">
<input type="radio" name="${curNewznabProvider.getID()}_search_mode" id="${curNewznabProvider.getID()}_search_mode_sponly" value="sponly" #if $curNewznabProvider.search_mode=="sponly" then "checked=\"checked\"" else ""# />season packs only.
</span>
</label>
<label>
<span class="component-title"></span> <span class="component-title"></span>
<input type="radio" name="${curNewznabProvider.getID()}_search_mode" id="${curNewznabProvider.getID()}_search_mode_eponly" value="eponly" class="radio" #if $curNewznabProvider.search_mode=="eponly" then "checked=\"checked\"" else ""# />Episodes ONLY!<br /> <span class="component-desc">
<input type="radio" name="${curNewznabProvider.getID()}_search_mode" id="${curNewznabProvider.getID()}_search_mode_eponly" value="eponly" #if $curNewznabProvider.search_mode=="eponly" then "checked=\"checked\"" else ""# />episodes only.
</span> </span>
</label> </label>
</div> </div>
@ -213,22 +226,26 @@ var show_nzb_providers = #if $sickbeard.USE_NZBS then "true" else "false"#;
</div> </div>
#end for #end for
#for $curNzbProvider in [$curProvider for $curProvider in $sickbeard.providers.sortedProviderList() if $curProvider.providerType == $GenericProvider.NZB]: #for $curNzbProvider in [$curProvider for $curProvider in $sickbeard.providers.sortedProviderList() if $curProvider.providerType == $GenericProvider.NZB and $curProvider not in $sickbeard.newznabProviderList]:
<div class="providerDiv" id="${curNzbProvider.getID()}Div"> <div class="providerDiv" id="${curNzbProvider.getID()}Div">
#if $hasattr($curNzbProvider, 'username'): #if $hasattr($curNzbProvider, 'username'):
<div class="field-pair"> <div class="field-pair">
<label class="clearfix"> <label for="${curNzbProvider.getID()}_username">
<span class="component-title">UserName:</span> <span class="component-title">Username:</span>
<input class="component-desc" type="text" name="${curNzbProvider.getID()}_username" value="$curNzbProvider.username" size="40" /> <span class="component-desc">
<input type="text" name="${curNzbProvider.getID()}_username" value="$curNzbProvider.username" class="form-control input-sm input350" />
</span>
</label> </label>
</div> </div>
#end if #end if
#if $hasattr($curNzbProvider, 'api_key'): #if $hasattr($curNzbProvider, 'api_key'):
<div class="field-pair"> <div class="field-pair">
<label class="clearfix"> <label for="${curNzbProvider.getID()}_api_key">
<span class="component-title">API Key:</span> <span class="component-title">API key:</span>
<input class="component-desc" type="text" name="${curNzbProvider.getID()}_api_key" value="$curNzbProvider.api_key" size="40" /> <span class="component-desc">
<input type="text" name="${curNzbProvider.getID()}_api_key" value="$curNzbProvider.api_key" class="form-control input-sm input350" />
</span>
</label> </label>
</div> </div>
#end if #end if
@ -236,11 +253,11 @@ var show_nzb_providers = #if $sickbeard.USE_NZBS then "true" else "false"#;
#if $hasattr($curNzbProvider, 'enable_daily'): #if $hasattr($curNzbProvider, 'enable_daily'):
<div class="field-pair"> <div class="field-pair">
<input type="checkbox" name="${curNzbProvider.getID()}_enable_daily" id="${curNzbProvider.getID()}_enable_daily" #if $curNzbProvider.enable_daily then "checked=\"checked\"" else ""#/> <label for="${curNzbProvider.getID()}_enable_daily">
<label class="clearfix" for="${curNzbProvider.getID()}_enable_daily"> <span class="component-title">Enable daily searches</span>
<span class="component-title">Enable Daily Searches</span>
<span class="component-desc"> <span class="component-desc">
Enables daily searches <input type="checkbox" name="${curNzbProvider.getID()}_enable_daily" id="${curNzbProvider.getID()}_enable_daily" #if $curNzbProvider.enable_daily then "checked=\"checked\"" else ""#/>
<p>enable provider to perform daily searches.</p>
</span> </span>
</label> </label>
</div> </div>
@ -248,11 +265,11 @@ var show_nzb_providers = #if $sickbeard.USE_NZBS then "true" else "false"#;
#if $hasattr($curNzbProvider, 'enable_backlog'): #if $hasattr($curNzbProvider, 'enable_backlog'):
<div class="field-pair"> <div class="field-pair">
<input type="checkbox" name="${curNzbProvider.getID()}_enable_backlog" id="${curNzbProvider.getID()}_enable_backlog" #if $curNzbProvider.enable_backlog then "checked=\"checked\"" else ""#/> <label for="${curNzbProvider.getID()}_enable_backlog">
<label class="clearfix" for="${curNzbProvider.getID()}_enable_backlog"> <span class="component-title">Enable backlog searches</span>
<span class="component-title">Enable Backlog Searches</span>
<span class="component-desc"> <span class="component-desc">
Enables backlog searches <input type="checkbox" name="${curNzbProvider.getID()}_enable_backlog" id="${curNzbProvider.getID()}_enable_backlog" #if $curNzbProvider.enable_backlog then "checked=\"checked\"" else ""#/>
<p>enable provider to perform backlog searches.</p>
</span> </span>
</label> </label>
</div> </div>
@ -260,11 +277,11 @@ var show_nzb_providers = #if $sickbeard.USE_NZBS then "true" else "false"#;
#if $hasattr($curNzbProvider, 'search_fallback'): #if $hasattr($curNzbProvider, 'search_fallback'):
<div class="field-pair"> <div class="field-pair">
<input type="checkbox" name="${curNzbProvider.getID()}_search_fallback" id="${curNzbProvider.getID()}_search_fallback" #if $curNzbProvider.search_fallback then "checked=\"checked\"" else ""#/> <label for="${curNzbProvider.getID()}_search_fallback">
<label class="clearfix" for="${curNzbProvider.getID()}_search_fallback"> <span class="component-title">Season search fallback</span>
<span class="component-title">Season Search Fallback</span>
<span class="component-desc"> <span class="component-desc">
When searching for a complete season depending on search mode you may return no results, this helps by restarting the search using the opposite search mode. <input type="checkbox" name="${curNzbProvider.getID()}_search_fallback" id="${curNzbProvider.getID()}_search_fallback" #if $curNzbProvider.search_fallback then "checked=\"checked\"" else ""#/>
<p>when searching for a complete season depending on search mode you may return no results, this helps by restarting the search using the opposite search mode.</p>
</span> </span>
</label> </label>
</div> </div>
@ -272,16 +289,22 @@ var show_nzb_providers = #if $sickbeard.USE_NZBS then "true" else "false"#;
#if $hasattr($curNzbProvider, 'search_mode'): #if $hasattr($curNzbProvider, 'search_mode'):
<div class="field-pair"> <div class="field-pair">
<label class="nocheck clearfix"> <label>
<span class="component-title">Season Search Mode</span> <span class="component-title">Season search mode</span>
<span class="component-desc2"> <span class="component-desc">
When searching for complete seasons you can choose to have it look for season packs ONLY or choose to have it build a complete season from just single episodes. <p>when searching for complete seasons you can choose to have it look for season packs only, or choose to have it build a complete season from just single episodes.</p>
</span> </span>
</label>
<label>
<span class="component-title"></span> <span class="component-title"></span>
<input type="radio" style="margin-top: 2px !important;" name="${curNzbProvider.getID()}_search_mode" id="${curNzbProvider.getID()}_search_mode_sponly" value="sponly" class="radio" #if $curNzbProvider.search_mode=="sponly" then "checked=\"checked\"" else ""# />Season Packs ONLY!<br /> <span class="component-desc">
<input type="radio" name="${curNzbProvider.getID()}_search_mode" id="${curNzbProvider.getID()}_search_mode_sponly" value="sponly" #if $curNzbProvider.search_mode=="sponly" then "checked=\"checked\"" else ""# />season packs only.
</span>
</label>
<label>
<span class="component-title"></span> <span class="component-title"></span>
<input type="radio" style="margin-top: 2px !important;" name="${curNzbProvider.getID()}_search_mode" id="${curNzbProvider.getID()}_search_mode_eponly" value="eponly" class="radio" #if $curNzbProvider.search_mode=="eponly" then "checked=\"checked\"" else ""# />Episodes ONLY!<br /> <span class="component-desc">
<input type="radio" name="${curNzbProvider.getID()}_search_mode" id="${curNzbProvider.getID()}_search_mode_eponly" value="eponly" #if $curNzbProvider.search_mode=="eponly" then "checked=\"checked\"" else ""# />episodes only.
</span> </span>
</label> </label>
</div> </div>
@ -294,140 +317,126 @@ var show_nzb_providers = #if $sickbeard.USE_NZBS then "true" else "false"#;
<div class="providerDiv" id="${curTorrentProvider.getID()}Div"> <div class="providerDiv" id="${curTorrentProvider.getID()}Div">
#if $hasattr($curTorrentProvider, 'api_key'): #if $hasattr($curTorrentProvider, 'api_key'):
<div class="field-pair"> <div class="field-pair">
<label class="clearfix"> <label for="${curTorrentProvider.getID()}_api_key">
<span class="component-title">Api Key:</span> <span class="component-title">Api key:</span>
<input class="component-desc" type="text" name="${curTorrentProvider.getID()}_api_key" id="${curTorrentProvider.getID()}_api_key" value="$curTorrentProvider.api_key" size="40" /> <span class="component-desc">
<input type="text" name="${curTorrentProvider.getID()}_api_key" id="${curTorrentProvider.getID()}_api_key" value="$curTorrentProvider.api_key" class="form-control input-sm input350" />
</span>
</label> </label>
</div> </div>
#end if #end if
#if $hasattr($curTorrentProvider, 'digest'): #if $hasattr($curTorrentProvider, 'digest'):
<div class="field-pair"> <div class="field-pair">
<label class="clearfix"> <label for="${curTorrentProvider.getID()}_digest">
<span class="component-title">Digest:</span> <span class="component-title">Digest:</span>
<input class="component-desc" type="text" name="${curTorrentProvider.getID()}_digest" id="${curTorrentProvider.getID()}_digest" value="$curTorrentProvider.digest" size="40" /> <span class="component-desc">
<input type="text" name="${curTorrentProvider.getID()}_digest" id="${curTorrentProvider.getID()}_digest" value="$curTorrentProvider.digest" class="form-control input-sm input350" />
</span>
</label> </label>
</div> </div>
#end if #end if
#if $hasattr($curTorrentProvider, 'hash'): #if $hasattr($curTorrentProvider, 'hash'):
<div class="field-pair"> <div class="field-pair">
<label class="clearfix"> <label for="${curTorrentProvider.getID()}_hash">
<span class="component-title">Hash:</span> <span class="component-title">Hash:</span>
<input class="component-desc" type="text" name="${curTorrentProvider.getID()}_hash" id="${curTorrentProvider.getID()}_hash" value="$curTorrentProvider.hash" size="40" /> <span class="component-desc">
<input type="text" name="${curTorrentProvider.getID()}_hash" id="${curTorrentProvider.getID()}_hash" value="$curTorrentProvider.hash" class="form-control input-sm input350" />
</span>
</label> </label>
</div> </div>
#end if #end if
#if $hasattr($curTorrentProvider, 'options'):
<div style="width: 340px; padding-bottom: 10px !important;">
<input type="hidden" id="tvtorrents_option_string" />
<fieldset style="display: block; border-width: 1px !important; border-radius: 5px !important; border-color: #D0D0D0 !important; border-style: solid !important;">
<legend id="seed_options">Advanced Options</legend>
<div class="field-pair" style="margin-top: -2px !important;">
<label class="clearfix" >
<span class="component-title" style="width: 130px !important;">Seeding Goal Ratio(%):</span>
<input class="seed_option" type="text" id="tvtorrents_seed_ratio" size="5" style="margin-left: -5px !important;"/>
</label>
</div>
<div class="field-pair" style="margin-top: -10px !important;">
<label class="clearfix">
<span class="component-title" style="width: 130px !important;">Seeding Goal Time(h):</span>
<input class="seed_option" type="text" id="tvtorrents_seed_time" size="5" style="margin-left: -5px !important;" />
</label>
</div>
<div style="display: block; text-align: center;margin-top: -10px !important;" class="float-left">
<label class="clearfix">
<span class="component-title" style="margin-left: -49px !important; width: 201px !important;">Process Method:</span>
<select class="seed_option" id="tvtorrents_process_method" class="input-medium" >
#set $process_method_text = {'': "", 'copy': "Copy", 'move': "Move", 'hardlink': "Hard Link", 'symlink' : "Symbolic Link"}
#for $curAction in ('', 'copy', 'move', 'hardlink', 'symlink'):
#set $process_method = ""
<option class="seed_option" value="$curAction" $process_method>$process_method_text[$curAction]</option>
#end for
</select>
</label>
</div>
</fieldset>
</div>
#end if
#if $hasattr($curTorrentProvider, 'username'): #if $hasattr($curTorrentProvider, 'username'):
<div class="field-pair"> <div class="field-pair">
<label class="clearfix"> <label for="${curTorrentProvider.getID()}_username">
<span class="component-title">Username:</span> <span class="component-title">Username:</span>
<input class="component-desc" type="text" name="${curTorrentProvider.getID()}_username" id="${curTorrentProvider.getID()}_username" value="$curTorrentProvider.username" size="40" /> <span class="component-desc">
<input type="text" name="${curTorrentProvider.getID()}_username" id="${curTorrentProvider.getID()}_username" value="$curTorrentProvider.username" class="form-control input-sm input350" />
</span>
</label> </label>
</div> </div>
#end if #end if
#if $hasattr($curTorrentProvider, 'password'): #if $hasattr($curTorrentProvider, 'password'):
<div class="field-pair"> <div class="field-pair">
<label class="clearfix"> <label for="${curTorrentProvider.getID()}_password">
<span class="component-title">Password:</span> <span class="component-title">Password:</span>
<input class="component-desc" type="password" name="${curTorrentProvider.getID()}_password" id="${curTorrentProvider.getID()}_password" value="$curTorrentProvider.password" size="40" /> <span class="component-desc">
<input type="password" name="${curTorrentProvider.getID()}_password" id="${curTorrentProvider.getID()}_password" value="$curTorrentProvider.password" class="form-control input-sm input350" />
</span>
</label> </label>
</div> </div>
#end if #end if
#if $hasattr($curTorrentProvider, 'passkey'): #if $hasattr($curTorrentProvider, 'passkey'):
<div class="field-pair"> <div class="field-pair">
<label class="clearfix"> <label for="${curTorrentProvider.getID()}_passkey">
<span class="component-title">Passkey:</span> <span class="component-title">Passkey:</span>
<input class="component-desc" type="text" name="${curTorrentProvider.getID()}_passkey" id="${curTorrentProvider.getID()}_passkey" value="$curTorrentProvider.passkey" size="40" /> <span class="component-desc">
<input type="text" name="${curTorrentProvider.getID()}_passkey" id="${curTorrentProvider.getID()}_passkey" value="$curTorrentProvider.passkey" class="form-control input-sm input350" />
</span>
</label> </label>
</div> </div>
#end if #end if
#if $hasattr($curTorrentProvider, 'ratio'): #if $hasattr($curTorrentProvider, 'ratio'):
<div class="field-pair"> <div class="field-pair">
<label class="nocheck clearfix"> <label for="${curTorrentProvider.getID()}_ratio">
<span class="component-title" id="${curTorrentProvider.getID()}_ratio_desc">Seed Ratio:</span> <span class="component-title" id="${curTorrentProvider.getID()}_ratio_desc">Seed ratio:</span>
<input type="number" step="0.1" name="${curTorrentProvider.getID()}_ratio" id="${curTorrentProvider.getID()}_ratio" value="$curTorrentProvider.ratio" size="2" style="margin-left: 3px !important;" /> <span class="component-desc">
<input type="number" step="0.1" name="${curTorrentProvider.getID()}_ratio" id="${curTorrentProvider.getID()}_ratio" value="$curTorrentProvider.ratio" class="form-control input-sm input75" />
</span>
</label> </label>
<label class="clearfix"> <label>
<span class="component-title">&nbsp;</span> <span class="component-title">&nbsp;</span>
<span class="component-desc"> <span class="component-desc">
Stop transfer when reaching ratio<br> <p>stop transfer when ratio is reached<br>(-1 SickRage default to seed forever, or leave blank for downloader default)</p>
(-1 SickRage default to seed forever)<br> </span>
(leave blank for downloader default)</span>
</label> </label>
</div> </div>
#end if #end if
#if $hasattr($curTorrentProvider, 'minseed'): #if $hasattr($curTorrentProvider, 'minseed'):
<div class="field-pair"> <div class="field-pair">
<label class="nocheck clearfix"> <label for="${curTorrentProvider.getID()}_minseed">
<span class="component-title" id="${curTorrentProvider.getID()}_minseed_desc">Min Seeders:</span> <span class="component-title" id="${curTorrentProvider.getID()}_minseed_desc">Minimum seeders:</span>
<input type="number" name="${curTorrentProvider.getID()}_minseed" id="${curTorrentProvider.getID()}_minseed" value="$curTorrentProvider.minseed" size="40" style="margin-left: 3px !important;" /> <span class="component-desc">
<input type="number" name="${curTorrentProvider.getID()}_minseed" id="${curTorrentProvider.getID()}_minseed" value="$curTorrentProvider.minseed" class="form-control input-sm input75" />
</span>
</label> </label>
</div> </div>
#end if #end if
#if $hasattr($curTorrentProvider, 'minleech'): #if $hasattr($curTorrentProvider, 'minleech'):
<div class="field-pair"> <div class="field-pair">
<label class="nocheck clearfix"> <label for="${curTorrentProvider.getID()}_minleech">
<span class="component-title" id="${curTorrentProvider.getID()}_minleech_desc">Min Leechers:</span> <span class="component-title" id="${curTorrentProvider.getID()}_minleech_desc">Minimum leechers:</span>
<input type="number" name="${curTorrentProvider.getID()}_minleech" id="${curTorrentProvider.getID()}_minleech" value="$curTorrentProvider.minleech" size="40" style="margin-left: 3px !important;" /> <span class="component-desc">
<input type="number" name="${curTorrentProvider.getID()}_minleech" id="${curTorrentProvider.getID()}_minleech" value="$curTorrentProvider.minleech" class="form-control input-sm input75" />
</span>
</label> </label>
</div> </div>
#end if #end if
#if $hasattr($curTorrentProvider, 'proxy'): #if $hasattr($curTorrentProvider, 'proxy'):
<div class="field-pair"> <div class="field-pair">
<label for="${curTorrentProvider.getID()}_proxy">
<span class="component-title">Access provider via proxy</span>
<span class="component-desc">
<input type="checkbox" class="enabler" name="${curTorrentProvider.getID()}_proxy" id="${curTorrentProvider.getID()}_proxy" #if $curTorrentProvider.proxy.enabled then "checked=\"checked\"" else ""#/> <input type="checkbox" class="enabler" name="${curTorrentProvider.getID()}_proxy" id="${curTorrentProvider.getID()}_proxy" #if $curTorrentProvider.proxy.enabled then "checked=\"checked\"" else ""#/>
<label class="clearfix"> <p>to bypass country blocking mechanisms</p>
<span class="component-title">Access Provider via Proxy</span> </span>
<span class="component-desc">To bypass Country Blocking Mechanism</span>
</label> </label>
</div> </div>
#if $hasattr($curTorrentProvider.proxy, 'url'): #if $hasattr($curTorrentProvider.proxy, 'url'):
<div class="field-pair content_${curTorrentProvider.getID()}_proxy" id="content_${curTorrentProvider.getID()}_proxy"> <div class="field-pair content_${curTorrentProvider.getID()}_proxy" id="content_${curTorrentProvider.getID()}_proxy">
<label class="nocheck clearfix"> <label for="${curTorrentProvider.getID()}_proxy_url">
<span class="component-title">Proxy URL:</span> <span class="component-title">Proxy URL:</span>
<span class="component-desc"> <span class="component-desc">
<select name="${curTorrentProvider.getID()}_proxy_url" id="${curTorrentProvider.getID()}_proxy_url"> <select name="${curTorrentProvider.getID()}_proxy_url" id="${curTorrentProvider.getID()}_proxy_url" class="form-control input-sm">
#for $i in $curTorrentProvider.proxy.urls.keys(): #for $i in $curTorrentProvider.proxy.urls.keys():
<option value="$curTorrentProvider.proxy.urls[$i]" #if $curTorrentProvider.proxy.urls[$i] == $curTorrentProvider.proxy.url then "selected=\"selected\"" else ""#>$i</option> <option value="$curTorrentProvider.proxy.urls[$i]" #if $curTorrentProvider.proxy.urls[$i] == $curTorrentProvider.proxy.url then "selected=\"selected\"" else ""#>$i</option>
#end for #end for
@ -440,31 +449,35 @@ var show_nzb_providers = #if $sickbeard.USE_NZBS then "true" else "false"#;
#if $hasattr($curTorrentProvider, 'confirmed'): #if $hasattr($curTorrentProvider, 'confirmed'):
<div class="field-pair"> <div class="field-pair">
<label for="${curTorrentProvider.getID()}_confirmed">
<span class="component-title">Confirmed download</span>
<span class="component-desc">
<input type="checkbox" name="${curTorrentProvider.getID()}_confirmed" id="${curTorrentProvider.getID()}_confirmed" #if $curTorrentProvider.confirmed then "checked=\"checked\"" else ""#/> <input type="checkbox" name="${curTorrentProvider.getID()}_confirmed" id="${curTorrentProvider.getID()}_confirmed" #if $curTorrentProvider.confirmed then "checked=\"checked\"" else ""#/>
<label class="clearfix" for="${curTorrentProvider.getID()}_confirmed"> <p>only download torrents from trusted or verified uploaders ?</p>
<span class="component-title">Confirmed Download</span> </span>
<span class="component-desc">Download torrent only from trusted/verified uploaders?</span>
</label> </label>
</div> </div>
#end if #end if
#if $hasattr($curTorrentProvider, 'freeleech'): #if $hasattr($curTorrentProvider, 'freeleech'):
<div class="field-pair"> <div class="field-pair">
<label for="${curTorrentProvider.getID()}_freeleech">
<span class="component-title">Freeleech</span>
<span class="component-desc">
<input type="checkbox" name="${curTorrentProvider.getID()}_freeleech" id="${curTorrentProvider.getID()}_freeleech" #if $curTorrentProvider.freeleech then "checked=\"checked\"" else ""#/> <input type="checkbox" name="${curTorrentProvider.getID()}_freeleech" id="${curTorrentProvider.getID()}_freeleech" #if $curTorrentProvider.freeleech then "checked=\"checked\"" else ""#/>
<label class="clearfix" for="${curTorrentProvider.getID()}_freeleech"> <p>only download <b>[FreeLeech]</b> torrents.</p>
<span class="component-title">FreeLeech</span> </span>
<span class="component-desc">This will only download <b>[FreeLeech]</b> torrents.</span>
</label> </label>
</div> </div>
#end if #end if
#if $hasattr($curTorrentProvider, 'enable_daily'): #if $hasattr($curTorrentProvider, 'enable_daily'):
<div class="field-pair"> <div class="field-pair">
<input type="checkbox" name="${curTorrentProvider.getID()}_enable_daily" id="${curTorrentProvider.getID()}_enable_daily" #if $curTorrentProvider.enable_daily then "checked=\"checked\"" else ""#/> <label for="${curTorrentProvider.getID()}_enable_daily">
<label class="clearfix" for="${curTorrentProvider.getID()}_enable_daily"> <span class="component-title">Enable daily searches</span>
<span class="component-title">Enable Daily Searches</span>
<span class="component-desc"> <span class="component-desc">
Enables daily searches <input type="checkbox" name="${curTorrentProvider.getID()}_enable_daily" id="${curTorrentProvider.getID()}_enable_daily" #if $curTorrentProvider.enable_daily then "checked=\"checked\"" else ""#/>
<p>enable provider to perform daily searches.</p>
</span> </span>
</label> </label>
</div> </div>
@ -472,11 +485,11 @@ var show_nzb_providers = #if $sickbeard.USE_NZBS then "true" else "false"#;
#if $hasattr($curTorrentProvider, 'enable_backlog'): #if $hasattr($curTorrentProvider, 'enable_backlog'):
<div class="field-pair"> <div class="field-pair">
<input type="checkbox" name="${curTorrentProvider.getID()}_enable_backlog" id="${curTorrentProvider.getID()}_enable_backlog" #if $curTorrentProvider.enable_backlog then "checked=\"checked\"" else ""#/> <label for="${curTorrentProvider.getID()}_enable_backlog">
<label class="clearfix" for="${curTorrentProvider.getID()}_enable_backlog"> <span class="component-title">Enable backlog searches</span>
<span class="component-title">Enable Backlog Searches</span>
<span class="component-desc"> <span class="component-desc">
Enables backlog searches <input type="checkbox" name="${curTorrentProvider.getID()}_enable_backlog" id="${curTorrentProvider.getID()}_enable_backlog" #if $curTorrentProvider.enable_backlog then "checked=\"checked\"" else ""#/>
<p>enable provider to perform backlog searches.</p>
</span> </span>
</label> </label>
</div> </div>
@ -484,11 +497,11 @@ var show_nzb_providers = #if $sickbeard.USE_NZBS then "true" else "false"#;
#if $hasattr($curTorrentProvider, 'search_fallback'): #if $hasattr($curTorrentProvider, 'search_fallback'):
<div class="field-pair"> <div class="field-pair">
<input type="checkbox" name="${curTorrentProvider.getID()}_search_fallback" id="${curTorrentProvider.getID()}_search_fallback" #if $curTorrentProvider.search_fallback then "checked=\"checked\"" else ""#/> <label for="${curTorrentProvider.getID()}_search_fallback">
<label class="clearfix" for="${curTorrentProvider.getID()}_search_fallback"> <span class="component-title">Season search fallback</span>
<span class="component-title">Season Search Fallback</span>
<span class="component-desc"> <span class="component-desc">
When searching for a complete season depending on search mode you may return no results, this helps by restarting the search using the opposite search mode. <input type="checkbox" name="${curTorrentProvider.getID()}_search_fallback" id="${curTorrentProvider.getID()}_search_fallback" #if $curTorrentProvider.search_fallback then "checked=\"checked\"" else ""#/>
<p>when searching for a complete season depending on search mode you may return no results, this helps by restarting the search using the opposite search mode.</p>
</span> </span>
</label> </label>
</div> </div>
@ -496,21 +509,59 @@ var show_nzb_providers = #if $sickbeard.USE_NZBS then "true" else "false"#;
#if $hasattr($curTorrentProvider, 'search_mode'): #if $hasattr($curTorrentProvider, 'search_mode'):
<div class="field-pair"> <div class="field-pair">
<label class="nocheck clearfix"> <label>
<span class="component-title">Season Search Mode</span> <span class="component-title">Season search mode</span>
<span class="component-desc2"> <span class="component-desc">
When searching for complete seasons you can choose to have it look for season packs ONLY or choose to have it build a complete season from just single episodes. <p>when searching for complete seasons you can choose to have it look for season packs only, or choose to have it build a complete season from just single episodes.</p>
</span> </span>
</label>
<label>
<span class="component-title"></span> <span class="component-title"></span>
<input type="radio" style="margin-top: 2px !important;" name="${curTorrentProvider.getID()}_search_mode" id="${curTorrentProvider.getID()}_search_mode_sponly" value="sponly" class="radio" #if $curTorrentProvider.search_mode=="sponly" then "checked=\"checked\"" else ""# />Season Packs ONLY!<br /> <span class="component-desc">
<input type="radio" name="${curTorrentProvider.getID()}_search_mode" id="${curTorrentProvider.getID()}_search_mode_sponly" value="sponly" #if $curTorrentProvider.search_mode=="sponly" then "checked=\"checked\"" else ""# />season packs only.
</span>
</label>
<label>
<span class="component-title"></span> <span class="component-title"></span>
<input type="radio" style="margin-top: 2px !important;" name="${curTorrentProvider.getID()}_search_mode" id="${curTorrentProvider.getID()}_search_mode_eponly" value="eponly" class="radio" #if $curTorrentProvider.search_mode=="eponly" then "checked=\"checked\"" else ""# />Episodes ONLY!<br /> <span class="component-desc">
<input type="radio" name="${curTorrentProvider.getID()}_search_mode" id="${curTorrentProvider.getID()}_search_mode_eponly" value="eponly" #if $curTorrentProvider.search_mode=="eponly" then "checked=\"checked\"" else ""# />episodes only.
</span> </span>
</label> </label>
</div> </div>
#end if #end if
#if $hasattr($curTorrentProvider, 'options'):
<br>
<input type="hidden" id="tvtorrents_option_string" />
<fieldset>
<legend id="seed_options">Advanced options</legend>
<div class="field-pair">
<label >
<span class="component-title">Seeding ratio(%) goal:</span>
<input type="text" id="tvtorrents_seed_ratio" class="seed_option form-control input-sm input75" />
</label>
</div>
<div class="field-pair">
<label>
<span class="component-title">Seeding time(h) goal:</span>
<input type="text" id="tvtorrents_seed_time" class="seed_option form-control input-sm input75" />
</label>
</div>
<div class="field-pair">
<label>
<span class="component-title">Process method:</span>
<select id="tvtorrents_process_method" class="seed_option form-control input-sm" >
#set $process_method_text = {'': "", 'copy': "Copy", 'move': "Move", 'hardlink': "Hard Link", 'symlink' : "Symbolic Link"}
#for $curAction in ('', 'copy', 'move', 'hardlink', 'symlink'):
#set $process_method = ""
<option class="seed_option" value="$curAction" $process_method>$process_method_text[$curAction]</option>
#end for
</select>
</label>
</div>
</fieldset>
<br>
#end if
</div> </div>
#end for #end for
@ -524,21 +575,20 @@ var show_nzb_providers = #if $sickbeard.USE_NZBS then "true" else "false"#;
</div><!-- /component-group2 //--> </div><!-- /component-group2 //-->
#if $sickbeard.USE_NZBS #if $sickbeard.USE_NZBS
<div id="core-component-group3" class="component-group clearfix"> <div id="core-component-group3" class="component-group">
<div class="component-group-desc"> <div class="component-group-desc">
<h3>Configure Custom<br />Newznab Providers</h3> <h3>Configure Custom<br />Newznab Providers</h3>
<p>Add and setup custom Newznab providers.</p> <p>Add and setup or remove custom Newznab providers.</p>
<p>Some built-in Newznab providers are already available above.</p>
</div> </div>
<fieldset class="component-group-list"> <fieldset class="component-group-list">
<div class="field-pair"> <div class="field-pair">
<label class="clearfix"> <label for="newznab_string">
<span class="component-title jumbo">Select Provider:</span> <span class="component-title">Select provider:</span>
<span class="component-desc"> <span class="component-desc">
<input type="hidden" name="newznab_string" id="newznab_string" /> <input type="hidden" name="newznab_string" id="newznab_string" />
<select id="editANewznabProvider"> <select id="editANewznabProvider" class="form-control input-sm">
<option value="addNewznab">-- add new provider --</option> <option value="addNewznab">-- add new provider --</option>
</select> </select>
</span> </span>
@ -547,40 +597,42 @@ var show_nzb_providers = #if $sickbeard.USE_NZBS then "true" else "false"#;
<div class="newznabProviderDiv" id="addNewznab"> <div class="newznabProviderDiv" id="addNewznab">
<div class="field-pair"> <div class="field-pair">
<label class="nocheck clearfix"> <label for="newznab_name">
<span class="component-title">Provider Name</span> <span class="component-title">Provider name:</span>
<input class="component-desc" type="text" id="newznab_name" size="40" /> <input type="text" id="newznab_name" class="form-control input-sm input200" />
</label> </label>
</div> </div>
<div class="field-pair"> <div class="field-pair">
<label class="nocheck clearfix"> <label for="newznab_url">
<span class="component-title">Site URL</span> <span class="component-title">Site URL:</span>
<input class="component-desc" type="text" id="newznab_url" size="40" /> <input type="text" id="newznab_url" class="form-control input-sm input350" />
</label> </label>
</div> </div>
<div class="field-pair"> <div class="field-pair">
<label class="nocheck clearfix"> <label for="newznab_key">
<span class="component-title">API Key</span> <span class="component-title">API key:</span>
<input class="component-desc" type="text" id="newznab_key" size="40" /> <input type="text" id="newznab_key" class="form-control input-sm input350" />
</label> </label>
<label class="nocheck clearfix"> <label>
<span class="component-title">&nbsp;</span> <span class="component-title">&nbsp;</span>
<span class="component-desc">(if not required, type 0)</span> <span class="component-desc">(if not required, type 0)</span>
</label> </label>
</div> </div>
<div class="field-pair"> <div class="field-pair">
<label class="nocheck clearfix"> <label>
<span class="component-title">NewzNab search categories</span> <span class="component-title">Newznab search categories:</span>
<select id="newznab_cap" multiple="multiple" style="min-width:10em;" ></select> <select id="newznab_cap" multiple="multiple" style="min-width:10em;" ></select>
<select id="newznab_cat" multiple="multiple" style="min-width:10em;" ></select> <select id="newznab_cat" multiple="multiple" style="min-width:10em;" ></select>
</label> </label>
<label class="clearfix"> <label>
<span class="component-title">&nbsp;</span> <span class="component-title">&nbsp;</span>
<span class="component-desc">(Select your Newznab categories on the left, and click the "update categories" button to use them for searching.) <span class="component-desc">(select your Newznab categories on the left, and click the "update categories" button to use them for searching.) <b>don't forget to to save the form!</b></span>
Don't forget to to save the form!</span> </label>
<label>
<span class="component-title">&nbsp;</span>
<span class="component-desc"><input class="btn" type="button" class="newznab_cat_update" id="newznab_cat_update" value="Update Categories" /></span>
</label> </label>
<input class="btn" type="button" class="newznab_cat_update" id="newznab_cat_update" value="Update Categories" />
</div> </div>
<div id="newznab_add_div"> <div id="newznab_add_div">
@ -597,21 +649,20 @@ var show_nzb_providers = #if $sickbeard.USE_NZBS then "true" else "false"#;
#if $sickbeard.USE_TORRENTS: #if $sickbeard.USE_TORRENTS:
<div id="core-component-group4" class="component-group clearfix"> <div id="core-component-group4" class="component-group">
<div class="component-group-desc"> <div class="component-group-desc">
<h3>Configure Custom Torrent Providers</h3> <h3>Configure Custom Torrent Providers</h3>
<p>Add and setup custom RSS providers.</p> <p>Add and setup or remove custom RSS providers.</p>
<p>&nbsp;</p>
</div> </div>
<fieldset class="component-group-list"> <fieldset class="component-group-list">
<div class="field-pair"> <div class="field-pair">
<label class="clearfix"> <label for="torrentrss_string">
<span class="component-title jumbo">Select Provider:</span> <span class="component-title">Select provider:</span>
<span class="component-desc"> <span class="component-desc">
<input type="hidden" name="torrentrss_string" id="torrentrss_string" /> <input type="hidden" name="torrentrss_string" id="torrentrss_string" />
<select id="editATorrentRssProvider"> <select id="editATorrentRssProvider" class="form-control input-sm">
<option value="addTorrentRss">-- add new provider --</option> <option value="addTorrentRss">-- add new provider --</option>
</select> </select>
</span> </span>
@ -620,23 +671,23 @@ var show_nzb_providers = #if $sickbeard.USE_NZBS then "true" else "false"#;
<div class="torrentRssProviderDiv" id="addTorrentRss"> <div class="torrentRssProviderDiv" id="addTorrentRss">
<div class="field-pair"> <div class="field-pair">
<label class="nocheck clearfix"> <label for="torrentrss_name">
<span class="component-title">Provider Name:</span> <span class="component-title">Provider name:</span>
<input class="component-desc" type="text" id="torrentrss_name" size="20" /> <input type="text" id="torrentrss_name" class="form-control input-sm input200" />
</label> </label>
</div> </div>
<div class="field-pair"> <div class="field-pair">
<label class="nocheck clearfix"> <label for="torrentrss_url">
<span class="component-title">RSS URL:</span> <span class="component-title">RSS URL:</span>
<input class="component-desc" type="text" id="torrentrss_url" size="40" /> <input type="text" id="torrentrss_url" class="form-control input-sm input350" />
</label> </label>
</div> </div>
<div class="field-pair"> <div class="field-pair">
<label class="nocheck clearfix"> <label for="torrentrss_cookies">
<span class="component-title">Cookies:</span> <span class="component-title">Cookies:</span>
<input class="component-desc" type="text" id="torrentrss_cookies" size="40" /> <input type="text" id="torrentrss_cookies" class="form-control input-sm input350" />
</label> </label>
<label class="nocheck clearfix"> <label>
<span class="component-title">&nbsp;</span> <span class="component-title">&nbsp;</span>
<span class="component-desc">eg. uid=xx;pass=yy</span> <span class="component-desc">eg. uid=xx;pass=yy</span>
</label> </label>
@ -658,8 +709,9 @@ var show_nzb_providers = #if $sickbeard.USE_NZBS then "true" else "false"#;
</div><!-- /config-components //--> </div><!-- /config-components //-->
</form> </form>
</div></div></div> </div>
<div class="clearfix"></div> </div>
<script type="text/javascript" charset="utf-8"> <script type="text/javascript" charset="utf-8">
<!-- <!--
jQuery('#config-components').tabs(); jQuery('#config-components').tabs();

View File

@ -1,22 +1,26 @@
#import sickbeard #import sickbeard
#from sickbeard import clients #from sickbeard import clients
#set global $title="Config - Episode Search" #set global $title = 'Config - Episode Search'
#set global $header="Search Options" #set global $header = 'Search Settings'
#set global $sbPath="../.." #set global $sbPath = '../..'
#set global $topmenu="config"# #set global $topmenu = 'config'
#import os.path #import os.path
#include $os.path.join($sickbeard.PROG_DIR, "gui/slick/interfaces/default/inc_top.tmpl") #include $os.path.join($sickbeard.PROG_DIR, 'gui/slick/interfaces/default/inc_top.tmpl')
<script type="text/javascript" src="$sbRoot/js/configSearch.js?$sbPID"></script> <script type="text/javascript" src="$sbRoot/js/configSearch.js?$sbPID"></script>
<script type="text/javascript" src="$sbRoot/js/config.js?$sbPID"></script> <script type="text/javascript" src="$sbRoot/js/config.js?$sbPID"></script>
<div id="content960">
#if $varExists('header') #if $varExists('header')
<h1 class="header">$header</h1> <h1 class="header">$header</h1>
#else #else
<h1 class="title">$title</h1> <h1 class="title">$title</h1>
#end if #end if
#set $html_selected = ' selected="selected"'
#set $html_checked = 'checked="checked" '
<div id="config"> <div id="config">
<div id="config-content"> <div id="config-content">
@ -30,36 +34,33 @@
</ul> </ul>
<div id="core-component-group1" class="component-group clearfix"> <div id="core-component-group1" class="component-group">
<div class="component-group-desc"> <div class="component-group-desc">
<h3>Episode Search</h3> <h3>Episode Search</h3>
<p>Settings that dictate how and when episode searching works with <a href="$sbRoot/config/providers">Providers</a>.</p> <p>How to manage searching with <a href="$sbRoot/config/providers">providers</a>.</p>
</div> </div>
<fieldset class="component-group-list"> <fieldset class="component-group-list">
<div class="field-pair"> <div class="field-pair">
<input type="checkbox" name="download_propers" id="download_propers" class="enabler" #if $sickbeard.DOWNLOAD_PROPERS == True then "checked=\"checked\"" else ""# /> <label for="download_propers">
<label class="clearfix" for="download_propers"> <span class="component-title">Download propers</span>
<span class="component-title">Download Propers</span> <span class="component-desc">
<span class="component-desc">Replace original download with "Proper/Repack" if nuked?</span> <input type="checkbox" name="download_propers" id="download_propers" class="enabler" <%= html_checked if sickbeard.DOWNLOAD_PROPERS == True else '' %>/>
<p>replace original download with "Proper" or "Repack" if nuked</p>
</span>
</label> </label>
</div> </div>
<div id="content_download_propers"> <div id="content_download_propers">
<div class="field-pair"> <div class="field-pair">
<label class="nocheck clearfix" for="check_propers_interval"> <label for="check_propers_interval">
<span class="component-title">Check Propers Every:</span> <span class="component-title">Check propers every:</span>
<span class="component-desc"> <span class="component-desc">
<select id="check_propers_interval" name="check_propers_interval"> <select id="check_propers_interval" name="check_propers_interval" class="form-control input-sm">
#set $check_propers_interval_text = {'daily': "24 hours", '4h': "4 hours", '90m': "90 mins", '45m': "45 mins", '15m': "15 mins"} #set $check_propers_interval_text = {'daily': "24 hours", '4h': "4 hours", '90m': "90 mins", '45m': "45 mins", '15m': "15 mins"}
#for $curInterval in ('daily', '4h', '90m', '45m', '15m'): #for $curInterval in ('daily', '4h', '90m', '45m', '15m'):
#if $sickbeard.CHECK_PROPERS_INTERVAL == $curInterval: #set $selected = $html_selected if $sickbeard.CHECK_PROPERS_INTERVAL == $curInterval else ''
#set $selMode = " selected=\"selected\"" <option value="$curInterval"$selected>$check_propers_interval_text[$curInterval]</option>
#else
#set $selMode = ""
#end if
<option value="$curInterval"$selMode>$check_propers_interval_text[$curInterval]</option>
#end for #end for
</select> </select>
</span> </span>
@ -68,138 +69,128 @@
</div> </div>
<div class="field-pair"> <div class="field-pair">
<label class="nocheck clearfix"> <label>
<span class="component-title">Backlog Search Day(s)</span> <span class="component-title">Backlog search day(s)</span>
<input type="text" name="backlog_days" value="$sickbeard.BACKLOG_DAYS" size="5" /> <span class="component-desc">
</label> <input type="text" name="backlog_days" value="$sickbeard.BACKLOG_DAYS" class="form-control input-sm input75" />
<label class="nocheck clearfix"> <p>number of day(s) that the search will cover (e.g. 7)</p>
<span class="component-title">&nbsp;</span> </span>
<span class="component-desc">Day(s) to search from (eg. 7)</span>
</label> </label>
</div> </div>
<div class="field-pair"> <div class="field-pair">
<label class="nocheck clearfix"> <label>
<span class="component-title">Backlog Search Frequency</span> <span class="component-title">Backlog search frequency</span>
<input type="text" name="backlog_frequency" value="$sickbeard.BACKLOG_FREQUENCY" size="5" /> <span class="component-desc">
</label> <input type="text" name="backlog_frequency" value="$sickbeard.BACKLOG_FREQUENCY" class="form-control input-sm input75" />
<label class="nocheck clearfix"> <p>time in minutes between searches (min. $sickbeard.MIN_BACKLOG_FREQUENCY)</p>
<span class="component-title">&nbsp;</span> </span>
<span class="component-desc">Time in minutes between searches (min. $sickbeard.MIN_BACKLOG_FREQUENCY)</span>
</label> </label>
</div> </div>
<div class="field-pair"> <div class="field-pair">
<label class="nocheck clearfix"> <label>
<span class="component-title">Daily Search Frequency</span> <span class="component-title">Daily search frequency</span>
<input type="text" name="dailysearch_frequency" value="$sickbeard.DAILYSEARCH_FREQUENCY" size="5" /> <span class="component-desc">
</label> <input type="text" name="dailysearch_frequency" value="$sickbeard.DAILYSEARCH_FREQUENCY" class="form-control input-sm input75" />
<label class="nocheck clearfix"> <p>time in minutes between searches (min. $sickbeard.MIN_DAILYSEARCH_FREQUENCY)</p>
<span class="component-title">&nbsp;</span> </span>
<span class="component-desc">Time in minutes between searches (min. $sickbeard.MIN_DAILYSEARCH_FREQUENCY)</span>
</label> </label>
</div> </div>
<div class="field-pair"> <div class="field-pair">
<label class="nocheck clearfix"> <label>
<span class="component-title">Usenet Retention</span> <span class="component-title">Usenet retention</span>
<input type="text" name="usenet_retention" value="$sickbeard.USENET_RETENTION" size="5" /> <span class="component-desc">
</label> <input type="text" name="usenet_retention" value="$sickbeard.USENET_RETENTION" class="form-control input-sm input75" />
<label class="nocheck clearfix"> <p>age limit in days for usenet articles to be used (e.g. 500)</p>
<span class="component-title">&nbsp;</span> </span>
<span class="component-desc">Age limit in days for usenet articles to be used. (eg. 500)</span>
</label> </label>
</div> </div>
<div class="field-pair"> <div class="field-pair">
<label class="nocheck clearfix"> <label>
<span class="component-title">Ignore Words</span> <span class="component-title">Ignore words</span>
<input type="text" name="ignore_words" value="$sickbeard.IGNORE_WORDS" size="45" /> <span class="component-desc">
</label> <input type="text" name="ignore_words" value="$sickbeard.IGNORE_WORDS" class="form-control input-sm input350" />
<label class="nocheck clearfix"> <div class="clear-left">results containing any word in the comma separated word list will be ignored</div>
<span class="component-title">&nbsp;</span> </span>
<span class="component-desc">Comma separated words to check in episode search.</span>
</label>
<label class="nocheck clearfix">
<span class="component-title">&nbsp;</span>
<span class="component-desc">Results containing any word in the list won't be snatched.</span>
</label> </label>
</div> </div>
<div class="field-pair"> <div class="field-pair">
<label class="nocheck clearfix"> <label>
<span class="component-title">Require Words</span> <span class="component-title">Require words</span>
<input type="text" name="require_words" value="$sickbeard.REQUIRE_WORDS" size="45" /> <span class="component-desc">
</label> <input type="text" name="require_words" value="$sickbeard.REQUIRE_WORDS" class="form-control input-sm input350" />
<label class="nocheck clearfix"> <div class="clear-left">results not containing all words in the comma separated word list will be ignored</div>
<span class="component-title">&nbsp;</span> </span>
<span class="component-desc">Comma separated words to check in episode search.</span>
</label>
<label class="nocheck clearfix">
<span class="component-title">&nbsp;</span>
<span class="component-desc">Results not containing all words in the list won't be snatched.</span>
</label> </label>
</div> </div>
<div class="field-pair"> <div class="field-pair">
<input type="checkbox" name="allow_high_priority" id="allow_high_priority" #if $sickbeard.ALLOW_HIGH_PRIORITY == True then "checked=\"checked\"" else ""# /> <label for="allow_high_priority">
<label class="clearfix" for="allow_high_priority">
<span class="component-title">Allow high priority</span> <span class="component-title">Allow high priority</span>
<span class="component-desc">Set high priority for downloads of recently aired episodes?</span> <span class="component-desc">
</label> <input type="checkbox" name="allow_high_priority" id="allow_high_priority" <%= html_checked if sickbeard.ALLOW_HIGH_PRIORITY == True else '' %>/>
</div> <p>set downloads of recently aired episodes to high priority</p>
<div class="field-pair"> </span>
<input type="checkbox" name="dailysearch_startup" id="dailysearch_startup" #if $sickbeard.DAILYSEARCH_STARTUP == True then "checked=\"checked\"" else ""# />
<label class="clearfix" for="dailysearch_startup">
<span class="component-title">Daily Search on startup</span>
<span class="component-desc">Start daily search upon startup of SickRage?</span>
</label>
</div>
<div class="field-pair">
<input type="checkbox" name="backlog_startup" id="backlog_startup" #if $sickbeard.BACKLOG_STARTUP == True then "checked=\"checked\"" else ""# />
<label class="clearfix" for="backlog_startup">
<span class="component-title">Process backlog on startup</span>
<span class="component-desc">Start processing backlogged episodes upon startup of SickRage?</span>
</label> </label>
</div> </div>
<div class="clearfix"></div> <div class="field-pair">
<input type="submit" class="btn config_submitter" value="Save Changes" /><br/> <label for="dailysearch_startup">
<span class="component-title">Daily search on startup</span>
<span class="component-desc">
<input type="checkbox" name="dailysearch_startup" id="dailysearch_startup" <%= html_checked if sickbeard.DAILYSEARCH_STARTUP == True else '' %>/>
<p>start daily search on startup of SickRage</p>
</span>
</label>
</div>
<div class="field-pair">
<label for="backlog_startup">
<span class="component-title">Run backlog on startup</span>
<span class="component-desc">
<input type="checkbox" name="backlog_startup" id="backlog_startup" <%= html_checked if sickbeard.BACKLOG_STARTUP == True else '' %>/>
<p>start processing backlogged episodes on startup of SickRage</p>
</span>
</label>
</div>
<input type="submit" class="btn config_submitter" value="Save Changes" />
</fieldset> </fieldset>
</div><!-- /component-group1 //--> </div><!-- /component-group1 //-->
<div id="core-component-group2" class="component-group clearfix"> <div id="core-component-group2" class="component-group">
<div class="component-group-desc"> <div class="component-group-desc">
<h3>NZB Search</h3> <h3>NZB Search</h3>
<p>Settings that dictate how SickRage handles NZB search results.</p> <p>How to handle NZB search results.</p>
</div> </div>
<fieldset class="component-group-list"> <fieldset class="component-group-list">
<div class="field-pair"> <div class="field-pair">
<input type="checkbox" name="use_nzbs" class="enabler" id="use_nzbs" #if $sickbeard.USE_NZBS then "checked=\"checked\"" else ""# /> <label for="use_nzbs">
<label class="clearfix" for="use_nzbs">
<span class="component-title">Search NZBs</span> <span class="component-title">Search NZBs</span>
<span class="component-desc">Should SickRage search for NZB files?</span> <span class="component-desc">
<input type="checkbox" name="use_nzbs" class="enabler" id="use_nzbs" <%= html_checked if sickbeard.USE_NZBS else '' %>/>
<p>enable NZB search providers</p></span>
</label> </label>
</div> </div>
<div id="content_use_nzbs"> <div id="content_use_nzbs">
<div class="field-pair"> <div class="field-pair">
<label class="clearfix" for="nzb_method"> <label for="nzb_method">
<span class="component-title jumbo">NZB Method:</span> <span class="component-title">Send .nzb files to:</span>
<span class="component-desc"> <span class="component-desc">
<select name="nzb_method" id="nzb_method"> <select name="nzb_method" id="nzb_method" class="form-control input-sm">
#set $nzb_method_text = {'blackhole': "Black hole", 'sabnzbd': "SABnzbd", 'nzbget': "NZBget"} #set $nzb_method_text = {'blackhole': "Black hole", 'sabnzbd': "SABnzbd", 'nzbget': "NZBget"}
#for $curAction in ('sabnzbd', 'blackhole', 'nzbget'): #for $curAction in ('sabnzbd', 'blackhole', 'nzbget'):
#if $sickbeard.NZB_METHOD == $curAction: #set $selected = $html_selected if $sickbeard.NZB_METHOD == $curAction else ''
#set $nzb_method = "selected=\"selected\"" <option value="$curAction"$selected>$nzb_method_text[$curAction]</option>
#else
#set $nzb_method = ""
#end if
<option value="$curAction" $nzb_method>$nzb_method_text[$curAction]</option>
#end for #end for
</select> </select>
</span> </span>
@ -208,212 +199,161 @@
<div id="blackhole_settings"> <div id="blackhole_settings">
<div class="field-pair"> <div class="field-pair">
<label class="nocheck clearfix"> <label>
<span class="component-title">NZB Black Hole</span> <span class="component-title">Black hole folder location</span>
<input type="text" name="nzb_dir" id="nzb_dir" value="$sickbeard.NZB_DIR" size="35" /> <span class="component-desc">
</label> <input type="text" name="nzb_dir" id="nzb_dir" value="$sickbeard.NZB_DIR" class="form-control input-sm input350" />
<label class="nocheck clearfix"> <div class="clear-left"><p><b>.nzb</b> files are stored at this location for external software to find and use</p></div>
<span class="component-title">&nbsp;</span> </span>
<span class="component-desc">The directory where SickRage should store your <i>NZB</i> files.</span>
</label> </label>
</div> </div>
</div> </div>
<div id="sabnzbd_settings"> <div id="sabnzbd_settings">
<div class="field-pair"> <div class="field-pair">
<label class="nocheck clearfix"> <label>
<span class="component-title">SABnzbd URL</span> <span class="component-title">SABnzbd server URL</span>
<input type="text" id="sab_host" name="sab_host" value="$sickbeard.SAB_HOST" size="45" /> <span class="component-desc">
</label> <input type="text" id="sab_host" name="sab_host" value="$sickbeard.SAB_HOST" class="form-control input-sm input350" />
<label class="nocheck clearfix"> <div class="clear-left"><p>URL to your SABnzbd server (e.g. http://localhost:8080/)</p></div>
<span class="component-title">&nbsp;</span> </span>
<span class="component-desc">URL to your SABnzbd+ install</span>
</label>
<label class="nocheck clearfix">
<span class="component-title">&nbsp;</span>
<span class="component-desc">(eg. http://localhost:8000/)</span>
</label> </label>
</div> </div>
<div class="field-pair"> <div class="field-pair">
<label class="nocheck clearfix"> <label>
<span class="component-title">SABnzbd Username</span> <span class="component-title">SABnzbd username</span>
<input type="text" name="sab_username" id="sab_username" value="$sickbeard.SAB_USERNAME" size="20" /> <span class="component-desc">
</label> <input type="text" name="sab_username" id="sab_username" value="$sickbeard.SAB_USERNAME" class="form-control input-sm input200" />
<label class="nocheck clearfix"> <p>(blank for none)</p>
<span class="component-title">&nbsp;</span> </span>
<span class="component-desc">Username of your SABnzbd+ server (blank for none)</span>
</label> </label>
</div> </div>
<div class="field-pair"> <div class="field-pair">
<label class="nocheck clearfix"> <label>
<span class="component-title">SABnzbd Password</span> <span class="component-title">SABnzbd password</span>
<input type="password" name="sab_password" id="sab_password" value="$sickbeard.SAB_PASSWORD" size="20" /> <span class="component-desc">
</label> <input type="password" name="sab_password" id="sab_password" value="$sickbeard.SAB_PASSWORD" class="form-control input-sm input200" />
<label class="nocheck clearfix"> <p>(blank for none)</p>
<span class="component-title">&nbsp;</span> </span>
<span class="component-desc">Password of your SABnzbd+ server (blank for none)</span>
</label> </label>
</div> </div>
<div class="field-pair"> <div class="field-pair">
<label class="nocheck clearfix"> <label>
<span class="component-title">SABnzbd API Key</span> <span class="component-title">SABnzbd API key</span>
<input type="text" name="sab_apikey" id="sab_apikey" value="$sickbeard.SAB_APIKEY" size="45" /> <span class="component-desc">
</label> <input type="text" name="sab_apikey" id="sab_apikey" value="$sickbeard.SAB_APIKEY" class="form-control input-sm input350" />
<label class="nocheck clearfix"> <div class="clear-left"><p>locate at... SABnzbd Config -> General -> API Key</p></div>
<span class="component-title">&nbsp;</span> </span>
<span class="component-desc">SABnzbd+ Config -> General -> API Key.</span>
</label> </label>
</div> </div>
<div class="field-pair"> <div class="field-pair">
<label class="nocheck clearfix"> <label>
<span class="component-title">SABnzbd Category</span> <span class="component-title">Use SABnzbd category</span>
<input type="text" name="sab_category" id="sab_category" value="$sickbeard.SAB_CATEGORY" size="20" /> <span class="component-desc">
</label> <input type="text" name="sab_category" id="sab_category" value="$sickbeard.SAB_CATEGORY" class="form-control input-sm input200" />
<label class="nocheck clearfix"> <p>add downloads to this category (e.g. TV)</p>
<span class="component-title">&nbsp;</span> </span>
<span class="component-desc">Category for downloads to go into (eg. TV)</span>
</label> </label>
</div> </div>
</div> </div>
<div id="nzbget_settings"> <div id="nzbget_settings">
<div class="field-pair"> <div class="field-pair">
<input id="nzbget_use_https" type="checkbox" class="enabler" name="nzbget_use_https" #if $sickbeard.NZBGET_USE_HTTPS == True then "checked=\"checked\"" else ""# /> <label for="nzbget_use_https">
<label class="clearfix" for="use_failed_downloads"> <span class="component-title">Connect using HTTPS</span>
<span class="component-title">Use HTTPS (SSL)</span> <span class="component-desc">
<span class="component-desc">Use HTTPS to connect to NZBGet?</span> <input id="nzbget_use_https" type="checkbox" class="enabler" name="nzbget_use_https" <%= html_checked if sickbeard.NZBGET_USE_HTTPS == True else '' %>/>
<p><b>note:</b> enable Secure control in NZBGet and set the correct Secure Port here</p>
</span>
</label> </label>
<label class="nocheck clearfix" for="nzbget_use_https">
<span class="component-title">&nbsp;</span> </div>
<span class="component-desc"><b>NOTE:</b> You have to enable Secure control in NZBGet and set the correct Secure Port here.</span>
<div class="field-pair">
<label>
<span class="component-title">NZBget host:port</span>
<span class="component-desc">
<input type="text" name="nzbget_host" id="nzbget_host" value="$sickbeard.NZBGET_HOST" class="form-control input-sm input350" />
<p>(e.g. localhost:6789)</p>
<div class="clear-left"><p>NZBget RPC host name and port number (not NZBgetweb!)</p></div>
</span>
</label> </label>
</div> </div>
<div class="field-pair"> <div class="field-pair">
<label class="nocheck clearfix"> <label>
<span class="component-title">NZBget HOST:PORT</span> <span class="component-title">NZBget username</span>
<input type="text" name="nzbget_host" id="nzbget_host" value="$sickbeard.NZBGET_HOST" size="45" /> <span class="component-desc">
</label> <input type="text" name="nzbget_username" value="$sickbeard.NZBGET_USERNAME" class="form-control input-sm input200" />
<label class="nocheck clearfix"> <p>locate in nzbget.conf (default:nzbget)</p>
<span class="component-title">&nbsp;</span> </span>
<span class="component-desc">Hostname and portnumber of the NZBget RPC (not NZBgetweb!)</span>
</label>
<label class="nocheck clearfix">
<span class="component-title">&nbsp;</span>
<span class="component-desc">(eg. localhost:6789)</span>
</label> </label>
</div> </div>
<div class="field-pair"> <div class="field-pair">
<label class="nocheck clearfix"> <label>
<span class="component-title">NZBget Username</span> <span class="component-title">NZBget password</span>
<input type="text" name="nzbget_username" value="$sickbeard.NZBGET_USERNAME" size="20" /> <span class="component-desc">
</label> <input type="password" name="nzbget_password" id="nzbget_password" value="$sickbeard.NZBGET_PASSWORD" class="form-control input-sm input200" />
<label class="nocheck clearfix"> <p>locate in nzbget.conf (default:tegbzn6789)</p>
<span class="component-title">&nbsp;</span> </span>
<span class="component-desc">Username found in nzbget.conf (by default nzbget)</span>
</label> </label>
</div> </div>
<div class="field-pair"> <div class="field-pair">
<label class="nocheck clearfix"> <label>
<span class="component-title">NZBget Password</span> <span class="component-title">Use NZBget category</span>
<input type="password" name="nzbget_password" id="nzbget_password" value="$sickbeard.NZBGET_PASSWORD" size="20" /> <span class="component-desc">
</label> <input type="text" name="nzbget_category" id="nzbget_category" value="$sickbeard.NZBGET_CATEGORY" class="form-control input-sm input200" />
<label class="nocheck clearfix"> <p>send downloads marked this category (e.g. TV)</p>
<span class="component-title">&nbsp;</span> </span>
<span class="component-desc">Password found in nzbget.conf (by default tegbzn6789)</span>
</label> </label>
</div> </div>
<div class="field-pair">
<label class="nocheck clearfix">
<span class="component-title">NZBget Category</span>
<input type="text" name="nzbget_category" id="nzbget_category" value="$sickbeard.NZBGET_CATEGORY" size="20" />
</label>
<label class="nocheck clearfix">
<span class="component-title">&nbsp;</span>
<span class="component-desc">Category for downloads to go into (eg. TV)</span>
</label>
</div>
#if $sickbeard.NZBGET_PRIORITY == -100:
#set $prio_verylow = 'selected="selected"'
#set $prio_low = ''
#set $prio_normal = ''
#set $prio_high = ''
#set $prio_veryhigh = ''
#set $prio_force = ''
#elif $sickbeard.NZBGET_PRIORITY == -50:
#set $prio_verylow = ''
#set $prio_low = 'selected="selected"'
#set $prio_normal = ''
#set $prio_high = ''
#set $prio_veryhigh = ''
#set $prio_force = ''
#elif $sickbeard.NZBGET_PRIORITY == 0:
#set $prio_verylow = ''
#set $prio_low = ''
#set $prio_normal = 'selected="selected"'
#set $prio_high = ''
#set $prio_veryhigh = ''
#set $prio_force = ''
#elif $sickbeard.NZBGET_PRIORITY == 50:
#set $prio_verylow = ''
#set $prio_low = ''
#set $prio_normal = ''
#set $prio_high = 'selected="selected"'
#set $prio_veryhigh = ''
#set $prio_force = ''
#elif $sickbeard.NZBGET_PRIORITY == 100:
#set $prio_verylow = ''
#set $prio_low = ''
#set $prio_normal = ''
#set $prio_high = ''
#set $prio_veryhigh = 'selected="selected"'
#set $prio_force = ''
#elif $sickbeard.NZBGET_PRIORITY == 900:
#set $prio_verylow = '' #set $prio_verylow = ''
#set $prio_low = '' #set $prio_low = ''
#set $prio_normal = '' #set $prio_normal = ''
#set $prio_high = '' #set $prio_high = ''
#set $prio_veryhigh = '' #set $prio_veryhigh = ''
#set $prio_force = 'selected="selected"' #set $prio_force = ''
#if -100 == $sickbeard.NZBGET_PRIORITY:
#set $prio_verylow = $html_selected
#elif -50 == $sickbeard.NZBGET_PRIORITY:
#set $prio_low = $html_selected
#elif 0 == $sickbeard.NZBGET_PRIORITY:
#set $prio_normal = $html_selected
#elif 50 == $sickbeard.NZBGET_PRIORITY:
#set $prio_high = $html_selected
#elif 100 == $sickbeard.NZBGET_PRIORITY:
#set $prio_veryhigh = $html_selected
#elif 900 == $sickbeard.NZBGET_PRIORITY:
#set $prio_force = $html_selected
#else: #else:
#set $prio_verylow = '' #set $prio_normal = $html_selected
#set $prio_low = ''
#set $prio_normal = 'selected="selected"'
#set $prio_high = ''
#set $prio_veryhigh = ''
#set $prio_force = ''
#end if #end if
<div class="field-pair"> <div class="field-pair">
<label class="nocheck clearfix"> <label>
<span class="component-title">NZBget Priority</span> <span class="component-title">NZBget priority</span>
<select name="nzbget_priority" id="nzbget_priority"> <span class="component-desc">
<option value="-100" ${prio_verylow}>Very Low</option> <select name="nzbget_priority" id="nzbget_priority" class="form-control input-sm">
<option value="-100"${prio_verylow}>Very low</option>
<option value="-50"${prio_low}>Low</option> <option value="-50"${prio_low}>Low</option>
<option value="0"${prio_normal}>Normal</option> <option value="0"${prio_normal}>Normal</option>
<option value="50"${prio_high}>High</option> <option value="50"${prio_high}>High</option>
<option value="100" ${prio_veryhigh}>Very High</option> <option value="100"${prio_veryhigh}>Very high</option>
<option value="900"${prio_force}>Force</option> <option value="900"${prio_force}>Force</option>
</select> </select>
</label> <span>priority for daily snatches (no backlog)</span>
<label class="nocheck clearfix"> </span>
<span class="component-title">&nbsp;</span>
<span class="component-desc">Priority for daily snatches (no backlog)</span>
</label> </label>
</div> </div>
</div> </div>
<div class="clearfix"></div> <div class="testNotification" id="testSABnzbd_result">Click below to test</div>
<div class="testNotification" id="testSABnzbd-result">Click below to test.</div>
<input class="btn" type="button" value="Test SABnzbd" id="testSABnzbd" class="btn test-button"/> <input class="btn" type="button" value="Test SABnzbd" id="testSABnzbd" class="btn test-button"/>
<input type="submit" class="btn config_submitter" value="Save Changes" /><br/> <input type="submit" class="btn config_submitter" value="Save Changes" /><br/>
@ -422,201 +362,180 @@
</fieldset> </fieldset>
</div><!-- /component-group2 //--> </div><!-- /component-group2 //-->
<div id="core-component-group3" class="component-group clearfix"> <div id="core-component-group3" class="component-group">
<div class="component-group-desc"> <div class="component-group-desc">
<h3>Torrent Search</h3> <h3>Torrent Search</h3>
<p>Settings that dictate how SickRage handles Torrent search results.</p> <p>How to handle Torrent search results.</p>
</div> </div>
<fieldset class="component-group-list"> <fieldset class="component-group-list">
<div class="field-pair"> <div class="field-pair">
<input type="checkbox" name="use_torrents" class="enabler" id="use_torrents" #if $sickbeard.USE_TORRENTS == True then "checked=\"checked\"" else ""# />
<label class="clearfix" for="use_torrents"> <label for="use_torrents">
<span class="component-title">Search Torrents</span> <span class="component-title">Search torrents</span>
<span class="component-desc">Should SickRage search for torrent files?</span> <span class="component-desc">
<input type="checkbox" name="use_torrents" class="enabler" id="use_torrents" <%= html_checked if sickbeard.USE_TORRENTS == True else '' %>/>
<p>enable torrent search providers</p>
</span>
</label> </label>
</div> </div>
<div id="content_use_torrents"> <div id="content_use_torrents">
<div class="field-pair"> <div class="field-pair">
<label class="clearfix" for="torrent_method"> <label for="torrent_method">
<span class="component-title jumbo">TORRENT Method</span> <span class="component-title">Send .torrent files to:</span>
<span class="component-desc"> <span class="component-desc">
<select name="torrent_method" id="torrent_method"> <select name="torrent_method" id="torrent_method" class="form-control input-sm">
#set $torrent_method_text = {'blackhole': "Black hole", 'utorrent': "uTorrent", 'transmission': "Transmission", 'deluge': "Deluge", 'download_station': "Synology DS", 'rtorrent': "rTorrent"} #set $torrent_method_text = {'blackhole': "Black hole", 'utorrent': "uTorrent", 'transmission': "Transmission", 'deluge': "Deluge", 'download_station': "Synology DS", 'rtorrent': "rTorrent"}
#for $curAction in ('blackhole', 'utorrent', 'transmission', 'deluge', 'download_station', 'rtorrent'): #for $curAction in ('blackhole', 'utorrent', 'transmission', 'deluge', 'download_station', 'rtorrent'):
#if $sickbeard.TORRENT_METHOD == $curAction: #set $selected = $html_selected if $sickbeard.TORRENT_METHOD == $curAction else ''
#set $torrent_method = "selected=\"selected\"" <option value="$curAction"$selected>$torrent_method_text[$curAction]</option>
#else
#set $torrent_method = ""
#end if
<option value="$curAction" $torrent_method>$torrent_method_text[$curAction]</option>
#end for #end for
</select> </select>
</label> </label>
<div id="t_blackhole_settings"> <div id="options_torrent_blackhole">
<div class="field-pair"> <div class="field-pair">
<label class="nocheck clearfix"> <label>
<span class="component-title">TORRENT Black Hole</span> <span class="component-title">Black hole folder location</span>
<input type="text" name="torrent_dir" id="torrent_dir" value="$sickbeard.TORRENT_DIR" size="35" /> <span class="component-desc">
</label> <input type="text" name="torrent_dir" id="torrent_dir" value="$sickbeard.TORRENT_DIR" class="form-control input-sm input350" />
<label class="nocheck clearfix"> <div class="clear-left"><p><b>.torrent</b> files are stored at this location for external software to find and use</p></div>
<span class="component-title">&nbsp;</span> </span>
<span class="component-desc">The directory where SickRage should store your <i>Torrent</i> files.</span>
</label> </label>
</div> </div>
<div class="clearfix"></div> <div></div>
<input type="submit" class="btn config_submitter" value="Save Changes" /><br/> <input type="submit" class="btn config_submitter" value="Save Changes" /><br/>
</div>
</div>
<div id="options_torrent_clients">
<div class="field-pair">
<label>
<span class="component-title" id="host_title">Torrent host:port</span>
<span class="component-desc">
<input type="text" name="torrent_host" id="torrent_host" value="$sickbeard.TORRENT_HOST" class="form-control input-sm input350" />
<div class="clear-left">
<p id="host_desc_torrent">URL to your torrent client (e.g. http://localhost:8000/)</p>
<p id="host_desc_rtorrent" style="display:none"><b>Note:</b> <i>rTorrent</i> client URLs use e.g. scgi://localhost:5000/</p>
</div>
</span>
</label>
</div>
<div class="field-pair" id="torrent_verify_cert_option">
<label for="torrent_verify_cert">
<span class="component-title">Verify certificate</span>
<span class="component-desc">
<input type="checkbox" name="torrent_verify_cert" class="enabler" id="torrent_verify_cert" <%= html_checked if sickbeard.TORRENT_VERIFY_CERT == True else '' %>/>
<p>disable if you get "Deluge: Authentication Error" in your log</p>
</span>
</label>
</div>
<div class="field-pair">
<label>
<span class="component-title" id="username_title">Client username</span>
<span class="component-desc">
<input type="text" name="torrent_username" id="torrent_username" value="$sickbeard.TORRENT_USERNAME" class="form-control input-sm input200" />
<p>(blank for none)</p>
</span>
</label>
</div>
<div class="field-pair">
<label>
<span class="component-title" id="password_title">Client password</span>
<span class="component-desc">
<input type="password" name="torrent_password" id="torrent_password" value="$sickbeard.TORRENT_PASSWORD" class="form-control input-sm input200" />
<p>(blank for none)</p>
</span>
</label>
</div>
<div class="field-pair" id="torrent_label_option">
<label>
<span class="component-title">Add label to torrent</span>
<span class="component-desc">
<input type="text" name="torrent_label" id="torrent_label" value="$sickbeard.TORRENT_LABEL" class="form-control input-sm input200" />
<span id="label_warning_deluge" style="display:none"><p>(blank spaces are not allowed)</p>
<div class="clear-left"><p>note: label plugin must be enabled in Deluge clients</p></div>
</span>
</span>
</label>
</div>
<div class="field-pair" id="torrent_path_option">
<label>
<span class="component-title" id="directory_title">Downloaded files location</span>
<span class="component-desc">
<input type="text" name="torrent_path" id="torrent_path" value="$sickbeard.TORRENT_PATH" class="form-control input-sm input350" />
<div class="clear-left"><p>where <span id="torrent_client">the torrent client</span> will save downloaded files (blank for client default)
<span id="path_synology"> <b>note:</b> the destination has to be a shared folder for Synology DS</span></p>
</div>
</span>
</label>
</div>
<div class="field-pair" id="torrent_seed_time_option">
<label>
<span class="component-title">Minimum seeding time is</span>
<span class="component-desc"><input type="number" step="0.1" name="torrent_seed_time" id="torrent_seed_time" value="$sickbeard.TORRENT_SEED_TIME" class="form-control input-sm input100" />
<p>hours. (default:'0' passes blank to client and '-1' passes nothing)</p></span>
</label>
</div>
<div class="field-pair" id="torrent_paused_option">
<label>
<span class="component-title">Start torrent paused</span>
<span class="component-desc">
<input type="checkbox" name="torrent_paused" class="enabler" id="torrent_paused" <%= html_checked if sickbeard.TORRENT_PAUSED == True else '' %>/>
<p>add .torrent to client but do <b style="font-weight:900">not</b> start downloading</p>
</span>
</label>
</div>
<div class="field-pair" id="torrent_high_bandwidth_option">
<label>
<span class="component-title">Allow high bandwidth</span>
<span class="component-desc">
<input type="checkbox" name="torrent_high_bandwidth" class="enabler" id="torrent_high_bandwidth" <%= html_checked if sickbeard.TORRENT_HIGH_BANDWIDTH == True else '' %>/>
<p>use high bandwidth allocation if priority is high</p>
</span>
</label>
</div>
<div class="testNotification" id="test_torrent_result">Click below to test</div>
<input class="btn" type="button" value="Test Connection" id="test_torrent" class="btn test-button"/>
<input type="submit" class="btn config_submitter" value="Save Changes" /><br/>
</div>
</div><!-- /content_use_torrents //--> </div><!-- /content_use_torrents //-->
</div>
<div id="torrent_settings">
<div class="field-pair">
<label class="nocheck clearfix">
<span class="component-title" id="host_desc">Torrent HOST</span>
<input type="text" name="torrent_host" id="torrent_host" value="$sickbeard.TORRENT_HOST" size="45" />
</label>
<label class="nocheck clearfix">
<span class="component-title">&nbsp;</span>
<span class="component-desc">URL to your Torrent Client (eg. http://localhost:8000/)</span>
</label>
<label class="nocheck clearfix">
<span class="component-title">&nbsp;</span>
<span class="component-desc"><b>Note:</b> <i>rTorrent</i> users need to use scgi://localhost:5000/</span>
</label>
</div>
<div class="field-pair" id="Torrent_Verify_Cert">
<input type="checkbox" name="torrent_verify_cert" class="enabler" id="torrent_verify_cert" #if $sickbeard.TORRENT_VERIFY_CERT == True then "checked=\"checked\"" else ""# />
<label class="nocheck clearfix" for="torrent_verify_cert">
<span class="component-title" id="torrent_verify_cert_desc">Verify Certificate</span>
<span class="component-desc">Disable if you get "Deluge: Authentication Error" in your log</span>
</label>
</div>
<div class="field-pair" id="Torrent_username">
<label class="nocheck clearfix">
<span class="component-title" id="username_desc">Torrent Username</span>
<input type="text" name="torrent_username" id="torrent_username" value="$sickbeard.TORRENT_USERNAME" size="20" />
</label>
<label class="nocheck clearfix">
<span class="component-title">&nbsp;</span>
<span class="component-desc">Username of your Torrent Client (blank for none)</span>
</label>
</div>
<div class="field-pair">
<label class="nocheck clearfix">
<span class="component-title" id="password_desc">Torrent Password</span>
<input type="password" name="torrent_password" id="torrent_password" value="$sickbeard.TORRENT_PASSWORD" size="20" />
</label>
<label class="nocheck clearfix">
<span class="component-title">&nbsp;</span>
<span class="component-desc">Password of your Torrent Client (blank for none)</span>
</label>
</div>
<div class="field-pair" id="Torrent_Label">
<label class="nocheck clearfix">
<span class="component-title" id="label_desc">Torrent Label</span>
<input type="text" name="torrent_label" id="torrent_label" value="$sickbeard.TORRENT_LABEL" size="20" />
</label>
<label class="nocheck clearfix">
<span class="component-title">&nbsp;</span>
<span class="component-desc">Add a specific label to Torrent</span>
</label>
<label class="nocheck clearfix" id="label_warning">
<span class="component-title">&nbsp;</span>
<span class="component-desc"><b>Note:</b> Adds specific warning to Torrent label</span>
</label>
</div>
<div class="field-pair" id="Torrent_Path">
<label class="nocheck clearfix">
<span class="component-title" id="directory_desc">Torrent Directory</span>
<input type="text" name="torrent_path" id="torrent_path" value="$sickbeard.TORRENT_PATH" size="35" />
</label>
<label class="nocheck clearfix">
<span class="component-title">&nbsp;</span>
<span class="component-desc">Where should it save the downloaded files? (blank for default)</span>
</label>
<label class="nocheck clearfix">
<span class="component-title">&nbsp;</span>
<span class="component-desc"><b>Note:</b> For Synology DS the destination has to be a shared folder</span>
</label>
</div>
<div class="field-pair" id="Torrent_Seed_Time">
<label class="nocheck clearfix">
<span class="component-title" id="torrent_seed_time_desc">Seed Time</span>
<input type="number" step="0.1" name="torrent_seed_time" id="torrent_seed_time" value="$sickbeard.TORRENT_SEED_TIME" size="2" />
</label>
<label class="nocheck clearfix">
<span class="component-title">&nbsp;</span>
<span class="component-desc">Duration (in hours) to seed for<br>
(SickRage default '0' passes blank to downloader; '-1' does not set Seed Time)</span>
</label>
</div>
<div class="field-pair" id="Torrent_Paused">
<label class="nocheck clearfix">
<span class="component-title" id="torrent_paused_desc">Start Torrent Paused</span>
<input type="checkbox" name="torrent_paused" class="enabler" id="torrent_paused" #if $sickbeard.TORRENT_PAUSED == True then "checked=\"checked\"" else ""# />
</label>
<label class="nocheck clearfix">
<span class="component-title">&nbsp;</span>
<span class="component-desc">Don't start downloading when torrent is added?</span>
</label>
</div>
<div class="field-pair" id="Torrent_High_Bandwidth">
<label class="nocheck clearfix">
<span class="component-title" id="torrent_high_bandwidth_desc">Allow high bandwidth</span>
<input type="checkbox" name="torrent_high_bandwidth" class="enabler" id="torrent_high_bandwidth" #if $sickbeard.TORRENT_HIGH_BANDWIDTH == True then "checked=\"checked\"" else ""# />
</label>
<label class="nocheck clearfix">
<span class="component-title">&nbsp;</span>
<span class="component-desc">Use high bandwidth allocation on torrent if priority is high (recently aired episode if enabled)?</span>
</label>
</div>
<div class="testNotification" id="testTorrent-result">Click below to test.</div>
<input class="btn" type="button" value="Test Connection" id="testTorrent" class="btn test-button"/>
<input type="submit" class="btn config_submitter" value="Save Changes" /><br/>
</div>
</div>
</fieldset> </fieldset>
</div><!-- /component-group3 //--> </div><!-- /component-group3 //-->
<!--<div class="title-group clearfix" id="no-torrents">
<div class="ui-corner-all config_message">Note: SickRage works better with Usenet than with Torrents, <a href="http://www.sickbeard.com/usenet.html" target="_blank">here's why</a>.</div>
</div> //-->
<br/> <br/>
<small class="float-right"><b>All non-absolute folder locations are relative to <span class="path">$sickbeard.DATA_DIR</span></b> </small> <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 config_submitter button" value="Save Changes" /><br/> <input type="submit" class="btn pull-left config_submitter button" value="Save Changes" />
</div><!-- /config-components //--> </div><!-- /config-components //-->
</form> </form>
</div>
</div>
</div></div></div> <div></div>
<div class="clearfix"></div>
<script type="text/javascript" charset="utf-8"> <script type="text/javascript" charset="utf-8">
<!-- <!--
jQuery('#config-components').tabs(); jQuery('#config-components').tabs();
jQuery('#nzb_dir').fileBrowser({ title: 'Select NZB Black Hole/Watch Directory' }); jQuery('#nzb_dir').fileBrowser({ title: 'Select .nzb black hole/watch location' });
jQuery('#torrent_dir').fileBrowser({ title: 'Select Torrent Black Hole/Watch Directory' }); jQuery('#torrent_dir').fileBrowser({ title: 'Select .torrent black hole/watch location' });
jQuery('#torrent_path').fileBrowser({ title: 'Select Torrent Download Directory' }); jQuery('#torrent_path').fileBrowser({ title: 'Select .torrent download location' });
jQuery('#tv_download_dir').fileBrowser({ title: 'Select TV Download Directory' }); jQuery('#tv_download_dir').fileBrowser({ title: 'Select TV download location' });
//--> //-->
</script> </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

@ -1,5 +1,6 @@
#from sickbeard import subtitles #from sickbeard import subtitles
#import sickbeard #import sickbeard
#from sickbeard.helpers import anon_url
#set global $title="Config - Subtitles" #set global $title="Config - Subtitles"
#set global $header="Subtitles" #set global $header="Subtitles"
@ -13,7 +14,6 @@
<script type="text/javascript" src="$sbRoot/js/configSubtitles.js?$sbPID"></script> <script type="text/javascript" src="$sbRoot/js/configSubtitles.js?$sbPID"></script>
<script type="text/javascript" src="$sbRoot/js/config.js"></script> <script type="text/javascript" src="$sbRoot/js/config.js"></script>
<script type="text/javascript" src="$sbRoot/js/lib/jquery.tokeninput.js"></script> <script type="text/javascript" src="$sbRoot/js/lib/jquery.tokeninput.js"></script>
<link rel="stylesheet" type="text/css" href="$sbRoot/css/token-input.css" />
<script type="text/javascript"> <script type="text/javascript">
\$(document).ready(function() { \$(document).ready(function() {
@ -36,7 +36,7 @@
); );
}); });
</script> </script>
<div id="content960">
#if $varExists('header') #if $varExists('header')
<h1 class="header">$header</h1> <h1 class="header">$header</h1>
#else #else
@ -54,7 +54,7 @@
<li><a href="#core-component-group2">Subtitles Plugin</a></li> <li><a href="#core-component-group2">Subtitles Plugin</a></li>
</ul> </ul>
<div id="core-component-group4" class="component-group clearfix"> <div id="core-component-group4" class="component-group">
<div class="component-group-desc"> <div class="component-group-desc">
<h3>Subtitles Search</h3> <h3>Subtitles Search</h3>
@ -70,31 +70,31 @@
</div> </div>
<div id="content_use_subtitles"> <div id="content_use_subtitles">
<div class="field-pair"> <div class="field-pair">
<label class="nocheck clearfix"> <label class="nocheck">
<span class="component-title">Subtitle Languages</span> <span class="component-title">Subtitle Languages</span>
<input type="text" id="subtitles_languages" name="subtitles_languages" style="border: 0px none"/> <span class="component-desc"><input type="text" id="subtitles_languages" name="subtitles_languages" /></span>
</label> </label>
</div> </div>
<div class="field-pair"> <div class="field-pair">
<label class="nocheck clearfix"> <label class="nocheck">
<span class="component-title">Subtitle Directory</span> <span class="component-title">Subtitle Directory</span>
<input type="text" size="35" value="$sickbeard.SUBTITLES_DIR" id="subtitles_dir" name="subtitles_dir"> <input type="text" value="$sickbeard.SUBTITLES_DIR" id="subtitles_dir" name="subtitles_dir" class="form-control input-sm input350">
</label> </label>
<label class="nocheck clearfix"> <label class="nocheck">
<span class="component-title">&nbsp;</span> <span class="component-title">&nbsp;</span>
<span class="component-desc">The directory where SickRage should store your <i>Subtitles</i> files.</span> <span class="component-desc">The directory where SickRage should store your <i>Subtitles</i> files.</span>
</label> </label>
<label class="nocheck clearfix"> <label class="nocheck">
<span class="component-title">&nbsp;</span> <span class="component-title">&nbsp;</span>
<span class="component-desc"><b>NOTE:</b> Leave empty if you want store subtitle in episode path.</span> <span class="component-desc"><b>NOTE:</b> Leave empty if you want store subtitle in episode path.</span>
</label> </label>
</div> </div>
<div class="field-pair"> <div class="field-pair">
<label class="nocheck clearfix"> <label class="nocheck">
<span class="component-title">Subtitle Find Frequency</span> <span class="component-title">Subtitle Find Frequency</span>
<input type="number" name="subtitles_finder_frequency" value="$sickbeard.SUBTITLES_FINDER_FREQUENCY" size="5" hours="1" class="input-small" /> <input type="number" name="subtitles_finder_frequency" value="$sickbeard.SUBTITLES_FINDER_FREQUENCY" hours="1" class="form-control input-sm input75" />
</label> </label>
<label class="nocheck clearfix"> <label class="nocheck">
<span class="component-title">&nbsp;</span> <span class="component-title">&nbsp;</span>
<span class="component-desc">Time in hours between scans (hours. 1)</span> <span class="component-desc">Time in hours between scans (hours. 1)</span>
</label> </label>
@ -111,7 +111,7 @@
</fieldset> </fieldset>
</div><!-- /component-group1 //--> </div><!-- /component-group1 //-->
<div id="core-component-group2" class="component-group clearfix"> <div id="core-component-group2" class="component-group">
<div class="component-group-desc"> <div class="component-group-desc">
<h3>Subtitle Plugins</h3> <h3>Subtitle Plugins</h3>
@ -126,7 +126,8 @@
#set $curName = $curService.id #set $curName = $curService.id
<li class="ui-state-default" id="$curName"> <li class="ui-state-default" id="$curName">
<input type="checkbox" id="enable_$curName" class="service_enabler" #if $curService.enabled then "checked=\"checked\"" else ""#/> <input type="checkbox" id="enable_$curName" class="service_enabler" #if $curService.enabled then "checked=\"checked\"" else ""#/>
<a href="$curService.url" class="imgLink" target="_new"> #set $provider_url = $curService.url
<a href="<%= anon_url(provider_url) %>" class="imgLink" target="_new">
<img src="$sbRoot/images/subtitles/$curService.image" alt="$curService.name" title="$curService.name" width="16" height="16" style="vertical-align:middle;"/> <img src="$sbRoot/images/subtitles/$curService.image" alt="$curService.name" title="$curService.name" width="16" height="16" style="vertical-align:middle;"/>
</a> </a>
<span style="vertical-align:middle;">$curService.name.capitalize()</span> <span style="vertical-align:middle;">$curService.name.capitalize()</span>
@ -146,7 +147,9 @@
</div><!-- /config-components //--> </div><!-- /config-components //-->
</form> </form>
</div></div></div> </div>
</div>
<div class="clearfix"></div> <div class="clearfix"></div>
<script type="text/javascript" charset="utf-8"> <script type="text/javascript" charset="utf-8">
<!-- <!--

View File

@ -2,9 +2,11 @@
#from sickbeard import subtitles, sbdatetime, network_timezones #from sickbeard import subtitles, sbdatetime, network_timezones
#import sickbeard.helpers #import sickbeard.helpers
#from sickbeard.common import * #from sickbeard.common import *
#from sickbeard.helpers import anon_url
#from lib import subliminal #from lib import subliminal
#import os.path, os #import os.path, os
#import datetime #import datetime
#set global $title=$show.name #set global $title=$show.name
##set global $header = '<a></a>' % ##set global $header = '<a></a>' %
#set global $topmenu="manageShows"# #set global $topmenu="manageShows"#
@ -15,10 +17,6 @@
<script type="text/javascript" src="$sbRoot/js/jwplayer/jwplayer.js"></script> <script type="text/javascript" src="$sbRoot/js/jwplayer/jwplayer.js"></script>
<script type="text/javascript">jwplayer.key="Zq3m618ITHrFxeKGi3Gf33ovC+XtdGQz19MMug==";</script> <script type="text/javascript">jwplayer.key="Zq3m618ITHrFxeKGi3Gf33ovC+XtdGQz19MMug==";</script>
#if $show_message:
<div id="show_message" class="ui-corner-all">$show_message</div><br />
#end if
<input type="hidden" id="sbRoot" value="$sbRoot" /> <input type="hidden" id="sbRoot" value="$sbRoot" />
<script type="text/javascript" src="$sbRoot/js/displayShow.js?$sbPID"></script> <script type="text/javascript" src="$sbRoot/js/displayShow.js?$sbPID"></script>
@ -60,14 +58,11 @@
}); });
//--> //-->
</script> </script>
<div id="middlewrap">
<div class="navShows"> <div class="pull-left form-inline">
</br> Change Show:
<div class="align-left"> <div class="navShow"><img id="prevShow" src="$sbRoot/images/prev.png" alt="&lt;&lt;" title="Prev Show" /></div>
<div id="middle">Change Show:</div> <select id="pickShow" class="form-control form-control-inline input-sm">
<div id="middle"><div class="navShow"><img id="prevShow" src="$sbRoot/images/prev.png" alt="&lt;&lt;" title="Prev Show" /></div></div>
<div id="middle">
<select id="pickShow">
#for $curShowList in $sortedShowLists: #for $curShowList in $sortedShowLists:
#set $curShowType = $curShowList[0] #set $curShowType = $curShowList[0]
#set $curShowList = $curShowList[1] #set $curShowList = $curShowList[1]
@ -83,66 +78,16 @@
#end if #end if
#end for #end for
</select> </select>
<div class="navShow"><img id="nextShow" src="$sbRoot/images/next.png" alt="&gt;&gt;" title="Next Show" /></div>
</div> </div>
<div id="middle"><div class="navShow"><img id="nextShow" src="$sbRoot/images/next.png" alt="&gt;&gt;" title="Next Show" /></div></div> <div class="clearfix"></div>
</div></div></div>
<div id="posterCol">
<a href="$sbRoot/showPoster/?show=$show.indexerid&amp;which=poster" rel="dialog" title="View Poster for $show.name"><img src="$sbRoot/showPoster/?show=$show.indexerid&amp;which=poster" class="tvshowImg" alt=""/></a>
</div>
<div id="showCol">
<div id="showtitle" data-showname="$show.name"> <div id="showtitle" data-showname="$show.name">
<h1 class="title" id="scene_exception_$show.indexerid"><a>$show.name</a></h1> <h1 class="title" id="scene_exception_$show.indexerid">$show.name</h1>
</div> </div>
<div id="showinfo">
#if 'rating' in $show.imdb_info:
#set $rating_tip = str($show.imdb_info['rating']) + " / 10" + " Stars" + "<br />" + str($show.imdb_info['votes']) + " Votes"
<span class="imdbstars" qtip-content="$rating_tip">$show.imdb_info['rating']</span>
#end if
#if not $show.imdbid
<span>($show.startyear) - $show.runtime minutes - </span>
#else
#if 'country_codes' in $show.imdb_info:
#for $country in $show.imdb_info['country_codes'].split('|')
<img src="$sbRoot/images/flags/${$country}.png" width="16" height="11" style="margin-left: 3px; vertical-align:middle;" />
#end for
#end if
#if 'year' in $show.imdb_info:
<span>($show.imdb_info['year']) - $show.imdb_info['runtimes'] minutes - </span>
#end if
<a href="http://www.imdb.com/title/$show.imdbid" rel="noreferrer" onclick="window.open('${sickbeard.ANON_REDIRECT}' + this.href, '_blank'); return false;" title="http://www.imdb.com/title/$show.imdbid"><img alt="[imdb]" height="16" width="16" src="$sbRoot/images/imdb.png" style="margin-top: -1px; vertical-align:middle;"/></a>
#end if
<a href="$sickbeard.indexerApi($show.indexer).config["show_url"]$show.indexerid" onclick="window.open(this.href, '_blank'); return false;" title="$sickbeard.indexerApi($show.indexer).config["show_url"]$show.indexerid"><img alt="$sickbeard.indexerApi($show.indexer).name" height="16" width="16" src="$sbRoot/images/$sickbeard.indexerApi($show.indexer).config["icon"] "style="margin-top: -1px; vertical-align:middle;"/></a>
#if $xem_numbering or $xem_absolute_numbering:
<a href="http://thexem.de/search?q=$show.name" rel="noreferrer" onclick="window.open('${sickbeard.ANON_REDIRECT}' + this.href, '_blank'); return false;" title="http://thexem.de/search?q-$show.name"><img alt="[xem]" height="16" width="16" src="$sbRoot/images/xem.png" style="margin-top: -1px; vertical-align:middle;"/></a>
#end if
</div>
<div id="tags">
<ul class="tags">
#if not $show.imdbid
#if $show.genre:
#for $genre in $show.genre[1:-1].split('|')
<a href="http://trakt.tv/shows/popular/${genre.lower()}" target="_blank" title="View other popular $genre shows on trakt.tv."><li>$genre</li></a>
#end for
#end if
#end if
#if 'year' in $show.imdb_info:
#for $imdbgenre in $show.imdb_info['genres'].replace('Sci-Fi','Science-Fiction').split('|')
<a href="http://trakt.tv/shows/popular/${imdbgenre.lower()}" target="_blank" title="View other popular $imdbgenre shows on trakt.tv."><li>$imdbgenre</li></a>
#end for
#end if
</ul>
</div>
<div style="clear: left;"></div>
<div id="seasons">
#if $seasonResults: #if $seasonResults:
##There is a special/season_0?## ##There is a special/season_0?##
#if int($seasonResults[-1]["season"]) == 0: #if int($seasonResults[-1]["season"]) == 0:
@ -155,10 +100,21 @@
$seasonResults.pop(-1) $seasonResults.pop(-1)
#end if #end if
<div class="seasonList"> <span class="h2footer displayspecials pull-right">
#if $season_special:
Display Specials:
#if sickbeard.DISPLAY_SHOW_SPECIALS:
<a class="inner" href="$sbRoot/toggleDisplayShowSpecials/?show=$show.indexerid">Hide</a>
#else:
<a class="inner" href="$sbRoot/toggleDisplayShowSpecials/?show=$show.indexerid">Show</a>
#end if
#end if
</span>
<div class="h2footer pull-right">
<span> <span>
#if (len($seasonResults) > 14): #if (len($seasonResults) > 14):
<select id="seasonJump"> <select id="seasonJump" class="form-control input-sm" style="position: relative; top: -4px;">
<option value="jump">Jump to Season</option> <option value="jump">Jump to Season</option>
#for $seasonNum in $seasonResults: #for $seasonNum in $seasonResults:
<option value="#season-$seasonNum["season"]">#if int($seasonNum["season"]) == 0 then "Specials" else "Season " + str($seasonNum["season"])#</option> <option value="#season-$seasonNum["season"]">#if int($seasonNum["season"]) == 0 then "Specials" else "Season " + str($seasonNum["season"])#</option>
@ -179,22 +135,69 @@
#end if #end if
</span> </span>
<span class="float-right">
#if $season_special:
Display Specials:
#if sickbeard.DISPLAY_SHOW_SPECIALS:
<a class="inner" href="$sbRoot/toggleDisplayShowSpecials/?show=$show.indexerid">Hide</a>
#else:
<a class="inner" href="$sbRoot/toggleDisplayShowSpecials/?show=$show.indexerid">Show</a>
#end if #end if
#end if
</span>
#end if
</div>
</div> </div>
<div class="showsummary"> <div class="clearfix"></div>
<table style="width:73%; float: left;">
#if $show_message:
<div class="alert alert-info">
$show_message
</div>
#end if
<div id="container">
<div id="posterCol">
<a href="$sbRoot/showPoster/?show=$show.indexerid&amp;which=poster" rel="dialog" title="View Poster for $show.name"><img src="$sbRoot/showPoster/?show=$show.indexerid&amp;which=poster_thumb" class="tvshowImg" alt=""/></a>
</div>
<div id="showCol">
<div id="showinfo">
#if 'rating' in $show.imdb_info:
#set $rating_tip = str($show.imdb_info['rating']) + " / 10" + " Stars" + "<br />" + str($show.imdb_info['votes']) + " Votes"
<span class="imdbstars" qtip-content="$rating_tip">$show.imdb_info['rating']</span>
#end if
#set $_show = $show
#if not $show.imdbid
<span>($show.startyear) - $show.runtime minutes - </span>
#else
#if 'country_codes' in $show.imdb_info:
#for $country in $show.imdb_info['country_codes'].split('|')
<img src="$sbRoot/images/flags/${$country}.png" width="16" height="11" style="margin-left: 3px; vertical-align:middle;" />
#end for
#end if
#if 'year' in $show.imdb_info:
<span>($show.imdb_info['year']) - $show.imdb_info['runtimes'] minutes - </span>
#end if
<a href="<%= anon_url('http://www.imdb.com/title/', _show.imdbid) %>" rel="noreferrer" onclick="window.open(this.href, '_blank'); return false;" title="http://www.imdb.com/title/$show.imdbid"><img alt="[imdb]" height="16" width="16" src="$sbRoot/images/imdb.png" style="margin-top: -1px; vertical-align:middle;"/></a>
#end if
<a href="<%= anon_url(sickbeard.indexerApi(_show.indexer).config['show_url'], _show.indexerid) %>" onclick="window.open(this.href, '_blank'); return false;" title="$sickbeard.indexerApi($show.indexer).config["show_url"]$show.indexerid"><img alt="$sickbeard.indexerApi($show.indexer).name" height="16" width="16" src="$sbRoot/images/$sickbeard.indexerApi($show.indexer).config["icon"] "style="margin-top: -1px; vertical-align:middle;"/></a>
#if $xem_numbering or $xem_absolute_numbering:
<a href="<%= anon_url('http://thexem.de/search?q=', _show.name) %>" rel="noreferrer" onclick="window.open(this.href, '_blank'); return false;" title="http://thexem.de/search?q-$show.name"><img alt="[xem]" height="16" width="16" src="$sbRoot/images/xem.png" style="margin-top: -1px; vertical-align:middle;"/></a>
#end if
</div>
<div id="tags">
<ul class="tags">
#if not $show.imdbid
#if $show.genre:
#for $genre in $show.genre[1:-1].split('|')
<a href="<%= anon_url('http://trakt.tv/shows/popular/', genre.lower()) %>" target="_blank" title="View other popular $genre shows on trakt.tv."><li>$genre</li></a>
#end for
#end if
#end if
#if 'year' in $show.imdb_info:
#for $imdbgenre in $show.imdb_info['genres'].replace('Sci-Fi','Science-Fiction').split('|')
<a href="<%= anon_url('http://trakt.tv/shows/popular/', imdbgenre.lower()) %>" target="_blank" title="View other popular $imdbgenre shows on trakt.tv."><li>$imdbgenre</li></a>
#end for
#end if
</ul>
</div>
<div id="summary">
<table class="summaryTable pull-left">
#if $show.network and $show.airs: #if $show.network and $show.airs:
<tr><td class="showLegend">Originally Airs: </td><td>$show.airs #if not $network_timezones.test_timeformat($show.airs) then " <font color='#FF0000'><b>(invalid Timeformat)</b></font> " else ""# on $show.network</td></tr> <tr><td class="showLegend">Originally Airs: </td><td>$show.airs #if not $network_timezones.test_timeformat($show.airs) then " <font color='#FF0000'><b>(invalid Timeformat)</b></font> " else ""# on $show.network</td></tr>
#else if $show.network: #else if $show.network:
@ -243,7 +246,7 @@
</table> </table>
<table style="width:27%; float: right; vertical-align: middle; height: 100%;"> <table style="width:180px; float: right; vertical-align: middle; height: 100%;">
<tr><td class="showLegend">Info Language:</td><td><img src="$sbRoot/images/flags/${show.lang}.png" width="16" height="11" alt="$show.lang" title="$show.lang" /></td></tr> <tr><td class="showLegend">Info Language:</td><td><img src="$sbRoot/images/flags/${show.lang}.png" width="16" height="11" alt="$show.lang" title="$show.lang" /></td></tr>
#if $sickbeard.USE_SUBTITLES #if $sickbeard.USE_SUBTITLES
<tr><td class="showLegend">Subtitles: </td><td><img src="$sbRoot/images/#if int($show.subtitles) == 1 then "yes16.png\" alt=\"Y" else "no16.png\" alt=\"N"#" width="16" height="16" /></td></tr> <tr><td class="showLegend">Subtitles: </td><td><img src="$sbRoot/images/#if int($show.subtitles) == 1 then "yes16.png\" alt=\"Y" else "no16.png\" alt=\"N"#" width="16" height="16" /></td></tr>
@ -260,14 +263,15 @@
#end if #end if
</table> </table>
</div> </div>
</div>
</div> </div>
<div style="clear:both;" class="clearfix"></div> <div class="clearfix"></div>
<div style="height:40px;line-height:40px;"> <div class="pull-left" style="padding-bottom: 10px;">
<div class="float-left" style="display:inline-block; vertical-align:baseline;">
Change selected episodes to Change selected episodes to
<select id="statusSelect"> <select id="statusSelect" class="form-control form-control-inline input-sm">
#for $curStatus in [$WANTED, $SKIPPED, $ARCHIVED, $IGNORED, $FAILED] + sorted($Quality.DOWNLOADED): #for $curStatus in [$WANTED, $SKIPPED, $ARCHIVED, $IGNORED, $FAILED] + sorted($Quality.DOWNLOADED):
#if $curStatus == $DOWNLOADED: #if $curStatus == $DOWNLOADED:
#continue #continue
@ -277,26 +281,27 @@
</select> </select>
<input type="hidden" id="showID" value="$show.indexerid" /> <input type="hidden" id="showID" value="$show.indexerid" />
<input type="hidden" id="indexer" value="$show.indexer" /> <input type="hidden" id="indexer" value="$show.indexer" />
<input class="btn" type="button" id="changeStatus" value="Go" /> <input class="btn btn-inline" type="button" id="changeStatus" value="Go" />
</div>
</div> </div>
<div id="checkboxControls" style="display:inline-block; vertical-align:baseline;"> <div class="pull-right clearfix" id="checkboxControls">
Filters: <label for="wanted"><span class="wanted"><input type="checkbox" id="wanted" checked="checked" /> Wanted: <b>$epCounts[$Overview.WANTED]</b></span></label> <div style="padding-bottom: 5px;">
<label for="wanted"><span class="wanted"><input type="checkbox" id="wanted" checked="checked" /> Wanted: <b>$epCounts[$Overview.WANTED]</b></span></label>
<label for="qual"><span class="qual"><input type="checkbox" id="qual" checked="checked" /> Low Quality: <b>$epCounts[$Overview.QUAL]</b></span></label> <label for="qual"><span class="qual"><input type="checkbox" id="qual" checked="checked" /> Low Quality: <b>$epCounts[$Overview.QUAL]</b></span></label>
<label for="good"><span class="good"><input type="checkbox" id="good" checked="checked" /> Downloaded: <b>$epCounts[$Overview.GOOD]</b></span></label> <label for="good"><span class="good"><input type="checkbox" id="good" checked="checked" /> Downloaded: <b>$epCounts[$Overview.GOOD]</b></span></label>
<label for="skipped"><span class="skipped"><input type="checkbox" id="skipped" checked="checked" /> Skipped: <b>$epCounts[$Overview.SKIPPED]</b></span></label> <label for="skipped"><span class="skipped"><input type="checkbox" id="skipped" checked="checked" /> Skipped: <b>$epCounts[$Overview.SKIPPED]</b></span></label>
<label for="snatched"><span class="snatched"><input type="checkbox" id="snatched" checked="checked" /> Snatched: <b>$epCounts[$Overview.SNATCHED]</b></span></label> <label for="snatched"><span class="snatched"><input type="checkbox" id="snatched" checked="checked" /> Snatched: <b>$epCounts[$Overview.SNATCHED]</b></span></label>
</div> </div>
<div style="margin-top: -4px; display:inline-block; vertical-align:middle"> <div class="pull-right" >
<button class="btn btn-mini seriesCheck" style="line-height: 10px;">Select Filtered Episodes</button> <button class="btn btn-xs seriesCheck">Select Filtered Episodes</button>
<button class="btn btn-mini clearAll" style="line-height: 10px;">Clear All</button> <button class="btn btn-xs clearAll">Clear All</button>
</div>
</div> </div>
<br /> <br />
<table class="sickbeardTable" cellspacing="0" border="0" cellpadding="0"> <table class="sickbeardTable display_show" cellspacing="0" border="0" cellpadding="0">
#set $curSeason = -1 #set $curSeason = -1
#set $odd = 0 #set $odd = 0
@ -346,11 +351,8 @@
#end if #end if
#if int($epResult["season"]) != $curSeason: #if int($epResult["season"]) != $curSeason:
<tr><td colspan="13" style="height: 0px; padding:0; margin:0;"><a name="season-$epResult["season"]"></a></td></tr> <tr>
<tr class="seasonheader" id="season-$epResult["season"]" > <th class="row-seasonheader" colspan="13" style="width: auto;"><h3><a name="season-$epResult["season"]"></a>#if int($epResult["season"]) == 0 then "Specials" else "Season " + str($epResult["season"])#</h3></th>
<td colspan="13">
<h2>#if int($epResult["season"]) == 0 then "Specials" else "Season "+str($epResult["season"])#</h2>
</td>
</tr> </tr>
<tr id="season-$epResult["season"]-cols" class="seasoncols"> <tr id="season-$epResult["season"]-cols" class="seasoncols">
@ -370,13 +372,13 @@
#if $scene_anime: #if $scene_anime:
<th class="col-ep">Scene Absolute</th> <th class="col-ep">Scene Absolute</th>
#end if #end if
<th>Name</th> <th class="col-name">Name</th>
<th class="col-airdate">Airdate</th> <th class="col-airdate">Airdate</th>
#if $sickbeard.USE_SUBTITLES and $show.subtitles: #if $sickbeard.USE_SUBTITLES and $show.subtitles:
<th class="col-subtitles">Subtitles</th> <th class="col-subtitles">Subtitles</th>
#end if #end if
<th>Status</th> <th class="col-status">Status</th>
<th>Search</th> <th class="col-search">Search</th>
</tr> </tr>
#set $curSeason = int($epResult["season"]) #set $curSeason = int($epResult["season"])
#end if #end if
@ -385,7 +387,7 @@
<tr class="$Overview.overviewStrings[$epCats[$epStr]] season-$curSeason seasonstyle"> <tr class="$Overview.overviewStrings[$epCats[$epStr]] season-$curSeason seasonstyle">
<td class="col-checkbox check"> <td class="col-checkbox">
#if int($epResult["status"]) != $UNAIRED #if int($epResult["status"]) != $UNAIRED
<input type="checkbox" class="epCheck" id="<%=str(epResult["season"])+'x'+str(epResult["episode"])%>" name="<%=str(epResult["season"]) +"x"+str(epResult["episode"]) %>" /> <input type="checkbox" class="epCheck" id="<%=str(epResult["season"])+'x'+str(epResult["episode"])%>" name="<%=str(epResult["season"]) +"x"+str(epResult["episode"]) %>" />
@ -429,7 +431,7 @@
#if $scene: #if $scene:
<td align="center"> <td align="center">
<input type="text" placeholder="<%=str(dfltSeas) + 'x' + str(dfltEpis)%>" size="6" maxlength="8" <input type="text" placeholder="<%=str(dfltSeas) + 'x' + str(dfltEpis)%>" size="6" maxlength="8"
class="sceneSeasonXEpisode" data-for-season="$epResult["season"]" data-for-episode="$epResult["episode"]" class="sceneSeasonXEpisode form-control input-scene" data-for-season="$epResult["season"]" data-for-episode="$epResult["episode"]"
id="sceneSeasonXEpisode_$show.indexerid<%="_"+str(epResult["season"])+"_"+str(epResult["episode"])%>" id="sceneSeasonXEpisode_$show.indexerid<%="_"+str(epResult["season"])+"_"+str(epResult["episode"])%>"
title="Change the value here if scene numbering differs from the indexer episode numbering" title="Change the value here if scene numbering differs from the indexer episode numbering"
#if $dfltEpNumbering: #if $dfltEpNumbering:
@ -442,7 +444,7 @@
#elif $scene_anime: #elif $scene_anime:
<td align="center"> <td align="center">
<input type="text" placeholder="<%=str(dfltAbsolute)%>" size="6" maxlength="8" <input type="text" placeholder="<%=str(dfltAbsolute)%>" size="6" maxlength="8"
class="sceneAbsolute" data-for-absolute="$epResult["absolute_number"]" class="sceneAbsolute form-control input-scene" data-for-absolute="$epResult["absolute_number"]"
id="sceneAbsolute_$show.indexerid<%="_"+str(epResult["absolute_number"])%>" id="sceneAbsolute_$show.indexerid<%="_"+str(epResult["absolute_number"])%>"
title="Change the value here if scene absolute numbering differs from the indexer absolute numbering" title="Change the value here if scene absolute numbering differs from the indexer absolute numbering"
#if $dfltAbsNumbering: #if $dfltAbsNumbering:
@ -454,7 +456,7 @@
</td> </td>
#end if #end if
<td class="title"> <td class="col-name">
#if $epResult["description"] != "" and $epResult["description"] != None: #if $epResult["description"] != "" and $epResult["description"] != None:
<img src="$sbRoot/images/info32.png" width="16" height="16" class="plotInfo" alt="" id="plot_info_$show.indexerid<%="_" + str(epResult["season"]) + "_" + str(epResult["episode"])%>" /> <img src="$sbRoot/images/info32.png" width="16" height="16" class="plotInfo" alt="" id="plot_info_$show.indexerid<%="_" + str(epResult["season"]) + "_" + str(epResult["episode"])%>" />
#else: #else:
@ -463,12 +465,12 @@
$epResult["name"] $epResult["name"]
</td> </td>
<td align="center" class="nowrap"> <td class="col-airdate">
<span class="${fuzzydate}">#if int($epResult["airdate"]) == 1 then "never" else $sbdatetime.sbdatetime.sbfdate($network_timezones.parse_date_time($epResult["airdate"],$show.airs,$show.network))#</span> <span class="${fuzzydate}">#if int($epResult['airdate']) == 1 then 'never' else $sbdatetime.sbdatetime.sbfdate($sbdatetime.sbdatetime.convert_to_setting($network_timezones.parse_date_time($epResult['airdate'],$show.airs,$show.network)))#</span>
</td> </td>
#if $sickbeard.USE_SUBTITLES and $show.subtitles: #if $sickbeard.USE_SUBTITLES and $show.subtitles:
<td id="subtitles_column" class="subtitles_column" align="center"> <td class="col-subtitles" align="center">
#if $epResult["subtitles"]: #if $epResult["subtitles"]:
#for $sub_lang in subliminal.language.language_list($epResult["subtitles"].split(',')): #for $sub_lang in subliminal.language.language_list($epResult["subtitles"].split(',')):
#if sub_lang.alpha2 != "" #if sub_lang.alpha2 != ""
@ -481,12 +483,12 @@
#set $curStatus, $curQuality = $Quality.splitCompositeStatus(int($epResult["status"])) #set $curStatus, $curQuality = $Quality.splitCompositeStatus(int($epResult["status"]))
#if $curQuality != Quality.NONE: #if $curQuality != Quality.NONE:
<td class="status_column">$statusStrings[$curStatus] <span class="quality $Quality.qualityStrings[$curQuality].replace("720p","HD720p").replace("1080p","HD1080p").replace("RawHD TV", "RawHD").replace("HD TV", "HD720p")">$Quality.qualityStrings[$curQuality]</span></td> <td class="col-status">$statusStrings[$curStatus] <span class="quality $Quality.qualityStrings[$curQuality].replace("720p","HD720p").replace("1080p","HD1080p").replace("RawHD TV", "RawHD").replace("HD TV", "HD720p")">$Quality.qualityStrings[$curQuality]</span></td>
#else: #else:
<td class="status_column">$statusStrings[$curStatus]</td> <td class="col-status">$statusStrings[$curStatus]</td>
#end if #end if
<td class="search"> <td class="col-search">
#if int($epResult["season"]) != 0: #if int($epResult["season"]) != 0:
#if ( int($epResult["status"]) in $Quality.SNATCHED or int($epResult["status"]) in $Quality.DOWNLOADED ) and $sickbeard.USE_FAILED_DOWNLOADS: #if ( int($epResult["status"]) in $Quality.SNATCHED or int($epResult["status"]) in $Quality.DOWNLOADED ) and $sickbeard.USE_FAILED_DOWNLOADS:
<a class="epRetry" id="<%=str(epResult["season"])+'x'+str(epResult["episode"])%>" name="<%=str(epResult["season"]) +"x"+str(epResult["episode"]) %>" href="retryEpisode?show=$show.indexerid&amp;season=$epResult["season"]&amp;episode=$epResult["episode"]"><img src="$sbRoot/images/search16.png" height="16" alt="retry" title="Retry Download" /></a> <a class="epRetry" id="<%=str(epResult["season"])+'x'+str(epResult["episode"])%>" name="<%=str(epResult["season"]) +"x"+str(epResult["episode"]) %>" href="retryEpisode?show=$show.indexerid&amp;season=$epResult["season"]&amp;episode=$epResult["episode"]"><img src="$sbRoot/images/search16.png" height="16" alt="retry" title="Retry Download" /></a>

View File

@ -13,14 +13,14 @@
#import os.path #import os.path
#include $os.path.join($sickbeard.PROG_DIR, "gui/slick/interfaces/default/inc_top.tmpl") #include $os.path.join($sickbeard.PROG_DIR, "gui/slick/interfaces/default/inc_top.tmpl")
<div id="content960">
#if $varExists('header') #if $varExists('header')
<h1 class="header">$header</h1> <h1 class="header">$header</h1>
#else #else
<h1 class="title">$title</h1> <h1 class="title">$title</h1>
#end if #end if
<div id="summary2" class="align-left"> <div id="editShow">
<script type="text/javascript" src="$sbRoot/js/qualityChooser.js?$sbPID"></script> <script type="text/javascript" src="$sbRoot/js/qualityChooser.js?$sbPID"></script>
<script type="text/javascript" charset="utf-8"> <script type="text/javascript" charset="utf-8">
<!-- <!--
@ -59,10 +59,11 @@
//--> //-->
</script> </script>
<br>
<form action="editShow" method="post"> <form action="editShow" method="post">
<input type="hidden" name="show" value="$show.indexerid" /> <input type="hidden" name="show" value="$show.indexerid" />
<b>Location:</b> <input type="text" name="location" id="location" value="$show._location" size="50" /><br /> <b>Location:</b> <input type="text" name="location" id="location" value="$show._location" class="form-control form-control-inline input-sm input350" /><br />
<br /> <br />
<b>Quality:</b> <b>Quality:</b>
#set $qualities = $common.Quality.splitQuality(int($show.quality)) #set $qualities = $common.Quality.splitQuality(int($show.quality))
@ -73,25 +74,25 @@
#if $anyQualities + $bestQualities #if $anyQualities + $bestQualities
<b>Archive on first match: </b> <b>Archive on first match: </b>
<input type="checkbox" name="archive_firstmatch" #if $show.archive_firstmatch == 1 then "checked=\"checked\"" else ""# /> <input type="checkbox" name="archive_firstmatch" #if $show.archive_firstmatch == 1 then "checked=\"checked\"" else ""# /><br>
(check this to have the episode archived after the first best match is found from your archive quality list) (check this to have the episode archived after the first best match is found from your archive quality list)
<br /> <br />
<br /> <br />
#end if #end if
<b>Scene Exception:</b> <b>Scene Exception:</b>
<input type="text" id="SceneName"> <input type="text" id="SceneName" class="form-control form-control-inline input-sm input200">
<input class="btn" type="button" value="Add" id="addSceneName"><br /> <input class="btn btn-inline" type="button" value="Add" id="addSceneName"><br />
<div id="SceneException" > <div id="SceneException" >
<div class="component-group-desc"> <div>
<p>This will <b>affect the episode show search</b> on nzb and torrent provider.<br /> <p>This will <b>affect the episode show search</b> on nzb and torrent provider.<br />
This list overrides the original name, it doesn't append to it.<br /> This list overrides the original name, it doesn't append to it.<br />
</p> </p>
</div> </div>
<div class="float-left" style="text-align:center;"> <div class="pull-left" style="text-align:center;">
<h4>Exceptions List</h4> <h4>Exceptions List</h4>
<select id="exceptions_list" name="exceptions_list" multiple="multiple" style="min-width:10em;" > <select id="exceptions_list" name="exceptions_list" multiple="multiple" style="min-width:10em;" >
#for $cur_exception in $show.exceptions: #for $cur_exception in $show.exceptions:
@ -104,9 +105,10 @@
<br /> <br />
</div> </div>
</div> </div>
<div class="clearfix"></div>
<br /> <br />
<b>Info Language:</b> <select name="indexerLang" id="indexerLangSelect"></select><br /> <b>Info Language:</b> <select name="indexerLang" id="indexerLangSelect" class="form-control form-control-inline input-sm"></select><br />
Note: This will only affect the language of the retrieved metadata file contents and episode filenames.<br /> Note: This will only affect the language of the retrieved metadata file contents and episode filenames.<br />
This <b>DOES NOT</b> allow SickRage to download non-english TV episodes!<br /> This <b>DOES NOT</b> allow SickRage to download non-english TV episodes!<br />
<br /> <br />
@ -136,12 +138,12 @@ This <b>DOES NOT</b> allow SickRage to download non-english TV episodes!<br />
(check this if you wish to use the DVD order instead of the Airing order) (check this if you wish to use the DVD order instead of the Airing order)
<br/><br/> <br/><br/>
<b>Ignored Words:</b> <input type="text" name="rls_ignore_words" id="rls_ignore_words" value="$show.rls_ignore_words" size="50" /><br /> <b>Ignored Words:</b> <input type="text" name="rls_ignore_words" id="rls_ignore_words" value="$show.rls_ignore_words" class="form-control form-control-inline input-sm input350" /><br />
Results with any of these words in the title will be filtered out <br /> Results with any of these words in the title will be filtered out <br />
Separate words with a comma, e.g. "word1,word2,word3" Separate words with a comma, e.g. "word1,word2,word3"
<br /><br /> <br /><br />
<b>Required Words:</b> <input type="text" name="rls_require_words" id="rls_require_words" value="$show.rls_require_words" size="50" /><br /> <b>Required Words:</b> <input type="text" name="rls_require_words" id="rls_require_words" value="$show.rls_require_words" class="form-control form-control-inline input-sm input350" /><br />
Results without one of these words in the title will be filtered out <br /> Results without one of these words in the title will be filtered out <br />
Separate words with a comma, e.g. "word1,word2,word3" Separate words with a comma, e.g. "word1,word2,word3"
<br /><br /> <br /><br />
@ -268,5 +270,5 @@ Separate words with a comma, e.g. "word1,word2,word3"
//--> //-->
</script> </script>
</div></div> </div>
#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

@ -86,21 +86,23 @@
#else #else
<h1 class="title">$title</h1> <h1 class="title">$title</h1>
#end if #end if
<div class="h2footer align-right"><b>Limit:</b> <div class="h2footer pull-right"><b>Limit:</b>
<select name="limit" id="limit"> <select name="limit" id="limit" class="form-control form-control-inline input-sm">
<option value="100" #if $limit == "100" then "selected=\"selected\"" else ""#>100</option> <option value="100" #if $limit == "100" then "selected=\"selected\"" else ""#>100</option>
<option value="250" #if $limit == "250" then "selected=\"selected\"" else ""#>250</option> <option value="250" #if $limit == "250" then "selected=\"selected\"" else ""#>250</option>
<option value="500" #if $limit == "500" then "selected=\"selected\"" else ""#>500</option> <option value="500" #if $limit == "500" then "selected=\"selected\"" else ""#>500</option>
<option value="0" #if $limit == "0" then "selected=\"selected\"" else ""#>All</option> <option value="0" #if $limit == "0" then "selected=\"selected\"" else ""#>All</option>
</select> </select>
</div>
<div id="HistoryLayout" style="float: right; margin-top: 2px;">
<span><b>Layout:</b> <span> Layout:
<a class="inner" href="$sbRoot/setHistoryLayout/?layout=compact">Compact</a> &middot; <select name="HistoryLayout" class="form-control form-control-inline input-sm" onchange="location = this.options[this.selectedIndex].value;">
<a class="inner" href="$sbRoot/setHistoryLayout/?layout=detailed">Detailed</a> <option value="$sbRoot/setHistoryLayout/?layout=compact" #if $sickbeard.HISTORY_LAYOUT == "compact" then "selected=\"selected\"" else ""#>Compact</option>
<option value="$sbRoot/setHistoryLayout/?layout=detailed" #if $sickbeard.HISTORY_LAYOUT == "detailed" then "selected=\"selected\"" else ""#>Detailed</option>
</select>
</span> </span>
</div> </div>
<br>
#if $layout == "detailed" #if $layout == "detailed"
<table id="historyTable" class="sickbeardTable tablesorter" cellspacing="1" border="0" cellpadding="0"> <table id="historyTable" class="sickbeardTable tablesorter" cellspacing="1" border="0" cellpadding="0">
@ -125,8 +127,8 @@
#set $curStatus, $curQuality = $Quality.splitCompositeStatus(int($hItem["action"])) #set $curStatus, $curQuality = $Quality.splitCompositeStatus(int($hItem["action"]))
<tr> <tr>
#set $curdatetime = $datetime.datetime.strptime(str($hItem["date"]), $history.dateFormat) #set $curdatetime = $datetime.datetime.strptime(str($hItem["date"]), $history.dateFormat)
<td class="nowrap"><div class="${fuzzydate}">$sbdatetime.sbdatetime.sbfdatetime($curdatetime, show_seconds=True)</div><span class="sort_data">$time.mktime($curdatetime.timetuple())</span></td> <td align="center"><div class="${fuzzydate}">$sbdatetime.sbdatetime.sbfdatetime($curdatetime, show_seconds=True)</div><span class="sort_data">$time.mktime($curdatetime.timetuple())</span></td>
<td width="35%"><a style="color: #fff; text-align: center;" href="$sbRoot/home/displayShow?show=$hItem["showid"]#season-$hItem["season"]">$hItem["show_name"] - <%="S%02i" % int(hItem["season"])+"E%02i" % int(hItem["episode"]) %>#if "proper" in $hItem["resource"].lower or "repack" in $hItem["resource"].lower then ' <span class="quality Proper">Proper</span>' else ""#</a></td> <td class="tvShow" width="35%"><a href="$sbRoot/home/displayShow?show=$hItem["showid"]#season-$hItem["season"]">$hItem["show_name"] - <%="S%02i" % int(hItem["season"])+"E%02i" % int(hItem["episode"]) %>#if "proper" in $hItem["resource"].lower or "repack" in $hItem["resource"].lower then ' <span class="quality Proper">Proper</span>' else ""#</a></td>
<td align="center" #if $curStatus == SUBTITLED then 'class="subtitles_column"' else ''#> <td align="center" #if $curStatus == SUBTITLED then 'class="subtitles_column"' else ''#>
#if $curStatus == SUBTITLED: #if $curStatus == SUBTITLED:
<img width="16" height="11" style="vertical-align:middle;" src="$sbRoot/images/flags/<%= hItem["resource"][len(hItem["resource"])-6:len(hItem["resource"])-4]+'.png'%>"> <img width="16" height="11" style="vertical-align:middle;" src="$sbRoot/images/flags/<%= hItem["resource"][len(hItem["resource"])-6:len(hItem["resource"])-4]+'.png'%>">
@ -186,9 +188,9 @@
#for $hItem in $compactResults: #for $hItem in $compactResults:
<tr> <tr>
#set $curdatetime = $datetime.datetime.strptime(str($hItem["actions"][0]["time"]), $history.dateFormat) #set $curdatetime = $datetime.datetime.strptime(str($hItem["actions"][0]["time"]), $history.dateFormat)
<td class="nowrap"><div class="${fuzzydate}">$sbdatetime.sbdatetime.sbfdatetime($curdatetime, show_seconds=True)</div><span class="sort_data">$time.mktime($curdatetime.timetuple())</span></td> <td align="center"><div class="${fuzzydate}">$sbdatetime.sbdatetime.sbfdatetime($curdatetime, show_seconds=True)</div><span class="sort_data">$time.mktime($curdatetime.timetuple())</span></td>
<td width="25%"> <td class="tvShow" width="25%">
<span><a style="color: #fff; text-align: center;" href="$sbRoot/home/displayShow?show=$hItem["show_id"]#season-$hItem["season"]">$hItem["show_name"] - <%="S%02i" % int(hItem["season"])+"E%02i" % int(hItem["episode"]) %>#if "proper" in $hItem["resource"].lower or "repack" in $hItem["resource"].lower then ' <span class="quality Proper">Proper</span>' else ""#</a></span> <span><a href="$sbRoot/home/displayShow?show=$hItem["show_id"]#season-$hItem["season"]">$hItem["show_name"] - <%="S%02i" % int(hItem["season"])+"E%02i" % int(hItem["episode"]) %>#if "proper" in $hItem["resource"].lower or "repack" in $hItem["resource"].lower then ' <span class="quality Proper">Proper</span>' else ""#</a></span>
</td> </td>
<td align="center" provider="<%=str(sorted(hItem["actions"])[0]["provider"])%>"> <td align="center" provider="<%=str(sorted(hItem["actions"])[0]["provider"])%>">
#for $action in sorted($hItem["actions"]): #for $action in sorted($hItem["actions"]):

View File

@ -45,77 +45,7 @@
#set $max_download_count = $max_download_count * 100 #set $max_download_count = $max_download_count * 100
<style type="text/css">
.sort_data {display:none}
</style>
<script type="text/javascript" charset="utf-8"> <script type="text/javascript" charset="utf-8">
\$(document).ready(function(){
var \$container = [\$('#container'), \$('#container-anime')];
jQuery.each(\$container, function (j) {
this.isotope({
sortBy : \$.cookie('sortby'),
itemSelector : '.show',
getSortData : {
name : function( \$elem ) {
return \$elem.attr('data-name');
},
network : function( \$elem ) {
return \$elem.attr('data-network');
},
date: function( \$elem ) {
return parseInt( \$elem.attr('data-date'), 10 ) || Number.POSITIVE_INFINITY;
},
progress : function( \$elem ) {
return parseInt( \$elem.attr('data-progress'), 10) * -1 || Number.POSITIVE_INFINITY;
}
}
});
});
var \$optionSets = \$('.option-set'),
\$optionLinks = \$optionSets.find('a');
\$optionLinks.click(function(){
var \$this = \$(this);
// don't proceed if already selected
if ( \$this.hasClass('selected') ) {
return false;
}
var \$optionSet = \$this.parents('.option-set');
\$optionSet.find('.selected').removeClass('selected');
\$this.addClass('selected');
// make option object dynamically, i.e. { filter: '.my-filter-class' }
var options = {},
key = \$optionSet.attr('data-option-key'),
value = \$this.attr('data-option-value');
// parse 'false' as false boolean
value = value === 'false' ? false : value;
options[ key ] = value;
if ( key === 'layoutMode' && typeof changeLayoutMode === 'function' ) {
// changes in layout modes need extra logic
changeLayoutMode( \$this, options )
} else {
// otherwise apply new options & save sort cookie
\$('#container').isotope( options );
\$('#container-anime').isotope( options );
\$.cookie('sortby', value, { expires: 365 });
}
return false;
});
});
sortFlipper = true;
function invertSort(){
sortFlipper = !sortFlipper;
\$('#container').isotope({sortAscending: sortFlipper});
\$('#container-anime').isotope({sortAscending: sortFlipper});
}
<!-- <!--
\$.tablesorter.addParser({ \$.tablesorter.addParser({
@ -136,57 +66,13 @@ function invertSort(){
type: 'text' type: 'text'
}); });
\$.tablesorter.addParser({
id: 'cDate',
is: function(s) {
return false;
},
format: function(s) {
return s;
},
type: 'numeric'
});
\$.tablesorter.addParser({ \$.tablesorter.addParser({
id: 'quality', id: 'quality',
is: function(s) { is: function(s) {
return false; return false;
}, },
format: function(s) { format: function(s) {
return s.replace('HD1080p',5).replace('HD720p',4).replace('HD',3).replace('SD',2).replace('Any',1).replace('Best',0).replace('Custom',7); return s.replace('hd1080p',5).replace('hd720p',4).replace('hd',3).replace('sd',2).replace('any',1).replace('custom',7);
},
type: 'numeric'
});
\$.tablesorter.addParser({
id: 'eps',
is: function(s) {
return false;
},
format: function(s) {
match = s.match(/^(.*)/);
if (match == null || match[1] == "?")
return -10;
var nums = match[1].split(" / ");
if (nums[0].indexOf("+") != -1) {
var num_parts = nums[0].split("+");
nums[0] = num_parts[0];
}
nums[0] = parseInt(nums[0])
nums[1] = parseInt(nums[1])
if (nums[0] === 0)
return nums[1];
var finalNum = parseInt($max_download_count*nums[0]/nums[1]);
if (finalNum > 0)
finalNum += nums[0];
return finalNum;
}, },
type: 'numeric' type: 'numeric'
}); });
@ -199,51 +85,55 @@ function invertSort(){
}); });
\$("#showListTableShows:has(tbody tr)").tablesorter({ \$("#showListTableShows:has(tbody tr)").tablesorter({
sortList: [[5,1],[1,0]],
sortList: [[6,1],[1,0]],
textExtraction: { textExtraction: {
0: function(node) { return \$(node).find("span").text().toLowerCase(); }, 0: function(node) { return \$(node).find("span").text().toLowerCase(); },
#if ( $layout != 'simple'): 3: function(node) { return \$(node).find("span").text().toLowerCase(); },
2: function(node) { return \$(node).find("img").attr("alt"); }, 4: function(node) { return \$(node).find("span").text(); },
#end if
3: function(node) { return \$(node).find("span").text(); },
5: function(node) { return \$(node).find("img").attr("alt"); } 5: function(node) { return \$(node).find("img").attr("alt"); }
}, },
widgets: ['saveSort', 'zebra'], widgets: ['saveSort', 'zebra', 'stickyHeaders', 'filter'],
headers: { headers: {
0: { sorter: 'cDate' }, 0: { sorter: 'isoDate' },
1: { sorter: 'loadingNames' }, 1: { sorter: 'loadingNames' },
2: { sorter: 'network' },
3: { sorter: 'quality' }, 3: { sorter: 'quality' },
4: { sorter: 'eps' }, 4: { sorter: 'eps' }
5: { sorter: 'active' }, },
6: { sorter: 'status' }, widgetOptions : {
} filter_columnFilters: false,
filter_reset: '.resetshows'
},
sortStable: true
}); });
\$("#showListTableAnime:has(tbody tr)").tablesorter({ \$("#showListTableAnime:has(tbody tr)").tablesorter({
sortList: [[5,1],[1,0]],
sortList: [[6,1],[1,0]],
textExtraction: { textExtraction: {
0: function(node) { return \$(node).find("span").text().toLowerCase(); }, 0: function(node) { return \$(node).find("span").text().toLowerCase(); },
#if ( $layout != 'simple'): 3: function(node) { return \$(node).find("span").text().toLowerCase(); },
2: function(node) { return \$(node).find("img").attr("alt"); }, 4: function(node) { return \$(node).find("span").text(); },
#end if
3: function(node) { return \$(node).find("span").text(); },
5: function(node) { return \$(node).find("img").attr("alt"); } 5: function(node) { return \$(node).find("img").attr("alt"); }
}, },
widgets: ['saveSort', 'zebra'], widgets: ['saveSort', 'zebra', 'stickyHeaders', 'filter'],
headers: { headers: {
0: { sorter: 'cDate' }, 0: { sorter: 'isoDate' },
1: { sorter: 'loadingNames' }, 1: { sorter: 'loadingNames' },
2: { sorter: 'network' },
3: { sorter: 'quality' }, 3: { sorter: 'quality' },
4: { sorter: 'eps' }, 4: { sorter: 'eps' }
5: { sorter: 'active' }, },
6: { sorter: 'status' }, widgetOptions : {
} filter_columnFilters: false,
filter_reset: '.resetanime'
},
sortStable: true
}); });
\$.tablesorter.filter.bindSearch( "#showListTableShows", \$('.search') );
#if $sickbeard.ANIME_SPLIT_HOME:
\$.tablesorter.filter.bindSearch( "#showListTableAnime", \$('.search') );
#end if
#set $fuzzydate = 'airdate' #set $fuzzydate = 'airdate'
#if $sickbeard.FUZZY_DATING: #if $sickbeard.FUZZY_DATING:
fuzzyMoment({ fuzzyMoment({
@ -256,6 +146,55 @@ function invertSort(){
}); });
#end if #end if
var \$container = [\$('#container'), \$('#container-anime')];
jQuery.each(\$container, function (j) {
this.isotope({
itemSelector: '.show',
sortBy : '$sickbeard.POSTER_SORTBY',
sortAscending: $sickbeard.POSTER_SORTDIR,
layoutMode: 'masonry',
masonry: {
columnWidth: 12,
isFitWidth: true
},
getSortData: {
name: function( itemElem ) {
var name = \$( itemElem ).attr('data-name');
#if not $sickbeard.SORT_ARTICLE:
return (name || '').replace(/^(The|A|An)\s/i,'');
#else:
return (name || '');
#end if
},
network: '[data-network]',
date: function( itemElem ) {
var date = \$( itemElem ).attr('data-date');
return date.length && parseInt( date, 10 ) || Number.POSITIVE_INFINITY;
},
progress: function( itemElem ) {
var progress = \$( itemElem ).attr('data-progress');
return progress.length && parseInt( progress, 10 ) || Number.NEGATIVE_INFINITY;
}
}
});
});
\$('#postersort').on( 'change', function() {
var sortValue = this.value;
\$('#container').isotope({ sortBy: sortValue });
\$('#container-anime').isotope({ sortBy: sortValue });
\$.get(this.options[this.selectedIndex].getAttribute('data-sort'));
});
\$('#postersortdirection').on( 'change', function() {
var sortDirection = this.value;
sortDirection = sortDirection == 'true';
\$('#container').isotope({ sortAscending: sortDirection });
\$('#container-anime').isotope({ sortAscending: sortDirection });
\$.get(this.options[this.selectedIndex].getAttribute('data-sort'));
});
}); });
//--> //-->
@ -267,26 +206,44 @@ function invertSort(){
<h1 class="title">$title</h1> <h1 class="title">$title</h1>
#end if #end if
<div id="HomeLayout" style="float: right; margin-top: -25px;"> <div id="HomeLayout" class="pull-right" style="margin-top: -40px;">
<span> Layout: <span> Layout:
<a class="inner" href="$sbRoot/setHomeLayout/?layout=poster">Poster</a> &middot; <select name="layout" class="form-control form-control-inline input-sm" onchange="location = this.options[this.selectedIndex].value;">
<a class="inner" href="$sbRoot/setHomeLayout/?layout=small">Small Poster</a> &middot; <option value="$sbRoot/setHomeLayout/?layout=poster" #if $sickbeard.HOME_LAYOUT == "poster" then "selected=\"selected\"" else ""#>Poster</option>
<a class="inner" href="$sbRoot/setHomeLayout/?layout=banner">Banner</a> &middot; <option value="$sbRoot/setHomeLayout/?layout=small" #if $sickbeard.HOME_LAYOUT == "small" then "selected=\"selected\"" else ""#>Small Poster</option>
<a class="inner" href="$sbRoot/setHomeLayout/?layout=simple">Simple</a> <option value="$sbRoot/setHomeLayout/?layout=banner" #if $sickbeard.HOME_LAYOUT == "banner" then "selected=\"selected\"" else ""#>Banner</option>
<option value="$sbRoot/setHomeLayout/?layout=simple" #if $sickbeard.HOME_LAYOUT == "simple" then "selected=\"selected\"" else ""#>Simple</option>
</select>
</span> </span>
#if $layout == 'poster': #if $layout == 'poster':
<ul id="sort-by" class="option-set" data-option-key="sortBy"> &nbsp;
Sort By: <span> Sort By:
<li><a href="#sortBy=name" data-option-value="name">Name</a></li> &middot; <select id="postersort" class="form-control form-control-inline input-sm">
<li><a href="#sortBy=date" data-option-value="date">Next Episode</a></li> &middot; <option value="name" data-sort="$sbRoot/setPosterSortBy/?sort=name" #if $sickbeard.POSTER_SORTBY == "name" then "selected=\"selected\"" else ""#>Name</option>
<li><a href="#sortBy=network" data-option-value="network">Network</a></li> &middot; <option value="date" data-sort="$sbRoot/setPosterSortBy/?sort=date" #if $sickbeard.POSTER_SORTBY == "date" then "selected=\"selected\"" else ""#>Next Episode</option>
<li><a href="#sortBy=progress" data-option-value="progress">Progress</a></li> &middot; <option value="network" data-sort="$sbRoot/setPosterSortBy/?sort=network" #if $sickbeard.POSTER_SORTBY == "network" then "selected=\"selected\"" else ""#>Network</option>
</ul> <option value="progress" data-sort="$sbRoot/setPosterSortBy/?sort=progress" #if $sickbeard.POSTER_SORTBY == "progress" then "selected=\"selected\"" else ""#>Progress</option>
&nbsp;<a style="display: inline-block; float: right;" class="clearfix" href="javascript:invertSort();">Flip</a> </select>
</span>
&nbsp;
<span> Sort Order:
<select id="postersortdirection" class="form-control form-control-inline input-sm">
<option value="true" data-sort="$sbRoot/setPosterSortDir/?direction=1" #if $sickbeard.POSTER_SORTDIR == 1 then "selected=\"selected\"" else ""#>Asc</option>
<option value="false" data-sort="$sbRoot/setPosterSortDir/?direction=0" #if $sickbeard.POSTER_SORTDIR == 0 then "selected=\"selected\"" else ""#>Desc</option>
</select>
</span>
&nbsp;
#end if #end if
</div> </div>
#if $layout != 'poster':
<div class="pull-right">
<input class="search form-control form-control-inline input-sm input200" type="search" data-column="1" placeholder="Search Show Name"> <button type="button" class="resetshows resetanime btn btn-inline">Reset Search</button>
</div>
#end if
#for $curShowlist in $showlists: #for $curShowlist in $showlists:
#set $curListType = $curShowlist[0] #set $curListType = $curShowlist[0]
#set $myShowList = $list($curShowlist[1]) #set $myShowList = $list($curShowlist[1])
@ -296,7 +253,7 @@ function invertSort(){
#if $layout == 'poster': #if $layout == 'poster':
<div id=#if $curListType == "Anime" and $layout == 'poster' then "container-anime" else "container"# class="clearfix"> <div id=#if $curListType == "Anime" and $layout == 'poster' then "container-anime" else "container"# class="clearfix">
<div class="posterview">
#for $curLoadingShow in $sickbeard.showQueueScheduler.action.loadingShowList: #for $curLoadingShow in $sickbeard.showQueueScheduler.action.loadingShowList:
#if $curLoadingShow.show != None and $curLoadingShow.show in $sickbeard.showList: #if $curLoadingShow.show != None and $curLoadingShow.show in $sickbeard.showList:
@ -323,6 +280,11 @@ $myShowList.sort(lambda x, y: cmp(x.name, y.name))
#set $cur_downloaded = 0 #set $cur_downloaded = 0
#set $cur_total = 0 #set $cur_total = 0
#set $download_stat_tip = '' #set $download_stat_tip = ''
#if None is not $curShow.status and re.search(r'(?i)(?:new|returning)\s*series', $curShow.status)
#set $display_status = 'Continuing'
#else
#set $display_status = $curShow.status
#end if
#if $curShow.indexerid in $show_stat: #if $curShow.indexerid in $show_stat:
#set $cur_airs_next = $show_stat[$curShow.indexerid]['ep_airs_next'] #set $cur_airs_next = $show_stat[$curShow.indexerid]['ep_airs_next']
@ -365,27 +327,23 @@ $myShowList.sort(lambda x, y: cmp(x.name, y.name))
#set $progressbar_percent = $nom * 100 / $den #set $progressbar_percent = $nom * 100 / $den
#if "a" in sickbeard.DATE_PRESET: #set $data_date = '6000000000.0'
#set $showheight = "334px" #if $cur_airs_next:
#set $tableheight = "52px" #set $data_date = $time.mktime($sbdatetime.sbdatetime.convert_to_setting($network_timezones.parse_date_time($cur_airs_next,$curShow.airs,$curShow.network)).timetuple())
#else if "B" in sickbeard.DATE_PRESET: #else if None is not $display_status
#set $showheight = "374px" #if 'nded' not in $display_status and 1 == int($curShow.paused)
#set $tableheight = "92px" #set $data_date = '5000000500.0'
#else if "A" in sickbeard.DATE_PRESET: #else if 'ontinu' in $display_status
#set $showheight = "334px" #set $data_date = '5000000000.0'
#set $tableheight = "52px" #else if 'nded' in $display_status
#else #set $data_date = '5000000100.0'
#set $showheight = "323px"
#set $tableheight = "42px"
#end if #end if
#end if
<div class="show" style="height: $showheight" id="show$curShow.indexerid" data-name="$curShow.name" data-date="#if $cur_airs_next then $time.mktime($network_timezones.parse_date_time($cur_airs_next,$curShow.airs,$curShow.network).timetuple()) else ""#" data-network="$curShow.network" data-progress="$progressbar_percent"> <div class="show" id="show$curShow.indexerid" data-name="$curShow.name" data-date="$data_date" data-network="$curShow.network" data-progress="$progressbar_percent">
<div class="show-image"> <div class="show-image">
<a href="$sbRoot/home/displayShow?show=$curShow.indexerid"><img alt="" class="show-image" src="$sbRoot/showPoster/?show=$curShow.indexerid&amp;which=poster_thumb" /></a> <a href="$sbRoot/home/displayShow?show=$curShow.indexerid"><img alt="" class="show-image" src="$sbRoot/showPoster/?show=$curShow.indexerid&amp;which=poster_thumb" /></a>
<div class="show-image-slide">
<p>$curShow.name</p>
</div>
</div> </div>
<div id="progressbar$curShow.indexerid"></div> <div id="progressbar$curShow.indexerid"></div>
<script type="text/javascript"> <script type="text/javascript">
<!-- <!--
@ -410,65 +368,86 @@ $myShowList.sort(lambda x, y: cmp(x.name, y.name))
//--> //-->
</script> </script>
<table width="184px" height="$tableheight" cellspacing="1" border="0" cellpadding="0" style="padding-left: 2px; cursor: default;"> <div class="show-title">
<col width="120px" /> $curShow.name
<col width="59px" /> </div>
<tr> <div class="show-date">
<td style="text-align:center; vertical-align:middle;" colspan="3">
#if $cur_airs_next #if $cur_airs_next
#set $ldatetime = $network_timezones.parse_date_time($cur_airs_next,$curShow.airs,$curShow.network) #set $ldatetime = $sbdatetime.sbdatetime.convert_to_setting($network_timezones.parse_date_time($cur_airs_next,$curShow.airs,$curShow.network))
<div class="show-date">Next Ep: <span class="${fuzzydate}">$sbdatetime.sbdatetime.sbfdate($ldatetime)</span></div> <span class="${fuzzydate}">$sbdatetime.sbdatetime.sbfdate($ldatetime)</span>
#else if $curShow.status != "Ended" and int($curShow.paused) == 1:
<div class="show-status">Paused</div>
#else if $curShow.status:
<div class="show-status">$curShow.status</div>
#else #else
<div class="show-status">?</div> #set $output_html = '?'
#if None is not $display_status
#if 'nded' not in $display_status and 1 == int($curShow.paused)
#set $output_html = 'Paused'
#else if $display_status
#set $output_html = $display_status
#end if #end if
</td> #end if
</tr> $output_html
#end if
</div>
<table width="100%" cellspacing="1" border="0" cellpadding="0">
<tr> <tr>
<td style="text-align:center; vertical-align:middle;"> <td class="show-table">
<span class="show-dlstats" title="$download_stat_tip">$download_stat</span> <span class="show-dlstats" title="$download_stat_tip">$download_stat</span>
<div class="float-left">
#if $curShow.quality in $qualityPresets:
<span class="show-dlstats">$qualityPresetStrings[$curShow.quality]</span>
#else:
<span class="show-dlstats">Custom</span>
#end if
</td> </td>
<td style="text-align:center; vertical-align:middle;"> <td class="show-table">
#if $layout != 'simple': #if $layout != 'simple':
#if $curShow.network: #if $curShow.network:
<img class="show-network-image float-right" src="$sbRoot/images/network/${curShow.network.replace(u"\u00C9",'e').lower()}.png" alt="$curShow.network" title="$curShow.network" /> <img class="show-network-image" src="$sbRoot/images/network/${curShow.network.replace(u"\u00C9",'e').lower()}.png" alt="$curShow.network" title="$curShow.network" />
#else: #else:
<img class="show-network-image float-right" src="$sbRoot/images/network/nonetwork.png" alt="No Network" title="No Network" /> <img class="show-network-image" src="$sbRoot/images/network/nonetwork.png" alt="No Network" title="No Network" />
#end if #end if
#else: #else:
$curShow.network $curShow.network
#end if #end if
</td> </td>
<td class="show-table">
#if $curShow.quality in $qualityPresets:
<span class="show-quality">$qualityPresetStrings[$curShow.quality]</span>
#else:
<span class="show-quality">Custom</span>
#end if
</td>
</tr> </tr>
</table> </table>
</div> </div>
#end for #end for
</div> </div>
</div>
#else #else
<table id="showListTable$curListType" class="tablesorter" cellspacing="1" border="0" cellpadding="0"> <table id="showListTable$curListType" class="tablesorter" cellspacing="1" border="0" cellpadding="0">
<thead><tr><th class="nowrap">Next Ep</th><th>$curListType</th><th>Network</th><th>Quality</th><th>Downloads</th><th>Active</th><th>Status</th></tr></thead> <thead>
<tr>
<th class="nowrap">Next Ep</th>
<th>Show</th>
<th>Network</th>
<th>Quality</th>
<th>Downloads</th>
<th>Active</th>
<th>Status</th>
</tr>
</thead>
<tfoot> <tfoot>
<tr> <tr>
<th rowspan="1" colspan="1" align="center"><a href="$sbRoot/home/addShows/">&nbsp Add Show</a></th> <th rowspan="1" colspan="1" align="center"><a href="$sbRoot/home/addShows/">Add Show</a></th>
<th rowspan="1" colspan="7"></th> <th rowspan="1" colspan="6"></th>
</tr> </tr>
</tfoot> </tfoot>
<tbody> <tbody>
#for $curLoadingShow in $sickbeard.showQueueScheduler.action.loadingShowList: #for $curLoadingShow in $sickbeard.showQueueScheduler.action.loadingShowList:
@ -545,14 +524,16 @@ $myShowList.sort(lambda x, y: cmp(x.name, y.name))
#set $progressbar_percent = $nom * 100 / $den #set $progressbar_percent = $nom * 100 / $den
<tr> <tr>
#if $cur_airs_next #if $cur_airs_next
#set $ldatetime = $network_timezones.parse_date_time($cur_airs_next,$curShow.airs,$curShow.network) #set $ldatetime = $sbdatetime.sbdatetime.convert_to_setting($network_timezones.parse_date_time($cur_airs_next,$curShow.airs,$curShow.network))
<td align="center" class="nowrap"><div class="${fuzzydate}">$sbdatetime.sbdatetime.sbfdate($ldatetime)</div><span class="sort_data">$time.mktime($ldatetime.timetuple())</span></td> <td align="center" class="nowrap"><div class="${fuzzydate}">$sbdatetime.sbdatetime.sbfdate($ldatetime)</div><span class="sort_data">$time.mktime($ldatetime.timetuple())</span></td>
#else: #else:
<td align="center" class="nowrap"></td> <td align="center" class="nowrap"></td>
#end if #end if
#if $layout == 'small': #if $layout == 'small':
<td> <td class="tvShow">
<div class="imgsmallposter $layout"> <div class="imgsmallposter $layout">
<a href="$sbRoot/showPoster/?show=$curShow.indexerid&amp;which=$layout" rel="dialog" title="$curShow.name"> <a href="$sbRoot/showPoster/?show=$curShow.indexerid&amp;which=$layout" rel="dialog" title="$curShow.name">
<img src="$sbRoot/showPoster/?show=$curShow.indexerid&amp;which=poster_thumb" class="$layout" alt="$curShow.indexerid"/> <img src="$sbRoot/showPoster/?show=$curShow.indexerid&amp;which=poster_thumb" class="$layout" alt="$curShow.indexerid"/>
@ -571,25 +552,28 @@ $myShowList.sort(lambda x, y: cmp(x.name, y.name))
#else if $layout == 'simple': #else if $layout == 'simple':
<td class="tvShow"><a href="$sbRoot/home/displayShow?show=$curShow.indexerid">$curShow.name</a></td> <td class="tvShow"><a href="$sbRoot/home/displayShow?show=$curShow.indexerid">$curShow.name</a></td>
#end if #end if
<!--<td align="center">$curShow.network</td>//-->
<td align="center">
#if $layout != 'simple': #if $layout != 'simple':
<td align="center">
#if $curShow.network: #if $curShow.network:
<img id="network" width="54" height="27" src="$sbRoot/images/network/${curShow.network.replace(u"\u00C9",'e').lower()}.png" alt="$curShow.network" title="$curShow.network" /> <img id="network" width="54" height="27" src="$sbRoot/images/network/${curShow.network.replace(u"\u00C9",'e').lower()}.png" alt="$curShow.network" title="$curShow.network" />
#else: #else:
<img id="network" width="54" height="27" src="$sbRoot/images/network/nonetwork.png" alt="No Network" title="No Network" /> <img id="network" width="54" height="27" src="$sbRoot/images/network/nonetwork.png" alt="No Network" title="No Network" />
#end if #end if
#else:
$curShow.network
#end if
</td> </td>
#else:
<td>
$curShow.network
</td>
#end if
#if $curShow.quality in $qualityPresets: #if $curShow.quality in $qualityPresets:
<td align="center"><span class="quality $qualityPresetStrings[$curShow.quality]">$qualityPresetStrings[$curShow.quality]</span></td> <td align="center"><span class="quality $qualityPresetStrings[$curShow.quality]">$qualityPresetStrings[$curShow.quality]</span></td>
#else: #else:
<td align="center"><span class="quality Custom">Custom</span></td> <td align="center"><span class="quality Custom">Custom</span></td>
#end if #end if
<td align="center"><span style="display: none;">$download_stat</span><div id="progressbar$curShow.indexerid" style="position:relative;"></div>
<td align="center"><span style="display: none;">$progressbar_percent</span><div id="progressbar$curShow.indexerid" style="position:relative;"></div>
<script type="text/javascript"> <script type="text/javascript">
<!-- <!--
\$(function() { \$(function() {
@ -614,13 +598,25 @@ $myShowList.sort(lambda x, y: cmp(x.name, y.name))
//--> //-->
</script> </script>
</td> </td>
<td align="center"><img src="$sbRoot/images/#if int($curShow.paused) == 0 and $curShow.status != "Ended" then "yes16.png\" alt=\"Y\"" else "no16.png\" alt=\"N\""# width="16" height="16" /></td>
<td align="center">$curShow.status</td> <td align="center">
<img src="$sbRoot/images/#if int($curShow.paused) == 0 and $curShow.status != "Ended" then "yes16.png\" alt=\"Y\"" else "no16.png\" alt=\"N\""# width="16" height="16" />
</td>
<td align="center">
#if None is not $curShow.status and re.search(r'(?i)(?:new|returning)\s*series', $curShow.status)
Continuing
#else:
$curShow.status
#end if
</td>
</tr> </tr>
#end for #end for
</tbody> </tbody>
</table> </table>
#end if #end if
#end for #end for

View File

@ -11,8 +11,6 @@
#import os.path #import os.path
#include $os.path.join($sickbeard.PROG_DIR, "gui/slick/interfaces/default/inc_top.tmpl") #include $os.path.join($sickbeard.PROG_DIR, "gui/slick/interfaces/default/inc_top.tmpl")
<form id="addShowForm" method="post" action="$sbRoot/home/addShows/addNewShow" accept-charset="utf-8">
<script type="text/javascript" src="$sbRoot/js/qualityChooser.js?$sbPID"></script> <script type="text/javascript" src="$sbRoot/js/qualityChooser.js?$sbPID"></script>
<script type="text/javascript" src="$sbRoot/js/addExistingShow.js?$sbPID"></script> <script type="text/javascript" src="$sbRoot/js/addExistingShow.js?$sbPID"></script>
<script type="text/javascript" src="$sbRoot/js/rootDirs.js?$sbPID"></script> <script type="text/javascript" src="$sbRoot/js/rootDirs.js?$sbPID"></script>
@ -29,44 +27,57 @@
//--> //-->
</script> </script>
<div id="content960">
#if $varExists('header') #if $varExists('header')
<h1 class="header">$header</h1> <h1 class="header">$header</h1>
#else #else
<h1 class="title">$title</h1> <h1 class="title">$title</h1>
#end if #end if
<div id="summary2" class="align-left"> <div id="newShowPortal">
<div id="config-components">
<ul>
<li><a href="#core-component-group1">Add Existing Show</a></li>
</ul>
<div id="core-component-group1" class="tab-pane active component-group">
<form id="addShowForm" method="post" action="$sbRoot/home/addShows/addNewShow" accept-charset="utf-8">
<div id="tabs"> <div id="tabs">
<ul> <ul>
<li><a href="#tabs-1">Manage Directories</a></li> <li><a href="#tabs-1">Manage Directories</a></li>
<li><a href="#tabs-2">Customize Options</a></li> <li><a href="#tabs-2">Customize Options</a></li>
</ul> </ul>
<div id="tabs-1"> <div id="tabs-1" class="existingtabs">
#include $os.path.join($sickbeard.PROG_DIR, "gui/slick/interfaces/default/inc_rootDirs.tmpl") #include $os.path.join($sickbeard.PROG_DIR, "gui/slick/interfaces/default/inc_rootDirs.tmpl")
</div> </div>
<div id="tabs-2"> <div id="tabs-2" class="existingtabs">
#include $os.path.join($sickbeard.PROG_DIR, "gui/slick/interfaces/default/inc_addShowOptions.tmpl") #include $os.path.join($sickbeard.PROG_DIR, "gui/slick/interfaces/default/inc_addShowOptions.tmpl")
</div> </div>
</div> </div>
<br /> <br />
<p class="align-left">SickRage can add existing shows, using the current options, by using locally stored NFO/XML metadata to eliminate user interaction.<br /> <p>SickRage can add existing shows, using the current options, by using locally stored NFO/XML metadata to eliminate user interaction.
If you would rather have SickRage prompt you to customize each show, then use the checkbox below.</p> If you would rather have SickRage prompt you to customize each show, then use the checkbox below.</p>
<br />
<p class="align-left"><input type="checkbox" name="promptForSettings" id="promptForSettings" /> <label for="promptForSettings">Prompt me to set settings for each show</label></p> <p><input type="checkbox" name="promptForSettings" id="promptForSettings" /> <label for="promptForSettings">Prompt me to set settings for each show</label></p>
<br />
<hr /> <hr />
<br />
<h4>Displaying folders within these directories which aren't already added to SickRage:</h4> <p><b>Displaying folders within these directories which aren't already added to SickRage:</b></p>
<br />
<ul id="rootDirStaticList"><li></li></ul> <ul id="rootDirStaticList"><li></li></ul>
<br /> <br />
<div id="tableDiv"></div> <div id="tableDiv"></div>
<br /> <br />
<br />
<input class="btn btn-primary" type="button" value="Submit" id="submitShowDirs" /> <input class="btn btn-primary" type="button" value="Submit" id="submitShowDirs" />
</div></div>
</form> </form>
</div>
</div>
</div>
#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,28 +11,28 @@
#import os.path #import os.path
#include $os.path.join($sickbeard.PROG_DIR, "gui/slick/interfaces/default/inc_top.tmpl") #include $os.path.join($sickbeard.PROG_DIR, "gui/slick/interfaces/default/inc_top.tmpl")
<div id="content960">
#if $varExists('header') #if $varExists('header')
<h1 class="header">$header</h1> <h1 class="header">$header</h1>
#else #else
<h1 class="title">$title</h1> <h1 class="title">$title</h1>
#end if #end if
<div id="addShowPortal" class="clearfix"> <div id="addShowPortal">
<a href="$sbRoot/home/addShows/newShow/" id="btnNewShow" class="btn btn-large"> <a href="$sbRoot/home/addShows/newShow/" id="btnNewShow" class="btn btn-large">
<div class="button"><img src="$sbRoot/images/add-new32.png" height="32" width="32" alt="Add New Show"/></div> <div class="button"><div class="icon-addnewshow"></div></div>
<div class="buttontext"> <div class="buttontext">
<h2>Add New Show</h2> <h3>Add New Show</h3>
<p>For shows that you haven't downloaded yet, this option finds a show on theTVDB.com and TVRage.com, creates a directory for its episodes, and adds it to SickRage.</p> <p>For shows that you haven't downloaded yet, this option finds a show on theTVDB.com and TVRage.com, creates a directory for its episodes, and adds it to SickRage.</p>
</div> </div>
</a> </a>
<br/><br/> <br/><br/>
<a href="$sbRoot/home/addShows/trendingShows/" id="btnNewShow" class="btn btn-large"> <a href="$sbRoot/home/addShows/trendingShows/" id="btnNewShow" class="btn btn-large">
<div class="button"><img src="$sbRoot/images/add-trending32.png" height="32" width="32" alt="Add Trending Shows"/></div> <div class="button"><div class="icon-addtrendingshow"></div></div>
<div class="buttontext"> <div class="buttontext">
<h2>Add Trending Show</h2> <h3>Add Trending Show</h3>
<p>For shows that you haven't downloaded yet, this option lets you choose from a list of current trending shows with ratings to add, creates a directory for its episodes, and adds it to SickRage.</p> <p>For shows that you haven't downloaded yet, this option lets you choose from a list of current trending shows with ratings to add, creates a directory for its episodes, and adds it to SickRage.</p>
</div> </div>
</a> </a>
@ -40,24 +40,24 @@
<br/><br/> <br/><br/>
#if $sickbeard.USE_TRAKT == True: #if $sickbeard.USE_TRAKT == True:
<a href="$sbRoot/home/addShows/recommendedShows/" id="btnNewShow" class="btn btn-large"> <a href="$sbRoot/home/addShows/recommendedShows/" id="btnNewShow" class="btn btn-large">
<div class="button"><img src="$sbRoot/images/add-trakt32.png" height="32" width="32" alt="Add Recommended Shows"/></div> <div class="button"><div class="icon-addrecommendedshow"></div></div>
<div class="buttontext"> <div class="buttontext">
<h2>Add Recommended Shows</h2> <h3>Add Recommended Shows</h3>
<p>For shows that you haven't downloaded yet, this option recommends shows to add based on your Trakt.tv show library, creates a directory for its episodes, and adds it to SickRage. *** Trakt.tv must be enabled ***</p> <p>For shows that you haven't downloaded yet, this option recommends shows to add based on your Trakt.tv show library, creates a directory for its episodes, and adds it to SickRage.</p>
</div> </div>
</a> </a>
<br/><br/> <br/><br/>
#end if #end if
<a href="$sbRoot/home/addShows/existingShows/" id="btnExistingShow" class="btn btn-large"> <a href="$sbRoot/home/addShows/existingShows/" id="btnExistingShow" class="btn btn-large">
<div class="button"><img src="$sbRoot/images/add-existing32.png" height="32" width="32" alt="Add Existing Shows"/></div> <div class="button"><div class="icon-addexistingshow"></div></div>
<div class="buttontext"> <div class="buttontext">
<h2>Add Existing Shows</h2> <h3>Add Existing Shows</h3>
<p>Use this option to add shows that already have a folder created on your hard drive. SickRage will scan your existing metadata/episodes and add the show accordingly.</p> <p>Use this option to add shows that already have a folder created on your hard drive. SickRage will scan your existing metadata/episodes and add the show accordingly.</p>
</div> </div>
</a> </a>
</div> </div>
</div>
#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

@ -1,12 +1,8 @@
#import sickbeard #import sickbeard
#from sickbeard.helpers import anon_url
<table id="addRootDirTable" class="sickbeardTable tablesorter"> <table id="addRootDirTable" class="sickbeardTable tablesorter">
<thead><tr><th width="1%"><input type="checkbox" id="checkAll" checked=checked></th><th>Directory</th><th width="20%">Show Name (tvshow.nfo)<th width="20%">Indexer</td></tr></thead> <thead><tr><th class="col-checkbox"><input type="checkbox" id="checkAll" checked=checked></th><th>Directory</th><th width="20%">Show Name (tvshow.nfo)<th width="20%">Indexer</td></tr></thead>
<tfoot>
<tr>
<th rowspan="1" colspan="4" align="left"><a href="#" style="padding-left: 10px;" class="showManage">Manage Directories</a></th>
</tr>
</tfoot>
<tbody> <tbody>
#for $curDir in $dirList: #for $curDir in $dirList:
#if $curDir['added_already']: #if $curDir['added_already']:
@ -27,10 +23,10 @@
#end if #end if
<tr> <tr>
<td align="center"><input type="checkbox" id="$show_id" class="dirCheck" checked=checked></td> <td class="col-checkbox"><input type="checkbox" id="$show_id" class="dirCheck" checked=checked></td>
<td><label for="$show_id">$curDir['display_dir']</label></td> <td><label for="$show_id">$curDir['display_dir']</label></td>
#if $curDir['existing_info'][1] and $indexer > 0: #if $curDir['existing_info'][1] and $indexer > 0:
<td><a href="$sickbeard.indexerApi($indexer).config["show_url"]$curDir['existing_info'][0]">$curDir['existing_info'][1]</a></td> <td><a href="<%= anon_url(sickbeard.indexerApi(indexer).config['show_url'], curDir['existing_info'][0]) %>">$curDir['existing_info'][1]</a></td>
#else: #else:
<td>?</td> <td>?</td>
#end if #end if

View File

@ -1,5 +1,7 @@
#import os.path #import os.path
#import sickbeard #import sickbeard
#from sickbeard.helpers import anon_url
#set global $header="New Show" #set global $header="New Show"
#set global $title="New Show" #set global $title="New Show"
@ -16,18 +18,24 @@
<script type="text/javascript" src="$sbRoot/js/newShow.js?$sbPID"></script> <script type="text/javascript" src="$sbRoot/js/newShow.js?$sbPID"></script>
<script type="text/javascript" src="$sbRoot/js/addShowOptions.js?$sbPID"></script> <script type="text/javascript" src="$sbRoot/js/addShowOptions.js?$sbPID"></script>
<div id="content960">
#if $varExists('header') #if $varExists('header')
<h1 class="header">$header</h1> <h1 class="header">$header</h1>
#else #else
<h1 class="title">$title</h1> <h1 class="title">$title</h1>
#end if #end if
<div id="summary2" class="align-left">
<div id="newShowPortal">
<div id="config-components">
<ul>
<li><a href="#core-component-group1">Add New Show</a></li>
</ul>
<div id="core-component-group1" class="tab-pane active component-group">
<div id="displayText">aoeu</div> <div id="displayText">aoeu</div>
<br /> <br />
<form id="addShowForm" method="post" action="$sbRoot/home/addShows/addNewShow" accept-charset="utf-8" style="width: 800px;"> <form id="addShowForm" method="post" action="$sbRoot/home/addShows/addNewShow" accept-charset="utf-8">
<fieldset class="sectionwrap"> <fieldset class="sectionwrap">
<legend class="legendStep">Find a show on the TVDB or TVRAGE</legend> <legend class="legendStep">Find a show on the TVDB or TVRAGE</legend>
@ -36,27 +44,29 @@
<input type="hidden" id="indexer_timeout" value="$sickbeard.INDEXER_TIMEOUT" /> <input type="hidden" id="indexer_timeout" value="$sickbeard.INDEXER_TIMEOUT" />
#if $use_provided_info: #if $use_provided_info:
Show retrieved from existing metadata: <a href="$sickbeard.indexerApi($provided_indexer).config["show_url"]$provided_indexer_id">$provided_indexer_name</a> Show retrieved from existing metadata: <a href="<%= anon_url(sickbeard.indexerApi(provided_indexer).config['show_url'], provided_indexer_id) %>">$provided_indexer_name</a>
<input type="hidden" name="indexerLang" value="en" /> <input type="hidden" name="indexerLang" value="en" />
<input type="hidden" name="whichSeries" value="$provided_indexer_id" /> <input type="hidden" name="whichSeries" value="$provided_indexer_id" />
<input type="hidden" id="providedName" value="$provided_indexer_name" /> <input type="hidden" id="providedName" value="$provided_indexer_name" />
<input type="hidden" id="providedIndexer" value="$provided_indexer" /> <input type="hidden" id="providedIndexer" value="$provided_indexer" />
#else: #else:
<div id="middlewrap">
<div id="middle"><input type="text" id="nameToSearch" value="$default_show_name" style="height: 20px; width: 300px; margin-right: 15px;" /></div>
<div id="middle"><select name="indexerLang" id="indexerLangSelect" style="margin-right: 2px;">
<option value="en" selected="selected">en</option>
</select><b>*</b></div>
<div id="middle"><select name="providedIndexer" id="providedIndexer" style="margin-left: 8px; margin-right: 10px;"> <input type="text" id="nameToSearch" value="$default_show_name" class="form-control form-control-inline input-sm input350" />
&nbsp;&nbsp;
<select name="indexerLang" id="indexerLangSelect" class="form-control form-control-inline input-sm">
<option value="en" selected="selected">en</option>
</select><b>*</b>
&nbsp;
<select name="providedIndexer" id="providedIndexer" class="form-control form-control-inline input-sm">
<option value="0" #if $provided_indexer == 0 then "selected=\"selected\"" else ""#>All Indexers</option> <option value="0" #if $provided_indexer == 0 then "selected=\"selected\"" else ""#>All Indexers</option>
#for $indexer in $indexers #for $indexer in $indexers
<option value="$indexer" #if $provided_indexer == $indexer then "selected=\"selected\"" else ""#>$indexers[$indexer]</option> <option value="$indexer" #if $provided_indexer == $indexer then "selected=\"selected\"" else ""#>$indexers[$indexer]</option>
#end for #end for
</select></div> </select>
<div id="middle"><input class="btn" style="margin-top: 0px !important;" type="button" id="searchName" value="Search" /></div> &nbsp;
</div> <input class="btn btn-inline" type="button" id="searchName" value="Search" />
<br />
<br /><br />
<b>*</b> This will only affect the language of the retrieved metadata file contents and episode filenames.<br /> <b>*</b> This will only affect the language of the retrieved metadata file contents and episode filenames.<br />
This <b>DOES NOT</b> allow SickRage to download non-english TV episodes!<br /> This <b>DOES NOT</b> allow SickRage to download non-english TV episodes!<br />
<br /> <br />
@ -103,6 +113,6 @@
<script type="text/javascript" src="$sbRoot/js/rootDirs.js?$sbPID"></script> <script type="text/javascript" src="$sbRoot/js/rootDirs.js?$sbPID"></script>
</div></div> </div></div></div></div>
#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

@ -14,8 +14,8 @@
<h1 class="title">$title</h1> <h1 class="title">$title</h1>
#end if #end if
<div id="summary2" class="align-left"> <div id="postProcess">
<form name="processForm" method="post" action="processEpisode" style="line-height: 44px;"> <form name="processForm" method="post" action="processEpisode" style="line-height: 40px;">
<table> <table>
<input type="hidden" id="type" name="type" value="manual"> <input type="hidden" id="type" name="type" value="manual">
<tr> <tr>
@ -23,7 +23,7 @@
<b>Enter the folder containing the episode:</b> <b>Enter the folder containing the episode:</b>
</td> </td>
<td> <td>
<input type="text" name="dir" id="episodeDir" size="50" /> <input type="text" name="dir" id="episodeDir" class="form-control form-control-inline input-sm input350" />
</td> </td>
</tr> </tr>
<tr> <tr>
@ -31,7 +31,7 @@
<b>Process Method to be used:</b> <b>Process Method to be used:</b>
</td> </td>
<td> <td>
<select name="process_method" id="process_method" class="input-medium" > <select name="process_method" id="process_method" class="form-control form-control-inline input-sm" >
#set $process_method_text = {'copy': "Copy", 'move': "Move", 'hardlink': "Hard Link", 'symlink' : "Symbolic Link"} #set $process_method_text = {'copy': "Copy", 'move': "Move", 'hardlink': "Hard Link", 'symlink' : "Symbolic Link"}
#for $curAction in ('copy', 'move', 'hardlink', 'symlink'): #for $curAction in ('copy', 'move', 'hardlink', 'symlink'):
#if $sickbeard.PROCESS_METHOD == $curAction: #if $sickbeard.PROCESS_METHOD == $curAction:
@ -72,7 +72,7 @@
</tr> </tr>
#end if #end if
</table> </table>
<input id="submit" class="btn btn-primary" type="submit" value="Process" /> <input id="submit" class="btn" type="submit" value="Process" />
</form> </form>
<script type="text/javascript" charset="utf-8"> <script type="text/javascript" charset="utf-8">
@ -80,6 +80,6 @@
jQuery('#episodeDir').fileBrowser({ title: 'Select Unprocessed Episode Folder', key: 'postprocessPath' }); jQuery('#episodeDir').fileBrowser({ title: 'Select Unprocessed Episode Folder', key: 'postprocessPath' });
//--> //-->
</script> </script>
</div></div> </div>
#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

@ -18,19 +18,19 @@
<script type="text/javascript" src="$sbRoot/js/recommendedShows.js?$sbPID"></script> <script type="text/javascript" src="$sbRoot/js/recommendedShows.js?$sbPID"></script>
<script type="text/javascript" src="$sbRoot/js/addShowOptions.js?$sbPID"></script> <script type="text/javascript" src="$sbRoot/js/addShowOptions.js?$sbPID"></script>
<div id="content960">
#if $varExists('header') #if $varExists('header')
<h1 class="header">$header</h1> <h1 class="header">$header</h1>
#else #else
<h1 class="title">$title</h1> <h1 class="title">$title</h1>
#end if #end if
<div id="summary2" class="align-left"> <div id="newShowPortal">
<div id="displayText"></div> <div id="displayText"></div>
<br /> <br />
<form id="recommendedShowsForm" method="post" action="$sbRoot/home/addShows/addRecommendedShow" accept-charset="utf-8" style="width: 800px;"> <form id="recommendedShowsForm" method="post" action="$sbRoot/home/addShows/addRecommendedShow" accept-charset="utf-8" style="width: 800px;">
<fieldset class="sectionwrap"> <fieldset class="sectionwrap">
<legend class="legendStep">Select a recommended show</legend> <legend class="legendStep">Select a recommended show</legend>
@ -64,6 +64,6 @@
<script type="text/javascript" src="$sbRoot/js/rootDirs.js?$sbPID"></script> <script type="text/javascript" src="$sbRoot/js/rootDirs.js?$sbPID"></script>
</div></div> </div>
#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

@ -3,57 +3,167 @@
#import re #import re
#from sickbeard.common import * #from sickbeard.common import *
#from sickbeard import sbdatetime #from sickbeard import sbdatetime
#from sickbeard.helpers import anon_url
#set global $title="Trending Shows" #set global $title='Trending Shows'
#set global $header="Trending Shows" #set global $header='Trending Shows'
#set global $sbPath=".." #set global $sbPath='..'
#set global $topmenu="comingEpisodes" #set global $topmenu='comingEpisodes'
#import os.path #import os.path
#include $os.path.join($sickbeard.PROG_DIR, "gui/slick/interfaces/default/inc_top.tmpl") #include $os.path.join($sickbeard.PROG_DIR, 'gui/slick/interfaces/default/inc_top.tmpl')
<script type="text/javascript" src="$sbRoot/js/rootDirs.js?$sbPID"></script>
<script type="text/javascript" src="$sbRoot/js/plotTooltip.js?$sbPID"></script> <script type="text/javascript" src="$sbRoot/js/plotTooltip.js?$sbPID"></script>
<script type="text/javascript" charset="utf-8">
<!--
\$(document).ready(function(){
\$( "#tabs" ).tabs({
collapsible: true,
selected: #if $sickbeard.ROOT_DIRS then '-1' else '0'#
});
// initialise combos for dirty page refreshes
\$('#showsort').val('original');
\$('#showsortdirection').val('asc');
var \$container = [\$('#container')];
jQuery.each(\$container, function (j) {
this.isotope({
itemSelector: '.trakt_show',
sortBy: 'original-order',
layoutMode: 'fitRows',
getSortData: {
name: function( itemElem ) {
var name = \$( itemElem ).attr('data-name') || '';
#if not $sickbeard.SORT_ARTICLE:
name = name.replace(/^(The|A|An)\s/i, '');
#end if
return name.toLowerCase();
},
rating: '[data-rating] parseInt',
votes: '[data-votes] parseInt',
}
});
});
\$('#showsort').on( 'change', function() {
var sortCriteria;
switch (this.value) {
case 'original':
sortCriteria = 'original-order'
break;
case 'rating':
/* randomise, else the rating_votes can already
* have sorted leaving this with nothing to do.
*/
\$('#container').isotope({sortBy: 'random'});
sortCriteria = 'rating';
break;
case 'rating_votes':
sortCriteria = ['rating', 'votes'];
break;
case 'votes':
sortCriteria = 'votes';
break;
default:
sortCriteria = 'name'
break;
}
\$('#container').isotope({sortBy: sortCriteria});
});
\$('#showsortdirection').on( 'change', function() {
\$('#container').isotope({sortAscending: ('asc' == this.value)});
});
});
//-->
</script>
#if $varExists('header') #if $varExists('header')
<h1 class="header">$header</h1> <h1 class="header">$header</h1>
#else #else
<h1 class="title">$title</h1> <h1 class="title">$title</h1>
#end if #end if
<table id="trakt" width="100%" cellspacing="1" border="0" cellpadding="0"> #if $trending_shows
#for $i, $cur_show in $enumerate($trending_shows): <div id="tabs">
#set $image = re.sub(r"(.*)(\..*?)$", r"\1-300\2", $cur_show["images"]["poster"], 0, re.IGNORECASE | re.MULTILINE) <ul>
#if not $i%5 <li><a href="#tabs-1">Manage Directories</a></li>
<tr> <li><a href="#tabs-2">Customize Options</a></li>
</ul>
<div id="tabs-1" class="existingtabs">
#include $os.path.join($sickbeard.PROG_DIR, "gui/slick/interfaces/default/inc_rootDirs.tmpl")
</div>
<div id="tabs-2" class="existingtabs">
#include $os.path.join($sickbeard.PROG_DIR, "gui/slick/interfaces/default/inc_addShowOptions.tmpl")
</div>
<br>
<span>Sort By:</span>
<select id="showsort" class="form-control form-control-inline input-sm">
<option value="name">Name</option>
<option value="original" selected="selected">Original</option>
<option value="votes">Votes</option>
<option value="rating">% Rating</option>
<option value="rating_votes">% Rating > Votes</option>
</select>
<span style="margin-left:12px">Sort Order:</span>
<select id="showsortdirection" class="form-control form-control-inline input-sm">
<option value="asc" selected="selected">Asc</option>
<option value="desc">Desc</option>
</select>
</div>
#end if #end if
<td class="trakt_show"> <div id="container">
#if None is $trending_shows
<div class="trakt_show" style="width:100%; margin-top:20px">
<p class="red-text">Trakt API did not return results, this can happen from time to time.
<br /><br />This view should auto refresh every 10 mins.</p>
</div>
#else
#for $cur_show in $trending_shows:
#if not 'ExistsInLibrary' in $cur_show['tvdb_id']:
#set $image = re.sub(r'(?im)(.*)(\..*?)$', r'\1-300\2', $cur_show['images']['poster'], 0)
<div class="trakt_show" data-name="$cur_show['title']" data-rating="$cur_show['ratings']['percentage']" data-votes="$cur_show['ratings']['votes']">
<div class="traktContainer"> <div class="traktContainer">
<div class="trakt-image"> <div class="trakt-image">
<a href="${cur_show["url"]}" target="_blank"><img alt="" class="trakt-image" src="${image}" /></a> <a class="trakt-image" href="<%= anon_url(cur_show['url']) %>" target="_blank"><img alt="" class="trakt-image" src="${image}" /></a>
<div class="trakt-image-slide">
<p>$cur_show["title"]</p>
</div> </div>
<div class="show-title">
<%= (cur_show['title'], '<span>&nbsp;</span>')[ '' == cur_show['title']] %>
</div> </div>
<div class="clearfix"> <div class="clearfix">
<h2>$cur_show["ratings"]["percentage"]% <img src="$sbRoot/images/heart.png"></h2> <p>$cur_show['ratings']['percentage']% <img src="$sbRoot/images/heart.png"></p>
<i>$cur_show["ratings"]["votes"] votes</i> <i>$cur_show['ratings']['votes'] votes</i>
<div class="traktShowTitleIcons"> <div class="traktShowTitleIcons">
<a href="$sbRoot/home/addTraktShow?indexer_id=${cur_show["tvdb_id"]}&amp;showName=${cur_show["title"]}" class="btn btn-mini">Add Show</a> <a href="$sbRoot/home/addTraktShow?indexer_id=${cur_show['tvdb_id']}&amp;showName=${cur_show['title']}" class="btn btn-xs">Add Show</a>
</div>
</div> </div>
</div> </div>
</div> </div>
</td>
#end if
#end for #end for
</table> #end if
</div>
<script type="text/javascript" charset="utf-8"> <script type="text/javascript" charset="utf-8">
<!-- <!--
window.setInterval( "location.reload(true)", 600000); // Refresh every 10 minutes window.setInterval('location.reload(true)', 600000); // Refresh every 10 minutes
//--> //-->
</script> </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

@ -3,49 +3,58 @@
#from sickbeard import subtitles #from sickbeard import subtitles
#if $sickbeard.USE_SUBTITLES: #if $sickbeard.USE_SUBTITLES:
<div class="field-pair alt"> <br><div class="field-pair">
<input type="checkbox" name="subtitles" id="subtitles" #if $sickbeard.SUBTITLES_DEFAULT then "checked=\"checked\"" else ""# />
<label for="subtitles" class="clearfix"> <label for="subtitles" class="clearfix">
<span class="component-title">Subtitles</span> <span class="component-title">Subtitles</span>
<span class="component-desc">Download subtitles for this show?</span> <span class="component-desc">
<input type="checkbox" name="subtitles" id="subtitles" #if $sickbeard.SUBTITLES_DEFAULT then "checked=\"checked\"" else ""# />
<p>Download subtitles for this show?</p>
</span>
</label> </label>
</div> </div>
#end if #end if
<div class="field-pair"> <div class="field-pair">
<label for="statusSelect" class="nocheck clearfix"> <label for="statusSelect">
<span class="component-title"> <span class="component-title">Set the initial status<br /> of missing episodes</span>
<select name="defaultStatus" id="statusSelect"> <span class="component-desc">
<select name="defaultStatus" id="statusSelect" class="form-control form-control-inline input-sm">
#for $curStatus in [$SKIPPED, $WANTED, $ARCHIVED, $IGNORED]: #for $curStatus in [$SKIPPED, $WANTED, $ARCHIVED, $IGNORED]:
<option value="$curStatus" #if $sickbeard.STATUS_DEFAULT == $curStatus then 'selected="selected"' else ''#>$statusStrings[$curStatus]</option> <option value="$curStatus" #if $sickbeard.STATUS_DEFAULT == $curStatus then 'selected="selected"' else ''#>$statusStrings[$curStatus]</option>
#end for #end for
</select> </select>
</span> </span>
<span class="component-desc">Set the initial status of missing episodes</span>
</label> </label>
</div> </div>
<div class="field-pair alt"> <div class="field-pair alt">
<input class="cb" type="checkbox" name="flatten_folders" id="flatten_folders" #if $sickbeard.FLATTEN_FOLDERS_DEFAULT then "checked=\"checked\"" else ""# />
<label for="flatten_folders" class="clearfix"> <label for="flatten_folders" class="clearfix">
<span class="component-title">Flatten Folders</span> <span class="component-title">Flatten Folders</span>
<span class="component-desc">Disregard sub-folders?</span> <span class="component-desc">
<input class="cb" type="checkbox" name="flatten_folders" id="flatten_folders" #if $sickbeard.FLATTEN_FOLDERS_DEFAULT then "checked=\"checked\"" else ""# />
<p>Disregard sub-folders?</p>
</span>
</label> </label>
</div> </div>
<div class="field-pair alt"> <div class="field-pair alt">
<input type="checkbox" name="anime" id="anime" #if $sickbeard.ANIME_DEFAULT then "checked=\"checked\"" else ""# />
<label for="anime" class="clearfix"> <label for="anime" class="clearfix">
<span class="component-title">Anime</span> <span class="component-title">Anime</span>
<span class="component-desc">Is this show an Anime?</span> <span class="component-desc">
<input type="checkbox" name="anime" id="anime" #if $sickbeard.ANIME_DEFAULT then "checked=\"checked\"" else ""# />
<p>Is this show an Anime?<p>
</span>
</label> </label>
</div> </div>
<div class="field-pair alt"> <div class="field-pair alt">
<input type="checkbox" name="scene" id="scene" #if $sickbeard.SCENE_DEFAULT then "checked=\"checked\"" else ""# />
<label for="scene" class="clearfix"> <label for="scene" class="clearfix">
<span class="component-title">Scene Numbering</span> <span class="component-title">Scene Numbering</span>
<span class="component-desc">Is this show scene numbered?</span> <span class="component-desc">
<input type="checkbox" name="scene" id="scene" #if $sickbeard.SCENE_DEFAULT then "checked=\"checked\"" else ""# />
<p>Is this show scene numbered?</p>
</span>
</label> </label>
</div> </div>
@ -54,9 +63,12 @@
#set global $bestQualities = $qualities[1] #set global $bestQualities = $qualities[1]
#include $os.path.join($sickbeard.PROG_DIR, "gui/slick/interfaces/default/inc_qualityChooser.tmpl") #include $os.path.join($sickbeard.PROG_DIR, "gui/slick/interfaces/default/inc_qualityChooser.tmpl")
<br>
<div class="field-pair alt"> <div class="field-pair alt">
<label for="saveDefaultsButton" class="nocheck clearfix"> <label for="saveDefaultsButton" class="nocheck clearfix">
<span class="component-title"><input class="btn" type="button" id="saveDefaultsButton" value="Save Defaults" disabled="disabled" /></span> <span class="component-title"><input class="btn btn-inline" type="button" id="saveDefaultsButton" value="Save Defaults" disabled="disabled" /></span>
<span class="component-desc">Persist current values as the defaults</span> <span class="component-desc">
<p>Use current values as the defaults</p>
</span>
</label> </label>
</div> </div><br>

View File

@ -1,5 +1,5 @@
<b>Fansub Groups:</b> <b>Fansub Groups:</b>
<div class="component-group-desc"> <div >
<p>Select your preferred fansub groups from the <b>Available Groups</b> and add them to the <b>Whitelist</b>. Add groups to the <b>Blacklist</b> to ignore them.</p> <p>Select your preferred fansub groups from the <b>Available Groups</b> and add them to the <b>Whitelist</b>. Add groups to the <b>Blacklist</b> to ignore them.</p>
<p>The <b>Whitelist</b> is checked <i>before</i> the <b>Blacklist</b>.</p> <p>The <b>Whitelist</b> is checked <i>before</i> the <b>Blacklist</b>.</p>
<p>Groups are shown as <b>Name</b> | <b>Rating</b> | <b>Number of subbed episodes</b>.</p> <p>Groups are shown as <b>Name</b> | <b>Rating</b> | <b>Number of subbed episodes</b>.</p>
@ -44,9 +44,9 @@
</div> </div>
<br style="clear:both" /> <br style="clear:both" />
<div class="blackwhitelist manual"> <div class="blackwhitelist manual">
<input type="text" id="addToPoolText" size="30" /> <input type="text" id="addToPoolText" class="form-control form-control-inline input-sm input250" />
<input class="btn" type="button" value="Add to Whitelist" id="addToWhite"> <input class="btn btn-inline" type="button" value="Add to Whitelist" id="addToWhite">
<input class="btn" type="button" value="Add to Blacklist" id="addToBlack"> <input class="btn btn-inline" type="button" value="Add to Blacklist" id="addToBlack">
</div> </div>
</div> </div>
<br style="clear:both" /> <br style="clear:both" />

View File

@ -6,8 +6,8 @@
</div> <!-- /content --> </div> <!-- /content -->
</div> <!-- /contentWrapper --> </div> <!-- /contentWrapper -->
<footer>
<div class="footer clearfix"> <div class="footer clearfix">
<div class="meta" style="display: table; margin: 0 auto; font-size: 12px;">
#set $myDB = $db.DBConnection() #set $myDB = $db.DBConnection()
#set $today = str($datetime.date.today().toordinal()) #set $today = str($datetime.date.today().toordinal())
#set status_quality = '(' + ','.join([str(quality) for quality in $Quality.SNATCHED + $Quality.SNATCHED_PROPER]) + ')' #set status_quality = '(' + ','.join([str(quality) for quality in $Quality.SNATCHED + $Quality.SNATCHED_PROPER]) + ')'
@ -49,7 +49,7 @@
<li><a href="$sbRoot/home/shutdown/?pid=$sbPID" class="confirm"><img src="$sbRoot/images/menu/shutdown16.png" alt="" width="16" height="16" style="vertical-align:middle;" />Shutdown</a></li> <li><a href="$sbRoot/home/shutdown/?pid=$sbPID" class="confirm"><img src="$sbRoot/images/menu/shutdown16.png" alt="" width="16" height="16" style="vertical-align:middle;" />Shutdown</a></li>
</ul> </ul>
--> -->
</div> </footer>
</body> </body>
</html> </html>

View File

@ -1,33 +0,0 @@
#import sickbeard
<span id="sampleImdbWl"></span>
#if $sickbeard.IMDB_WATCHLISTCSV:
#set $backend_pieces = $sickbeard.IMDB_WATCHLISTCSV.split('|')
#else:
#set $backend_pieces = []
#end if
<div style="padding: 10px 0 5px;">
<select name="imdbWatchlistCsv" id="imdbWl" size="6" style="width: 670px;">
#for $imdbwl in $backend_pieces:
#if $imdbwl != "":
<option value="$imdbwl">$imdbwl</option>
#end if
#end for
</select>
</div>
<div id="imdbWlControls" style="text-align: center; width: 670px; padding-bottom: 10px;">
<input class="btn" type="button" id="addImdbWl" value="New" />
<input class="btn" type="button" id="editImdbWl" value="Edit" />
<input class="btn" type="button" id="deleteImdbWl" value="Delete" />
</div>
<input type="hidden" style="display: none" id="ImdbWlText" />
<input type="text" style="display: none" id="editImdbWlText" />
<div id="imdbWlUpdateControls" style="text-align: center; width: 670px;">
<input class="btn" style="display: none" type="button" id="updateImdbWl" value="Update" />
</div>
<br />

View File

@ -2,18 +2,18 @@
#from sickbeard.common import Quality, qualityPresets, qualityPresetStrings #from sickbeard.common import Quality, qualityPresets, qualityPresetStrings
<div class="field-pair"> <div class="field-pair">
<label for="qualityPreset" class="nocheck clearfix"> <label for="qualityPreset">
#set $overall_quality = $Quality.combineQualities($anyQualities, $bestQualities) #set $overall_quality = $Quality.combineQualities($anyQualities, $bestQualities)
<span class="component-title"> <span class="component-title">Preferred quality of episodes to be download</span>
<span class="component-desc">
#set $selected = None #set $selected = None
<select id="qualityPreset"> <select id="qualityPreset" class="form-control form-control-inline input-sm">
<option value="0">Custom</option> <option value="0">Custom</option>
#for $curPreset in sorted($qualityPresets): #for $curPreset in sorted($qualityPresets):
<option value="$curPreset" #if $curPreset == $overall_quality then "selected=\"selected\"" else ""# #if $qualityPresetStrings[$curPreset].endswith("0p") then "style=\"padding-left: 15px;\"" else ""#>$qualityPresetStrings[$curPreset]</option> <option value="$curPreset" #if $curPreset == $overall_quality then "selected=\"selected\"" else ""# #if $qualityPresetStrings[$curPreset].endswith("0p") then "style=\"padding-left: 15px;\"" else ""#>$qualityPresetStrings[$curPreset]</option>
#end for #end for
</select> </select>
</span> </span>
<span class="component-desc">Preferred quality of episodes to be download</span>
</label> </label>
</div> </div>
@ -21,23 +21,23 @@
<div id="customQualityWrapper"> <div id="customQualityWrapper">
<div id="customQuality"> <div id="customQuality">
<div class="component-group-desc"> <div class="component-group-desc">
<p>One of the <b>Initial</b> quality selections must be obtained before SickRage will attempt to process the <b>Archive</b> selections.</p> <p>One of the <b>Initial</b> quality selections must be obtained before SickRage will attempt to search and process the <b>Archive</b> selections.</p>
</div> </div>
<div style="padding-right: 40px; text-align: center;" class="float-left"> <div style="padding-right: 40px; text-align: left; float: left;">
<h4>Initial</h4> <h5>Initial</h4>
#set $anyQualityList = filter(lambda x: x > $Quality.NONE, $Quality.qualityStrings) #set $anyQualityList = filter(lambda x: x > $Quality.NONE, $Quality.qualityStrings)
<select id="anyQualities" name="anyQualities" multiple="multiple" size="$len($anyQualityList)"> <select id="anyQualities" name="anyQualities" multiple="multiple" size="$len($anyQualityList)" class="form-control form-control-inline input-sm">
#for $curQuality in sorted($anyQualityList): #for $curQuality in sorted($anyQualityList):
<option value="$curQuality" #if $curQuality in $anyQualities then "selected=\"selected\"" else ""#>$Quality.qualityStrings[$curQuality]</option> <option value="$curQuality" #if $curQuality in $anyQualities then "selected=\"selected\"" else ""#>$Quality.qualityStrings[$curQuality]</option>
#end for #end for
</select> </select>
</div> </div>
<div style="text-align: center;" class="float-left"> <div style="text-align: left; float: left;">
<h4>Archive</h4> <h5>Archive</h4>
#set $bestQualityList = filter(lambda x: x > $Quality.SDTV and x < $Quality.UNKNOWN, $Quality.qualityStrings) #set $bestQualityList = filter(lambda x: x > $Quality.SDTV and x < $Quality.UNKNOWN, $Quality.qualityStrings)
<select id="bestQualities" name="bestQualities" multiple="multiple" size="$len($bestQualityList)"> <select id="bestQualities" name="bestQualities" multiple="multiple" size="$len($bestQualityList)" class="form-control form-control-inline input-sm">
#for $curQuality in sorted($bestQualityList): #for $curQuality in sorted($bestQualityList):
<option value="$curQuality" #if $curQuality in $bestQualities then "selected=\"selected\"" else ""#>$Quality.qualityStrings[$curQuality]</option> <option value="$curQuality" #if $curQuality in $bestQualities then "selected=\"selected\"" else ""#>$Quality.qualityStrings[$curQuality]</option>
#end for #end for

View File

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

View File

@ -1,17 +1,18 @@
#import sickbeard #import sickbeard
#import urllib #import urllib
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" <!DOCTYPE html>
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="robots" content="noindex"> <meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="apple-mobile-web-app-capable" content="yes">
<title>SickRage - BRANCH:[$sickbeard.BRANCH] - $title</title> <title>SickRage - BRANCH:[$sickbeard.BRANCH] - $title</title>
<!--[if lt IE 9]> <!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]--> <![endif]-->
<link rel="shortcut icon" href="$sbRoot/images/ico/favicon.ico"> <link rel="shortcut icon" href="$sbRoot/images/ico/favicon.ico">
@ -33,10 +34,12 @@
<meta name="msapplication-TileImage" content="$sbRoot/images/ico/favicon-144.png"> <meta name="msapplication-TileImage" content="$sbRoot/images/ico/favicon-144.png">
<meta name="msapplication-config" content="$sbRoot/css/browserconfig.xml"> <meta name="msapplication-config" content="$sbRoot/css/browserconfig.xml">
<link rel="stylesheet" type="text/css" href="$sbRoot/css/default.css?$sbPID" /> <link rel="stylesheet" type="text/css" href="$sbRoot/css/lib/bootstrap.css?$sbPID"/>
<link rel="stylesheet" type="text/css" href="$sbRoot/css/browser.css?$sbPID" /> <link rel="stylesheet" type="text/css" href="$sbRoot/css/browser.css?$sbPID" />
<link rel="stylesheet" type="text/css" href="$sbRoot/css/lib/jquery-ui-1.10.4.custom.css?$sbPID" />
<link rel="stylesheet" type="text/css" href="$sbRoot/css/lib/jquery.qtip-2.0.1.min.css?$sbPID"/> <link rel="stylesheet" type="text/css" href="$sbRoot/css/lib/jquery.qtip-2.0.1.min.css?$sbPID"/>
<link rel="stylesheet" type="text/css" media="only screen and (max-device-width: 480px)" href="$sbRoot/css/iphone.css?$sbPID" /> <link rel="stylesheet" type="text/css" href="$sbRoot/css/lib/pnotify.custom.min.css?$sbPID" />
<link rel="stylesheet" type="text/css" href="$sbRoot/css/style.css?$sbPID"/>
<link rel="stylesheet" type="text/css" href="$sbRoot/css/${sickbeard.THEME_NAME}.css?$sbPID" /> <link rel="stylesheet" type="text/css" href="$sbRoot/css/${sickbeard.THEME_NAME}.css?$sbPID" />
@ -51,9 +54,9 @@
</style> </style>
<script type="text/javascript" src="$sbRoot/js/lib/jquery-1.8.3.min.js?$sbPID"></script> <script type="text/javascript" src="$sbRoot/js/lib/jquery-1.8.3.min.js?$sbPID"></script>
<script type="text/javascript" src="$sbRoot/js/lib/bootstrap.min.js?$sbPID"></script>
<script type="text/javascript" src="$sbRoot/js/lib/bootstrap-hover-dropdown.min.js?$sbPID"></script>
<script type="text/javascript" src="$sbRoot/js/lib/jquery-ui-1.10.4.custom.min.js?$sbPID"></script> <script type="text/javascript" src="$sbRoot/js/lib/jquery-ui-1.10.4.custom.min.js?$sbPID"></script>
<script type="text/javascript" src="$sbRoot/js/lib/superfish-1.4.8.js?$sbPID"></script>
<script type="text/javascript" src="$sbRoot/js/lib/supersubs-0.2b.js?$sbPID"></script>
<script type="text/javascript" src="$sbRoot/js/lib/jquery.cookie.js?$sbPID"></script> <script type="text/javascript" src="$sbRoot/js/lib/jquery.cookie.js?$sbPID"></script>
<script type="text/javascript" src="$sbRoot/js/lib/jquery.cookiejar.js?$sbPID"></script> <script type="text/javascript" src="$sbRoot/js/lib/jquery.cookiejar.js?$sbPID"></script>
<script type="text/javascript" src="$sbRoot/js/lib/jquery.json-2.2.min.js?$sbPID"></script> <script type="text/javascript" src="$sbRoot/js/lib/jquery.json-2.2.min.js?$sbPID"></script>
@ -61,14 +64,13 @@
<script type="text/javascript" src="$sbRoot/js/lib/jquery.tablesorter-2.17.7.min.js?$sbPID"></script> <script type="text/javascript" src="$sbRoot/js/lib/jquery.tablesorter-2.17.7.min.js?$sbPID"></script>
<script type="text/javascript" src="$sbRoot/js/lib/jquery.tablesorter.widgets-2.17.7.min.js?$sbPID"></script> <script type="text/javascript" src="$sbRoot/js/lib/jquery.tablesorter.widgets-2.17.7.min.js?$sbPID"></script>
<script type="text/javascript" src="$sbRoot/js/lib/jquery.qtip-2.0.1.min.js?$sbPID"></script> <script type="text/javascript" src="$sbRoot/js/lib/jquery.qtip-2.0.1.min.js?$sbPID"></script>
<script type="text/javascript" src="$sbRoot/js/lib/jquery.pnotify-1.0.2.min.js"></script> <script type="text/javascript" src="$sbRoot/js/lib/pnotify.custom.min.js"></script>
<script type="text/javascript" src="$sbRoot/js/lib/jquery.form-3.35.js?$sbPID"></script> <script type="text/javascript" src="$sbRoot/js/lib/jquery.form-3.35.js?$sbPID"></script>
<script type="text/javascript" src="$sbRoot/js/lib/jquery.ui.touch-punch-0.2.2.min.js?$sbPID"></script> <script type="text/javascript" src="$sbRoot/js/lib/jquery.ui.touch-punch-0.2.2.min.js?$sbPID"></script>
<script type="text/javascript" src="$sbRoot/js/lib/jquery.isotope.min.js?$sbPID"></script> <script type="text/javascript" src="$sbRoot/js/lib/isotope.pkgd.min.js?$sbPID"></script>
<script type="text/javascript" src="$sbRoot/js/lib/jquery.confirm.js?$sbPID"></script> <script type="text/javascript" src="$sbRoot/js/lib/jquery.confirm.js?$sbPID"></script>
<script type="text/javascript" src="$sbRoot/js/script.js?$sbPID"></script> <script type="text/javascript" src="$sbRoot/js/script.js?$sbPID"></script>
<script type="text/javascript" src="$sbRoot/js/submenu.js?$sbPID"></script>
<script type="text/javascript" src="$sbRoot/js/confirmations.js?$sbPID"></script>
#if $sickbeard.FUZZY_DATING: #if $sickbeard.FUZZY_DATING:
<script type="text/javascript" src="$sbRoot/js/moment/moment.min.js?$sbPID"></script> <script type="text/javascript" src="$sbRoot/js/moment/moment.min.js?$sbPID"></script>
@ -76,33 +78,58 @@
#end if #end if
<script type="text/javascript" charset="utf-8"> <script type="text/javascript" charset="utf-8">
<!-- <!--
sbRoot = "$sbRoot"; // needed for browser.js & ajaxNotifications.js sbRoot = '$sbRoot'; // needed for browser.js & ajaxNotifications.js
//HTML for scrolltopcontrol, which is auto wrapped in DIV w/ ID="topcontrol" //HTML for scrolltopcontrol, which is auto wrapped in DIV w/ ID="topcontrol"
top_image_html = '<img src="$sbRoot/images/top.gif" width="31" height="11" alt="Jump to top" />'; top_image_html = '<img src="$sbRoot/images/top.gif" width="31" height="11" alt="Jump to top" />';
themeSpinner = <%= '\'\'' if 'dark' != sickbeard.THEME_NAME else '\'-dark\'' %>;
anonURL = '<%= sickbeard.ANON_REDIRECT %>'
//--> //-->
</script> </script>
<script type="text/javascript" src="$sbRoot/js/lib/jquery.scrolltopcontrol-1.1.js"></script> <script type="text/javascript" src="$sbRoot/js/lib/jquery.scrolltopcontrol-1.1.js"></script>
<script type="text/javascript" src="$sbRoot/js/browser.js"></script> <script type="text/javascript" src="$sbRoot/js/browser.js"></script>
<script type="text/javascript" src="$sbRoot/js/ajaxNotifications.js"></script> <script type="text/javascript" src="$sbRoot/js/ajaxNotifications.js"></script>
<script type="text/javascript"> <script type="text/javascript">
<!-- <!--
\$(document).ready(function(){ function initActions() {
initActions(); \$("#SubMenu a[href*='/home/restart/']").addClass('btn restart').html('<span class="submenu-icon-restart pull-left"></span> Restart');
\$("ul.sf-menu").supersubs({ \$("#SubMenu a[href*='/home/shutdown/']").addClass('btn shutdown').html('<span class="submenu-icon-shutdown pull-left"></span> Shutdown');
minWidth: 12, // minimum width of sub-menus in em units \$("#SubMenu a[href*='/home/logout/']").addClass('btn').html('<span class="ui-icon ui-icon-power pull-left"></span> Logout');
maxWidth: 27, // maximum width of sub-menus in em units \$("#SubMenu a:contains('Edit')").addClass('btn').html('<span class="ui-icon ui-icon-pencil pull-left"></span> Edit');
extraWidth: 1 // extra width can ensure lines don't sometimes turn over \$("#SubMenu a:contains('Remove')").addClass('btn remove').html('<span class="ui-icon ui-icon-trash pull-left"></span> Remove');
// due to slight rounding differences and font-family \$("#SubMenu a:contains('Clear History')").addClass('btn clearhistory').html('<span class="ui-icon ui-icon-trash pull-left"></span> Clear History');
}).superfish({ \$("#SubMenu a:contains('Trim History')").addClass('btn trimhistory').html('<span class="ui-icon ui-icon-trash pull-left"></span> Trim History');
delay: 150, \$("#SubMenu a[href$='/errorlogs/clearerrors/']").addClass('btn').html('<span class="ui-icon ui-icon-trash pull-left"></span> Clear Errors');
disableHI: true, \$("#SubMenu a:contains('Re-scan')").addClass('btn').html('<span class="ui-icon ui-icon-refresh pull-left"></span> Re-scan');
animation: {opacity:'show',height:'show'}, \$("#SubMenu a:contains('Backlog Overview')").addClass('btn').html('<span class="ui-icon ui-icon-refresh pull-left"></span> Backlog Overview');
speed: 'fast', \$("#SubMenu a[href$='/home/updatePLEX/']").addClass('btn').html('<span class="ui-icon ui-icon-refresh pull-left"></span> Update PLEX');
dropShadows: false \$("#SubMenu a:contains('Force')").addClass('btn').html('<span class="ui-icon ui-icon-transfer-e-w pull-left"></span> Force Full Update');
}); \$("#SubMenu a:contains('Rename')").addClass('btn').html('<span class="ui-icon ui-icon-tag pull-left"></span> Preview Rename');
\$("#SubMenu a[href$='/config/subtitles/']").addClass('btn').html('<span class="ui-icon ui-icon-comment pull-left"></span> Search Subtitles');
\$("#SubMenu a[href*='/home/subtitleShow']").addClass('btn').html('<span class="ui-icon ui-icon-comment pull-left"></span> Download Subtitles');
\$("#SubMenu a:contains('Anime')").addClass('btn').html('<span class="submenu-icon-anime pull-left"></span> Anime');
\$("#SubMenu a:contains('Settings')").addClass('btn').html('<span class="ui-icon ui-icon-search pull-left"></span> Search Settings');
\$("#SubMenu a:contains('Provider')").addClass('btn').html('<span class="ui-icon ui-icon-search pull-left"></span> Search Providers');
\$("#SubMenu a:contains('Backup/Restore')").addClass('btn').html('<span class="ui-icon ui-icon-gear pull-left"></span> Backup/Restore');
\$("#SubMenu a:contains('General')").addClass('btn').html('<span class="ui-icon ui-icon-gear pull-left"></span> General');
\$("#SubMenu a:contains('Episode Status')").addClass('btn').html('<span class="ui-icon ui-icon-transferthick-e-w pull-left"></span> Episode Status Management');
\$("#SubMenu a:contains('Missed Subtitle')").addClass('btn').html('<span class="ui-icon ui-icon-transferthick-e-w pull-left"></span> Missed Subtitles');
\$("#SubMenu a[href$='/home/addShows/']").addClass('btn').html('<span class="ui-icon ui-icon-video pull-left"></span> Add Show');
\$("#SubMenu a:contains('Processing')").addClass('btn').html('<span class="ui-icon ui-icon-folder-open pull-left"></span> Post-Processing');
\$("#SubMenu a:contains('Manage Searches')").addClass('btn').html('<span class="ui-icon ui-icon-search pull-left"></span> Manage Searches');
\$("#SubMenu a:contains('Manage Torrents')").addClass('btn').html('<span class="submenu-icon-bittorrent pull-left"></span> Manage Torrents');
\$("#SubMenu a[href$='/manage/failedDownloads/']").addClass('btn').html('<span class="submenu-icon-failed-download pull-left"></span> Failed Downloads');
\$("#SubMenu a:contains('Notification')").addClass('btn').html('<span class="ui-icon ui-icon-note pull-left"></span> Notifications');
\$("#SubMenu a:contains('Update show in XBMC')").addClass('btn').html('<span class="submenu-icon-xbmc pull-left"></span> Update show in XBMC');
\$("#SubMenu a[href$='/home/updateXBMC/']").addClass('btn').html('<span class="submenu-icon-xbmc pull-left"></span> Update XBMC');
}
\$("#NAV$topmenu").addClass("current"); \$(document).ready(function() {
initActions();
\$("#NAV$topmenu").addClass("active");
\$('.dropdown-toggle').dropdownHover();
}); });
//--> //-->
@ -111,85 +138,102 @@
</head> </head>
<body> <body>
#if $sickbeard.NEWEST_VERSION_STRING: <nav class="navbar navbar-default navbar-fixed-top" role="navigation">
<div id="upgrade-notification"> <div class="container-fluid">
<div> <div class="navbar-header">
<span class="notify-text">$sickbeard.NEWEST_VERSION_STRING</span> <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="$sbRoot/home/" title="SickRage"><img alt="SickRage" src="$sbRoot/images/sickrage.png" style="height: 50px;" class="img-responsive pull-left" /></a>
</div> </div>
</div>
<div id="header-fix"></div> <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
#end if <ul class="nav navbar-nav navbar-right">
<div id="header"> <li id="NAVhome" class="dropdown">
<div class="wrapper"> <a href="$sbRoot/home/" class="dropdown-toggle" data-toggle="dropdown">Shows <b class="caret"></b></a>
<a name="top"></a> <ul class="dropdown-menu">
<span id="logo"><a href="$sbRoot/home/" title="SickRage homepage"><img alt="Sick Rage" src="$sbRoot/images/sickrage.png"/></a></span> <li><a href="$sbRoot/home/"><i class="menu-icon-home"></i>&nbsp;Show List</a></li>
<ul id="MainMenu" class="sf-menu"> <li><a href="$sbRoot/home/addShows/"><i class="menu-icon-addshow"></i>&nbsp;Add Shows</a></li>
<li id="NAVhome"><a href="$sbRoot/home/">Show list</a> <li><a href="$sbRoot/home/postprocess/"><i class="menu-icon-postprocess"></i>&nbsp;Manual Post-Processing</a></li>
<ul>
<li><a href="$sbRoot/home/addShows/"><img src="$sbRoot/images/menu/addshow16.png" alt="" width="16" height="16" />Add Shows</a></li>
<li><a href="$sbRoot/home/postprocess/"><img src="$sbRoot/images/menu/postprocess16.png" alt="" width="16" height="16" />Manual Post-Processing</a></li>
</ul> </ul>
</li> </li>
<li id="NAVcomingEpisodes"><a href="$sbRoot/comingEpisodes/">Coming Episodes</a></li>
<li id="NAVhistory"><a href="$sbRoot/history/">History</a></li> <li id="NAVcomingEpisodes">
<li id="NAVmanage"><a href="$sbRoot/manage/">Manage</a> <a href="$sbRoot/comingEpisodes/">Coming Episodes</a>
<ul> </li>
<li><a href="$sbRoot/manage/"><img src="$sbRoot/images/menu/manage16.png" alt="" width="16" height="16" />Mass Update</a></li>
<li><a href="$sbRoot/manage/backlogOverview/"><img src="$sbRoot/images/menu/backlog_view16.png" alt="" width="16" height="16" />Backlog Overview</a></li> <li id="NAVhistory">
<li><a href="$sbRoot/manage/manageSearches/"><img src="$sbRoot/images/menu/managesearches16.png" alt="" width="16" height="16" />Manage Searches</a></li> <a href="$sbRoot/history/">History</a>
</li>
<li id="NAVmanage" class="dropdown">
<a href="$sbRoot/manage/" class="dropdown-toggle" data-toggle="dropdown">Manage <b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="$sbRoot/manage/"><i class="menu-icon-manage"></i>&nbsp;Mass Update</a></li>
<li><a href="$sbRoot/manage/backlogOverview/"><i class="menu-icon-backlog-view"></i>&nbsp;Backlog Overview</a></li>
<li><a href="$sbRoot/manage/manageSearches/"><i class="menu-icon-manage-searches"></i>&nbsp;Manage Searches</a></li>
<li><a href="$sbRoot/manage/episodeStatuses/"><i class="menu-icon-backlog"></i>&nbsp;Episode Status Management</a></li>
#if $sickbeard.USE_PLEX and $sickbeard.PLEX_SERVER_HOST != "": #if $sickbeard.USE_PLEX and $sickbeard.PLEX_SERVER_HOST != "":
<li><a href="$sbRoot/home/updatePLEX/"><img src="$sbRoot/images/menu/backlog_view16.png" alt="" width="16" height="16" />Update PLEX</a></li> <li><a href="$sbRoot/home/updatePLEX/"><i class="menu-icon-backlog-view"></i>&nbsp;Update PLEX</a></li>
#end if #end if
#if $sickbeard.USE_XBMC and $sickbeard.XBMC_HOST != "": #if $sickbeard.USE_XBMC and $sickbeard.XBMC_HOST != "":
<li><a href="$sbRoot/home/updateXBMC/"><img src="$sbRoot/images/menu/backlog_view16.png" alt="" width="16" height="16" />Update XBMC</a></li> <li><a href="$sbRoot/home/updateXBMC/"><i class="menu-icon-xbmc"></i>&nbsp;Update XBMC</a></li>
#end if #end if
#if $sickbeard.USE_TORRENTS and $sickbeard.TORRENT_METHOD != 'blackhole' \ #if $sickbeard.USE_TORRENTS and $sickbeard.TORRENT_METHOD != 'blackhole' \
and ($sickbeard.ENABLE_HTTPS and $sickbeard.TORRENT_HOST[:5] == 'https' \ and ($sickbeard.ENABLE_HTTPS and $sickbeard.TORRENT_HOST[:5] == 'https' \
or not $sickbeard.ENABLE_HTTPS and $sickbeard.TORRENT_HOST[:5] == 'http:'): or not $sickbeard.ENABLE_HTTPS and $sickbeard.TORRENT_HOST[:5] == 'http:'):
<li><a href="$sbRoot/manage/manageTorrents/"><img src="$sbRoot/images/menu/bittorrent.png" alt="" width="16" height="16" />Manage Torrents</a></li> <li><a href="$sbRoot/manage/manageTorrents/"><i class="menu-icon-bittorrent"></i>&nbsp;Manage Torrents</a></li>
#end if #end if
#if $sickbeard.USE_FAILED_DOWNLOADS: #if $sickbeard.USE_FAILED_DOWNLOADS:
<li><a href="$sbRoot/manage/failedDownloads/"><img src="$sbRoot/images/menu/failed_download.png" alt="" width="16" height="16" />Failed Downloads</a></li> <li><a href="$sbRoot/manage/failedDownloads/"><i class="menu-icon-failed-download"></i>&nbsp;Failed Downloads</a></li>
#end if #end if
<li><a href="$sbRoot/manage/episodeStatuses/"><img src="$sbRoot/images/menu/backlog16.png" alt="" width="16" height="16" />Episode Status Management</a></li>
#if $sickbeard.USE_SUBTITLES: #if $sickbeard.USE_SUBTITLES:
<li><a href="$sbRoot/manage/subtitleMissed/"><img src="$sbRoot/images/menu/backlog16.png" alt="" width="16" height="16" />Missed Subtitle Management</a></li> <li><a href="$sbRoot/manage/subtitleMissed/"><i class="menu-icon-backlog"></i>&nbsp;Missed Subtitle Management</a></li>
#end if #end if
</ul> </ul>
</li> </li>
<li id="NAVerrorlogs"><a href="$sbRoot/errorlogs/" class="log">$logPageTitle</a>
<ul>
<li><a href="$sbRoot/errorlogs/"><img src="$sbRoot/images/menu/viewlog_errors16.png" alt="" width="16" height="16" />View Log (Errors)</a></li>
<li><a href="$sbRoot/errorlogs/viewlog/"><img src="$sbRoot/images/menu/viewlog16.png" alt="" width="16" height="16" />View Log</a></li>
</ul>
</li>
<li id="NAVconfig"><a href="$sbRoot/config/" class="config"><img src="$sbRoot/images/menu/system18.png" alt="" /></a>
<ul>
<li><a href="$sbRoot/config/"><i class="icon-question-sign" style=" margin-left: -21px;margin-right: 8px;position: absolute;"></i>Help &amp; Info</a></li>
<li><a href="$sbRoot/config/general/"><img src="$sbRoot/images/menu/config16.png" alt="" width="16" height="16" />General</a></li>
<li><a href="$sbRoot/config/backuprestore/"><img src="$sbRoot/images/menu/config16.png" alt="" width="16" height="16" />Backup/Restore</a></li>
<li><a href="$sbRoot/config/search/"><img src="$sbRoot/images/menu/config16.png" alt="" width="16" height="16" />Search Settings</a></li>
<li><a href="$sbRoot/config/providers/"><img src="$sbRoot/images/menu/config16.png" alt="" width="16" height="16" />Search Providers</a></li>
<li><a href="$sbRoot/config/subtitles/"><img src="$sbRoot/images/menu/config16.png" alt="" width="16" height="16" />Subtitles Settings</a></li>
<li><a href="$sbRoot/config/postProcessing/"><img src="$sbRoot/images/menu/config16.png" alt="" width="16" height="16" />Post Processing</a></li>
<li><a href="$sbRoot/config/notifications/"><img src="$sbRoot/images/menu/config16.png" alt="" width="16" height="16" />Notifications</a></li>
<li><a href="$sbRoot/config/anime/"><img src="$sbRoot/images/menu/config16.png" alt="" width="16" height="16" />Anime</a></li>
</ul>
</li>
<li id="NAVsystem"><a href="#" onclick="return false;" class="config"><img src="$sbRoot/images/menu/system18-2.png" alt="" /></a>
<ul>
<li><a href="$sbRoot/manage/manageSearches/forceVersionCheck"><img src="$sbRoot/images/menu/update16.png" alt="" width="16" height="16" style="margin-top: -1px;" />Force Version Check</a></li>
<li><a href="$sbRoot/home/restart/?pid=$sbPID" class="confirm restart"><img src="$sbRoot/images/menu/restart16.png" alt="" width="16" height="16" style="margin-top: -2px;" />Restart</a></li>
<li><a href="$sbRoot/home/shutdown/?pid=$sbPID" class="confirm shutdown"><img src="$sbRoot/images/menu/shutdown16.png" alt="" width="16" height="16" style="margin-top: -2px;" />Shutdown</a></li>
</ul>
</li>
<li id="donate"><a href="http://sr-upgrade.appspot.com" rel="noreferrer" onclick="window.open('${sickbeard.ANON_REDIRECT}' + this.href); return false;"><img src="$sbRoot/images/donate.jpg" alt="[donate]" /></a></li>
</ul>
</div>
</div>
<div id="contentWrapper"> <li id="NAVerrorlogs" class="dropdown">
<div id="content"> <a href="$sbRoot/errorlogs/" class="dropdown-toggle" data-toggle="dropdown">$logPageTitle <b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="$sbRoot/errorlogs/"><i class="menu-icon-viewlog-errors"></i>&nbsp;View Log (Errors)</a></li>
<li><a href="$sbRoot/errorlogs/viewlog/"><i class="menu-icon-viewlog"></i>&nbsp;View Log</a></li>
</ul>
</li>
<li id="NAVconfig" class="dropdown">
<a href="$sbRoot/config/" class="dropdown-toggle" data-toggle="dropdown"><img src="$sbRoot/images/menu/system18.png" class="navbaricon hidden-xs" /><b class="caret hidden-xs"></b><span class="visible-xs">Config <b class="caret"></b></span></a>
<ul class="dropdown-menu">
<li><a href="$sbRoot/config/"><i class="menu-icon-help"></i>&nbsp;Help &amp; Info</a></li>
<li><a href="$sbRoot/config/general/"><i class="menu-icon-config"></i>&nbsp;General</a></li>
<li><a href="$sbRoot/config/backuprestore/"><i class="menu-icon-config"></i>&nbsp;Backup &amp; Restore</a></li>
<li><a href="$sbRoot/config/search/"><i class="menu-icon-config"></i>&nbsp;Search Settings</a></li>
<li><a href="$sbRoot/config/providers/"><i class="menu-icon-config"></i>&nbsp;Search Providers</a></li>
<li><a href="$sbRoot/config/subtitles/"><i class="menu-icon-config"></i>&nbsp;Subtitles Settings</a></li>
<li><a href="$sbRoot/config/postProcessing/"><i class="menu-icon-config"></i>&nbsp;Post Processing</a></li>
<li><a href="$sbRoot/config/notifications/"><i class="menu-icon-config"></i>&nbsp;Notifications</a></li>
<li><a href="$sbRoot/config/anime/"><i class="menu-icon-config"></i>&nbsp;Anime</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown"><img src="$sbRoot/images/menu/system18-2.png" class="navbaricon hidden-xs" /><b class="caret hidden-xs"></b><span class="visible-xs">System <b class="caret"></b></span></a>
<ul class="dropdown-menu">
<li><a href="$sbRoot/manage/manageSearches/forceVersionCheck"><i class="menu-icon-update"></i>&nbsp;Force Version Check</a></li>
<li><a href="$sbRoot/home/restart/?pid=$sbPID" class="confirm restart"><i class="menu-icon-restart"></i>&nbsp;Restart</a></li>
<li><a href="$sbRoot/home/shutdown/?pid=$sbPID" class="confirm shutdown"><i class="menu-icon-shutdown"></i>&nbsp;Shutdown</a></li>
</ul>
</li>
<li id="donate"><a href="http://sr-upgrade.appspot.com" rel="noreferrer" onclick="window.open('${sickbeard.ANON_REDIRECT}' + this.href); return false;"><img src="$sbRoot/images/donate.jpg" alt="[donate]" class="navbaricon hidden-xs" /></a></li>
</ul>
</div><!-- /.navbar-collapse -->
</div><!-- /.container-fluid -->
</nav>
#if $varExists('submenu'): #if $varExists('submenu'):
<div id="SubMenu"> <div id="SubMenu">
<span> <span>
@ -197,7 +241,7 @@
#for $menuItem in $submenu: #for $menuItem in $submenu:
#if 'requires' not in $menuItem or $menuItem.requires(): #if 'requires' not in $menuItem or $menuItem.requires():
#if type($menuItem.path) == dict: #if type($menuItem.path) == dict:
#if $first then "" else "</span>&nbsp;<span>"#$menuItem.title #if $first then "" else "</span><span>"#<b>$menuItem.title</b>
#set $first = False #set $first = False
#set $inner_first = True #set $inner_first = True
#for $cur_link in $menuItem.path: #for $cur_link in $menuItem.path:
@ -213,3 +257,12 @@
</span> </span>
</div> </div>
#end if #end if
#if $sickbeard.NEWEST_VERSION_STRING:
<div class="alert alert-success upgrade-notification" role="alert">
<span>$sickbeard.NEWEST_VERSION_STRING</span>
</div>
#end if
<div id="contentWrapper">
<div id="content">

View File

@ -43,7 +43,10 @@
textExtraction: { textExtraction: {
2: function(node) { return \$(node).find("span").text().toLowerCase(); }, 2: function(node) { return \$(node).find("span").text().toLowerCase(); },
3: function(node) { return \$(node).find("img").attr("alt"); }, 3: function(node) { return \$(node).find("img").attr("alt"); },
4: function(node) { return \$(node).find("img").attr("alt"); } 4: function(node) { return \$(node).find("img").attr("alt"); },
5: function(node) { return \$(node).find("img").attr("alt"); },
6: function(node) { return \$(node).find("img").attr("alt"); },
7: function(node) { return \$(node).find("img").attr("alt"); }
}, },
widgets: ['zebra'], widgets: ['zebra'],
headers: { headers: {
@ -59,10 +62,10 @@
9: { sorter: false}, 9: { sorter: false},
10: { sorter: false}, 10: { sorter: false},
11: { sorter: false}, 11: { sorter: false},
12: { sorter: false} 12: { sorter: false},
#if $sickbeard.USE_SUBTITLES 13: { sorter: false},
, 13: { sorter: false} 14: { sorter: false},
#end if 15: { sorter: false}
} }
}); });
}); });
@ -102,8 +105,8 @@
<tfoot> <tfoot>
<tr> <tr>
<td rowspan="1" colspan="2" class="align-center alt"><input class="btn" type="button" value="Edit Selected" id="submitMassEdit" /></td> <td rowspan="1" colspan="2" class="align-center alt"><input class="btn pull-left" type="button" value="Edit Selected" id="submitMassEdit" /></td>
<td rowspan="1" colspan="#if $sickbeard.USE_SUBTITLES then 13 else 12#" class="align-right alt"><input class="btn btn-primary" type="button" value="Submit" id="submitMassUpdate" /></td> <td rowspan="1" colspan="#if $sickbeard.USE_SUBTITLES then 13 else 12#" class="align-right alt"><input class="btn pull-right" type="button" value="Submit" id="submitMassUpdate" /></td>
</tr> </tr>
</tfoot> </tfoot>

View File

@ -2,14 +2,14 @@
#import datetime #import datetime
#from sickbeard.common import * #from sickbeard.common import *
#from sickbeard import sbdatetime, network_timezones #from sickbeard import sbdatetime, network_timezones
#set global $title="Backlog Overview" #set global $title = 'Backlog Overview'
#set global $header="Backlog Overview" #set global $header = 'Backlog Overview'
#set global $sbPath=".." #set global $sbPath = '..'
#set global $topmenu="manage"# #set global $topmenu = 'manage'#
#import os.path #import os.path
#include $os.path.join($sickbeard.PROG_DIR, "gui/slick/interfaces/default/inc_top.tmpl") #include $os.path.join($sickbeard.PROG_DIR, 'gui/slick/interfaces/default/inc_top.tmpl')
<script type="text/javascript"> <script type="text/javascript">
<!-- <!--
@ -18,7 +18,7 @@
\$('#pickShow').change(function(){ \$('#pickShow').change(function(){
var id = \$(this).val(); var id = \$(this).val();
if (id) { if (id) {
\$('html,body').animate({scrollTop: \$("#show-"+id).offset().top -25},'slow'); \$('html,body').animate({scrollTop: \$('#show-' + id).offset().top -25},'slow');
} }
}); });
@ -52,14 +52,14 @@
#set $totalQual = $totalQual + $showCounts[$curShow.indexerid][$Overview.QUAL] #set $totalQual = $totalQual + $showCounts[$curShow.indexerid][$Overview.QUAL]
#end for #end for
<div class="h2footer align-right"> <div class="h2footer pull-right">
<span class="wanted nowrap">Wanted: <b>$totalWanted</b></span> <span class="listing-key wanted">Wanted: <b>$totalWanted</b></span>
<span class="qual nowrap">Low Quality: <b>$totalQual</b></span> <span class="listing-key qual">Low Quality: <b>$totalQual</b></span>
</div><br/> </div><br/>
<div class="float-left"> <div class="float-left">
Jump to Show Jump to Show
<select id="pickShow"> <select id="pickShow" class="form-control form-control-inline input-sm">
#for $curShow in sorted($sickbeard.showList, key = operator.attrgetter('name')): #for $curShow in sorted($sickbeard.showList, key = operator.attrgetter('name')):
#if $showCounts[$curShow.indexerid][$Overview.QUAL] + $showCounts[$curShow.indexerid][$Overview.WANTED] != 0: #if $showCounts[$curShow.indexerid][$Overview.QUAL] + $showCounts[$curShow.indexerid][$Overview.WANTED] != 0:
<option value="$curShow.indexerid">$curShow.name</option> <option value="$curShow.indexerid">$curShow.name</option>
@ -79,10 +79,10 @@ Jump to Show
<tr class="seasonheader" id="show-$curShow.indexerid"> <tr class="seasonheader" id="show-$curShow.indexerid">
<td colspan="3" class="align-left"> <td colspan="3" class="align-left">
<br/><h2><a href="$sbRoot/home/displayShow?show=$curShow.indexerid">$curShow.name</a></h2> <br/><h2><a href="$sbRoot/home/displayShow?show=$curShow.indexerid">$curShow.name</a></h2>
<div class="float-right"> <div class="pull-right">
<span class="wanted nowrap">Wanted: <b>$showCounts[$curShow.indexerid][$Overview.WANTED]</b></span> <span class="listing-key wanted">Wanted: <b>$showCounts[$curShow.indexerid][$Overview.WANTED]</b></span>
<span class="qual nowrap">Low Quality: <b>$showCounts[$curShow.indexerid][$Overview.QUAL]</b></span> <span class="listing-key qual">Low Quality: <b>$showCounts[$curShow.indexerid][$Overview.QUAL]</b></span>
<a class="btn forceBacklog" style="font-size:13px;" href="$sbRoot/manage/backlogShow?indexer_id=$curShow.indexerid"><i class="icon-play-circle icon-white"></i> Force Backlog</a> <a class="btn btn-inline forceBacklog" href="$sbRoot/manage/backlogShow?indexer_id=$curShow.indexerid"><i class="icon-play-circle icon-white"></i> Force Backlog</a>
</div> </div>
</td> </td>
</tr> </tr>
@ -90,17 +90,22 @@ Jump to Show
<tr class="seasoncols"><th>Episode</th><th>Name</th><th class="nowrap">Airdate</th></tr> <tr class="seasoncols"><th>Episode</th><th>Name</th><th class="nowrap">Airdate</th></tr>
#for $curResult in $showSQLResults[$curShow.indexerid]: #for $curResult in $showSQLResults[$curShow.indexerid]:
#set $whichStr = $str($curResult["season"]) + "x" + $str($curResult["episode"]) #set $whichStr = $str($curResult['season']) + 'x' + $str($curResult['episode'])
#try:
#set $overview = $showCats[$curShow.indexerid][$whichStr] #set $overview = $showCats[$curShow.indexerid][$whichStr]
#except Exception
#continue
#end try
#if $overview not in ($Overview.QUAL, $Overview.WANTED): #if $overview not in ($Overview.QUAL, $Overview.WANTED):
#continue #continue
#end if #end if
<tr class="seasonstyle $Overview.overviewStrings[$showCats[$curShow.indexerid][$whichStr]]"> <tr class="seasonstyle $Overview.overviewStrings[$showCats[$curShow.indexerid][$whichStr]]">
<td class="tableleft" align="center">$whichStr</td> <td class="tableleft" align="center">$whichStr</td>
<td>$curResult["name"]</td> <td>$curResult["name"]</td>
<td class="tableright" align="center" class="nowrap"><div class="${fuzzydate}">#if int($curResult["airdate"]) == 1 then "never" else $sbdatetime.sbdatetime.sbfdate($network_timezones.parse_date_time($curResult["airdate"],$curShow.airs,$curShow.network))#</div></td> <td class="tableright" align="center" class="nowrap"><div class="${fuzzydate}">#if int($curResult['airdate']) == 1 then 'never' else $sbdatetime.sbdatetime.sbfdate($sbdatetime.sbdatetime.convert_to_setting($network_timezones.parse_date_time($curResult['airdate'],$curShow.airs,$curShow.network)))#</div></td>
</tr> </tr>
#end for #end for
#end for #end for
@ -108,4 +113,4 @@ Jump to Show
</table> </table>
</div> </div>
#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

@ -25,12 +25,12 @@
#end if #end if
<form action="$sbRoot/manage/episodeStatuses" method="get"> <form action="$sbRoot/manage/episodeStatuses" method="get">
Manage episodes with status <select name="whichStatus"> Manage episodes with status <select name="whichStatus" class="form-control form-control-inline input-sm">
#for $curStatus in [$common.SKIPPED, $common.SNATCHED, $common.WANTED, $common.ARCHIVED, $common.IGNORED]: #for $curStatus in [$common.SKIPPED, $common.SNATCHED, $common.WANTED, $common.ARCHIVED, $common.IGNORED]:
<option value="$curStatus">$common.statusStrings[$curStatus]</option> <option value="$curStatus">$common.statusStrings[$curStatus]</option>
#end for #end for
</select> </select>
<input class="btn" type="submit" value="Manage" /> <input class="btn btn-inline" type="submit" value="Manage" />
</form> </form>
#else #else
@ -51,7 +51,7 @@ Manage episodes with status <select name="whichStatus">
#end if #end if
<input type="hidden" id="row_class" value="$row_class" /> <input type="hidden" id="row_class" value="$row_class" />
Set checked shows/episodes to <select name="newStatus"> Set checked shows/episodes to <select name="newStatus" class="form-control form-control-inline input-sm">
#set $statusList = [$common.SKIPPED, $common.WANTED, $common.ARCHIVED, $common.IGNORED] #set $statusList = [$common.SKIPPED, $common.WANTED, $common.ARCHIVED, $common.IGNORED]
#if $int($whichStatus) in $statusList #if $int($whichStatus) in $statusList
$statusList.remove($int($whichStatus)) $statusList.remove($int($whichStatus))
@ -65,19 +65,19 @@ $statusList.append($common.FAILED)
<option value="$curStatus">$common.statusStrings[$curStatus]</option> <option value="$curStatus">$common.statusStrings[$curStatus]</option>
#end for #end for
</select> </select>
<input class="btn" type="submit" value="Go" /> <input class="btn btn-inline" type="submit" value="Go" />
<div> <div>
<button type="button" class="btn btn-mini selectAllShows" style="line-height: 8px;"><a style="color: #fff">Select all</a></button> <button type="button" class="btn btn-xs selectAllShows">Select all</a></button>
<button type="button" class="btn btn-mini unselectAllShows" style="line-height: 8px;"><a style="color: #fff">Clear all</a></button> <button type="button" class="btn btn-xs unselectAllShows">Clear all</a></button>
</div> </div>
<br /> <br />
<table class="sickbeardTable" cellspacing="1" border="0" cellpadding="0"> <table class="sickbeardTable manageTable" cellspacing="1" border="0" cellpadding="0">
#for $cur_indexer_id in $sorted_show_ids: #for $cur_indexer_id in $sorted_show_ids:
<tr id="$cur_indexer_id"> <tr id="$cur_indexer_id">
<th><input type="checkbox" class="allCheck" id="allCheck-$cur_indexer_id" name="$cur_indexer_id-all" checked="checked" /></th> <th><input type="checkbox" class="allCheck" id="allCheck-$cur_indexer_id" name="$cur_indexer_id-all" checked="checked" /></th>
<th colspan="2" style="width: 100%; text-align: left;"><a class="whitelink" href="$sbRoot/home/displayShow?show=$cur_indexer_id">$show_names[$cur_indexer_id]</a> ($ep_counts[$cur_indexer_id]) <input type="button" class="float-right get_more_eps btn" id="$cur_indexer_id" value="Expand" /></th> <th colspan="2" style="width: 100%; text-align: left;"><a class="whitelink" href="$sbRoot/home/displayShow?show=$cur_indexer_id">$show_names[$cur_indexer_id]</a> ($ep_counts[$cur_indexer_id]) <input type="button" class="pull-right get_more_eps btn" id="$cur_indexer_id" value="Expand" /></th>
</tr> </tr>
#end for #end for
</table> </table>

View File

@ -37,8 +37,8 @@
<h1 class="title">$title</h1> <h1 class="title">$title</h1>
#end if #end if
<div class="h2footer align-right"><b>Limit:</b> <div class="h2footer pull-right"><b>Limit:</b>
<select name="limit" id="limit"> <select name="limit" id="limit" class="form-control form-control-inline input-sm">
<option value="0" #if $limit == "0" then "selected=\"selected\"" else ""#>All</option> <option value="0" #if $limit == "0" then "selected=\"selected\"" else ""#>All</option>
<option value="100" #if $limit == "100" then "selected=\"selected\"" else ""#>100</option> <option value="100" #if $limit == "100" then "selected=\"selected\"" else ""#>100</option>
<option value="250" #if $limit == "250" then "selected=\"selected\"" else ""#>250</option> <option value="250" #if $limit == "250" then "selected=\"selected\"" else ""#>250</option>
@ -59,7 +59,7 @@
</thead> </thead>
<tfoot> <tfoot>
<tr> <tr>
<td rowspan="1" colspan="4" class="align-right"><input type="button" class="btn btn-primary" value="Submit" id="submitMassRemove"></td> <td rowspan="1" colspan="4"><input type="button" class="btn pull-right" value="Submit" id="submitMassRemove"></td>
</tr> </tr>
</tfoot> </tfoot>
<tbody> <tbody>

View File

@ -25,7 +25,7 @@
<span class="selectTitle">Root Directories <span class="separator">*</span></span><br /> <span class="selectTitle">Root Directories <span class="separator">*</span></span><br />
#for $cur_dir in $root_dir_list: #for $cur_dir in $root_dir_list:
#set $cur_index = $root_dir_list.index($cur_dir) #set $cur_index = $root_dir_list.index($cur_dir)
<div style="padding: 6px 0 3px 25px;"> <div>
<input class="btn edit_root_dir" type="button" class="edit_root_dir" id="edit_root_dir_$cur_index" value="Edit" /> <input class="btn edit_root_dir" type="button" class="edit_root_dir" id="edit_root_dir_$cur_index" value="Edit" />
<input class="btn delete_root_dir" type="button" class="delete_root_dir" id="delete_root_dir_$cur_index" value="Delete" /> <input class="btn delete_root_dir" type="button" class="delete_root_dir" id="delete_root_dir_$cur_index" value="Delete" />
$cur_dir => <span id="display_new_root_dir_$cur_index">$cur_dir</span> $cur_dir => <span id="display_new_root_dir_$cur_index">$cur_dir</span>
@ -36,10 +36,10 @@
</div> </div>
<div class="optionWrapper alt"> <div class="optionWrapper">
<span class="selectTitle">Quality</span> <span class="selectTitle">Quality</span>
<div class="selectChoices"> <div class="selectChoices">
<select id="qualityPreset" name="quality_preset"> <select id="qualityPreset" name="quality_preset" class="form-control form-control-inline input-sm">
<option value="keep">&lt; keep &gt;</option> <option value="keep">&lt; keep &gt;</option>
#set $selected = None #set $selected = None
<option value="0" #if $quality_value != None and $quality_value not in $common.qualityPresets then "selected=\"selected\"" else ""#>Custom</option> <option value="0" #if $quality_value != None and $quality_value not in $common.qualityPresets then "selected=\"selected\"" else ""#>Custom</option>
@ -50,8 +50,8 @@
</div><br /> </div><br />
<div id="customQuality"> <div id="customQuality">
<div style="width: 50%; text-align: center;" class="float-left"> <div class="manageCustom pull-left">
<h3>Inital</h3> <h4>Inital</h4>
#set $anyQualityList = filter(lambda x: x > $common.Quality.NONE, $common.Quality.qualityStrings) #set $anyQualityList = filter(lambda x: x > $common.Quality.NONE, $common.Quality.qualityStrings)
<select id="anyQualities" name="anyQualities" multiple="multiple" size="len($anyQualityList)"> <select id="anyQualities" name="anyQualities" multiple="multiple" size="len($anyQualityList)">
#for $curQuality in sorted($anyQualityList): #for $curQuality in sorted($anyQualityList):
@ -59,8 +59,8 @@
#end for #end for
</select> </select>
</div> </div>
<div style="width: 50%; text-align: center;" class="float-left"> <div class="manageCustom pull-left">
<h3>Archive</h3> <h4>Archive</h4>
#set $bestQualityList = filter(lambda x: x > $common.Quality.SDTV, $common.Quality.qualityStrings) #set $bestQualityList = filter(lambda x: x > $common.Quality.SDTV, $common.Quality.qualityStrings)
<select id="bestQualities" name="bestQualities" multiple="multiple" size="len($bestQualityList)"> <select id="bestQualities" name="bestQualities" multiple="multiple" size="len($bestQualityList)">
#for $curQuality in sorted($bestQualityList): #for $curQuality in sorted($bestQualityList):
@ -80,7 +80,7 @@
<div class="optionWrapper clearfix"> <div class="optionWrapper clearfix">
<span class="selectTitle">Archive on first match</span> <span class="selectTitle">Archive on first match</span>
<div class="selectChoices"> <div class="selectChoices">
<select id="edit_archive_firstmatch" name="archive_firstmatch"> <select id="edit_archive_firstmatch" name="archive_firstmatch" class="form-control form-control-inline input-sm">
<option value="keep">&lt; keep &gt;</option> <option value="keep">&lt; keep &gt;</option>
<option value="enable"${isEnabled}>enable</option> <option value="enable"${isEnabled}>enable</option>
<option value="disable"${isDisabled}>disable</option> <option value="disable"${isDisabled}>disable</option>
@ -92,7 +92,7 @@
<div class="optionWrapper clearfix"> <div class="optionWrapper clearfix">
<span class="selectTitle">Flatten Folders <span class="separator">*</span></span> <span class="selectTitle">Flatten Folders <span class="separator">*</span></span>
<div class="selectChoices"> <div class="selectChoices">
<select id="edit_flatten_folders" name="flatten_folders"> <select id="edit_flatten_folders" name="flatten_folders" class="form-control form-control-inline input-sm">
<option value="keep">&lt; keep &gt;</option> <option value="keep">&lt; keep &gt;</option>
<option value="enable" #if $flatten_folders_value then "selected=\"selected\"" else ""#>enable</option> <option value="enable" #if $flatten_folders_value then "selected=\"selected\"" else ""#>enable</option>
<option value="disable" #if $flatten_folders_value == False then "selected=\"selected\"" else ""#>disable</option> <option value="disable" #if $flatten_folders_value == False then "selected=\"selected\"" else ""#>disable</option>
@ -100,10 +100,10 @@
</div> </div>
</div> </div>
<div class="optionWrapper alt"> <div class="optionWrapper">
<span class="selectTitle">Paused</span> <span class="selectTitle">Paused</span>
<div class="selectChoices"> <div class="selectChoices">
<select id="edit_paused" name="paused"> <select id="edit_paused" name="paused" class="form-control form-control-inline input-sm">
<option value="keep">&lt; keep &gt;</option> <option value="keep">&lt; keep &gt;</option>
<option value="enable" #if $paused_value then "selected=\"selected\"" else ""#>enable</option> <option value="enable" #if $paused_value then "selected=\"selected\"" else ""#>enable</option>
<option value="disable" #if $paused_value == False then "selected=\"selected\"" else ""#>disable</option> <option value="disable" #if $paused_value == False then "selected=\"selected\"" else ""#>disable</option>
@ -114,7 +114,7 @@
<div class="optionWrapper"> <div class="optionWrapper">
<span class="selectTitle">Scene Numbering</span> <span class="selectTitle">Scene Numbering</span>
<div class="selectChoices"> <div class="selectChoices">
<select id="edit_scene" name="scene"> <select id="edit_scene" name="scene" class="form-control form-control-inline input-sm">
<option value="keep">&lt; keep &gt;</option> <option value="keep">&lt; keep &gt;</option>
<option value="enable" #if $scene_value then "selected=\"selected\"" else ""#>enable</option> <option value="enable" #if $scene_value then "selected=\"selected\"" else ""#>enable</option>
<option value="disable" #if $scene_value == False then "selected=\"selected\"" else ""#>disable</option> <option value="disable" #if $scene_value == False then "selected=\"selected\"" else ""#>disable</option>
@ -125,7 +125,7 @@
<div class="optionWrapper"> <div class="optionWrapper">
<span class="selectTitle">Anime</span> <span class="selectTitle">Anime</span>
<div class="selectChoices"> <div class="selectChoices">
<select id="edit_anime" name="anime"> <select id="edit_anime" name="anime" class="form-control form-control-inline input-sm">
<option value="keep">&lt; keep &gt;</option> <option value="keep">&lt; keep &gt;</option>
<option value="enable" #if $anime_value then "selected=\"selected\"" else ""#>enable</option> <option value="enable" #if $anime_value then "selected=\"selected\"" else ""#>enable</option>
<option value="disable" #if $anime_value == False then "selected=\"selected\"" else ""#>disable</option> <option value="disable" #if $anime_value == False then "selected=\"selected\"" else ""#>disable</option>
@ -136,7 +136,7 @@
<div class="optionWrapper"> <div class="optionWrapper">
<span class="selectTitle">Sports</span> <span class="selectTitle">Sports</span>
<div class="selectChoices"> <div class="selectChoices">
<select id="edit_sports" name="sports"> <select id="edit_sports" name="sports" class="form-control form-control-inline input-sm">
<option value="keep">&lt; keep &gt;</option> <option value="keep">&lt; keep &gt;</option>
<option value="enable" #if $sports_value then "selected=\"selected\"" else ""#>enable</option> <option value="enable" #if $sports_value then "selected=\"selected\"" else ""#>enable</option>
<option value="disable" #if $sports_value == False then "selected=\"selected\"" else ""#>disable</option> <option value="disable" #if $sports_value == False then "selected=\"selected\"" else ""#>disable</option>
@ -147,7 +147,7 @@
<div class="optionWrapper"> <div class="optionWrapper">
<span class="selectTitle">Air-By-Date</span> <span class="selectTitle">Air-By-Date</span>
<div class="selectChoices"> <div class="selectChoices">
<select id="edit_air_by_date" name="air_by_date"> <select id="edit_air_by_date" name="air_by_date" class="form-control form-control-inline input-sm">
<option value="keep">&lt; keep &gt;</option> <option value="keep">&lt; keep &gt;</option>
<option value="enable" #if $air_by_date_value then "selected=\"selected\"" else ""#>enable</option> <option value="enable" #if $air_by_date_value then "selected=\"selected\"" else ""#>enable</option>
<option value="disable" #if $air_by_date_value == False then "selected=\"selected\"" else ""#>disable</option> <option value="disable" #if $air_by_date_value == False then "selected=\"selected\"" else ""#>disable</option>
@ -158,7 +158,7 @@
<div class="optionWrapper"> <div class="optionWrapper">
<span class="selectTitle">Subtitles<span class="separator"></span></span> <span class="selectTitle">Subtitles<span class="separator"></span></span>
<div class="selectChoices"> <div class="selectChoices">
<select id="edit_subtitles" name="subtitles"> <select id="edit_subtitles" name="subtitles" class="form-control form-control-inline input-sm">
<option value="keep">&lt; keep &gt;</option> <option value="keep">&lt; keep &gt;</option>
<option value="enable" #if $subtitles_value then "selected=\"selected\"" else ""#>enable</option> <option value="enable" #if $subtitles_value then "selected=\"selected\"" else ""#>enable</option>
<option value="disable" #if $subtitles_value == False then "selected=\"selected\"" else ""#>disable</option> <option value="disable" #if $subtitles_value == False then "selected=\"selected\"" else ""#>disable</option>
@ -172,7 +172,7 @@
</div> </div>
<div class="optionWrapper" style="text-align: center;"> <div class="optionWrapper" style="text-align: center;">
<input type="submit" value="Submit" class="btn btn-primary" /><br /> <input type="submit" value="Submit" class="btn" /><br />
</div> </div>
</form> </form>

View File

@ -27,7 +27,7 @@
#end if #end if
<form action="$sbRoot/manage/subtitleMissed" method="get"> <form action="$sbRoot/manage/subtitleMissed" method="get">
Manage episodes without <select name="whichSubs"> Manage episodes without <select name="whichSubs" class="form-control form-control-inline input-sm">
<option value="all">All</option> <option value="all">All</option>
#for $sub_lang in $subliminal.language.language_list($sickbeard.SUBTITLES_LANGUAGES): #for $sub_lang in $subliminal.language.language_list($sickbeard.SUBTITLES_LANGUAGES):
<option value="$sub_lang.alpha2">$sub_lang</option> <option value="$sub_lang.alpha2">$sub_lang</option>
@ -45,13 +45,13 @@ subtitles
<form action="$sbRoot/manage/downloadSubtitleMissed" method="post"> <form action="$sbRoot/manage/downloadSubtitleMissed" method="post">
<h2>Episodes without $subsLanguage subtitles.</h2> <h2>Episodes without $subsLanguage subtitles.</h2>
<br /> <br />
Download missed subtitles for selected episodes <input class="btn" type="submit" value="Go" /> Download missed subtitles for selected episodes <input class="btn btn-inline" type="submit" value="Go" />
<div> <div>
<button type="button" class="btn btn-mini selectAllShows" style="line-height: 8px;"><a style="color: #fff">Select all</a></button> <button type="button" class="btn btn-xs selectAllShows">Select all</a></button>
<button type="button" class="btn btn-mini unselectAllShows" style="line-height: 8px;"><a style="color: #fff">Clear all</a></button> <button type="button" class="btn btn-xs unselectAllShows">Clear all</a></button>
</div> </div>
<br /> <br />
<table class="sickbeardTable" cellspacing="1" border="0" cellpadding="0"> <table class="sickbeardTable manageTable" cellspacing="1" border="0" cellpadding="0">
#for $cur_indexer_id in $sorted_show_ids: #for $cur_indexer_id in $sorted_show_ids:
<tr id="$cur_indexer_id"> <tr id="$cur_indexer_id">
<th><input type="checkbox" class="allCheck" id="allCheck-$cur_indexer_id" name="$cur_indexer_id-all" checked="checked" /></th> <th><input type="checkbox" class="allCheck" id="allCheck-$cur_indexer_id" name="$cur_indexer_id-all" checked="checked" /></th>

View File

@ -5,11 +5,13 @@
#set curSBHttpPort = $sbHttpPort #set curSBHttpPort = $sbHttpPort
#set curSBHttpsEnabled = $sbHttpsEnabled #set curSBHttpsEnabled = $sbHttpsEnabled
#set curSBHandleReverseProxy = $sbHandleReverseProxy #set curSBHandleReverseProxy = $sbHandleReverseProxy
#set themeSpinner = $sbThemeName
#except NameMapper.NotFound: #except NameMapper.NotFound:
#set curSBHost = "localhost" #set curSBHost = "localhost"
#set curSBHttpPort = $sickbeard.WEB_PORT #set curSBHttpPort = $sickbeard.WEB_PORT
#set curSBHttpsEnabled = "False" #set curSBHttpsEnabled = "False"
#set curSBHandleReverseProxy = "False" #set curSBHandleReverseProxy = "False"
#set themeSpinner = $sickbeard.THEME_NAME
#end try #end try
sbRoot = "$sbRoot"; sbRoot = "$sbRoot";
sbHttpPort = "$curSBHttpPort"; sbHttpPort = "$curSBHttpPort";
@ -22,24 +24,25 @@ sbHost = "$curSBHost";
<script type="text/javascript" src="$sbRoot/js/lib/jquery-1.8.3.min.js?$sbPID"></script> <script type="text/javascript" src="$sbRoot/js/lib/jquery-1.8.3.min.js?$sbPID"></script>
<script type="text/javascript" src="$sbRoot/js/restart.js?$sbPID"></script> <script type="text/javascript" src="$sbRoot/js/restart.js?$sbPID"></script>
#set themeSpinner = '-dark' if 'dark' == themeSpinner else ''
<h2>Performing Restart</h2> <h2>Performing Restart</h2>
<br /> <br />
<div id="shut_down_message"> <div id="shut_down_message">
Waiting for SickRage to shut down: Waiting for SickRage to shut down:
<img src="$sbRoot/images/loading16.gif" height="16" width="16" id="shut_down_loading" /> <img src="$sbRoot/images/loading16${themeSpinner}.gif" height="16" width="16" id="shut_down_loading" />
<img src="$sbRoot/images/yes16.png" height="16" width="16" id="shut_down_success" style="display: none;" /> <img src="$sbRoot/images/yes16.png" height="16" width="16" id="shut_down_success" style="display: none;" />
</div> </div>
<div id="restart_message" style="display: none;"> <div id="restart_message" style="display: none;">
Waiting for SickRage to start again: Waiting for SickRage to start again:
<img src="$sbRoot/images/loading16.gif" height="16" width="16" id="restart_loading" /> <img src="$sbRoot/images/loading16${themeSpinner}.gif" height="16" width="16" id="restart_loading" />
<img src="$sbRoot/images/yes16.png" height="16" width="16" id="restart_success" style="display: none;" /> <img src="$sbRoot/images/yes16.png" height="16" width="16" id="restart_success" style="display: none;" />
<img src="$sbRoot/images/no16.png" height="16" width="16" id="restart_failure" style="display: none;" /> <img src="$sbRoot/images/no16.png" height="16" width="16" id="restart_failure" style="display: none;" />
</div> </div>
<div id="refresh_message" style="display: none;"> <div id="refresh_message" style="display: none;">
Loading the home page: Loading the home page:
<img src="$sbRoot/images/loading16.gif" height="16" width="16" id="refresh_loading" /> <img src="$sbRoot/images/loading16${themeSpinner}.gif" height="16" width="16" id="refresh_loading" />
</div> </div>
<div id="restart_fail_message" style="display: none;"> <div id="restart_fail_message" style="display: none;">

View File

@ -20,7 +20,7 @@
<script type="text/javascript" src="$sbRoot/js/testRename.js"></script> <script type="text/javascript" src="$sbRoot/js/testRename.js"></script>
<h3>Preview of the proposed name changes</h3> <h3>Preview of the proposed name changes</h3>
<blockquote style="margin-bottom: 0; color: #09A2FF;"> <blockquote>
#if int($show.air_by_date) == 1 and $sickbeard.NAMING_CUSTOM_ABD: #if int($show.air_by_date) == 1 and $sickbeard.NAMING_CUSTOM_ABD:
$sickbeard.NAMING_ABD_PATTERN $sickbeard.NAMING_ABD_PATTERN
#elif int($show.sports) == 1 and $sickbeard.NAMING_CUSTOM_SPORTS: #elif int($show.sports) == 1 and $sickbeard.NAMING_CUSTOM_SPORTS:
@ -48,10 +48,10 @@
</td> </td>
</tr> </tr>
<tr class="seasoncols" id="season-$cur_ep_obj.season-cols"> <tr class="seasoncols" id="season-$cur_ep_obj.season-cols">
<th width="1%" align="center"><input type="checkbox" class="seasonCheck" id="$cur_ep_obj.season" /></th> <th class="col-checkbox"><input type="checkbox" class="seasonCheck" id="$cur_ep_obj.season" /></th>
<th class="nowrap">Episode</th> <th class="nowrap">Episode</th>
<th class="nowrap">Old Location</th> <th class="col-name">Old Location</th>
<th class="nowrap">New Location</th> <th class="col-name">New Location</th>
</tr> </tr>
</thead> </thead>
#set $curSeason = int($cur_ep_obj.season) #set $curSeason = int($cur_ep_obj.season)
@ -70,18 +70,18 @@
wanted wanted
#end if #end if
seasonstyle"> seasonstyle">
<td width="1%" valign="top" align="center" class="tableleft"> <td class="col-checkbox">
#if $curLoc != $newLoc: #if $curLoc != $newLoc:
<input type="checkbox" class="epCheck" id="<%=str(cur_ep_obj.season) + 'x' + str(cur_ep_obj.episode)%>" name="<%=str(cur_ep_obj.season) + "x" + str(cur_ep_obj.episode) %>" /> <input type="checkbox" class="epCheck" id="<%=str(cur_ep_obj.season) + 'x' + str(cur_ep_obj.episode)%>" name="<%=str(cur_ep_obj.season) + "x" + str(cur_ep_obj.episode) %>" />
#end if #end if
</td> </td>
<td align="center" valign="top" class="nowrap"><%= "-".join(map(str, epList)) %></td> <td align="center" valign="top" class="nowrap"><%= "-".join(map(str, epList)) %></td>
<td width="50%" valign="top">$curLoc</td> <td width="50%" class="col-name">$curLoc</td>
<td width="50%" valign="top" class="tableright">$newLoc</td> <td width="50%" class="col-name">$newLoc</td>
</tr> </tr>
</tbody> </tbody>
#end for #end for
</table><br /> </table><br />
<input type="submit" value="Rename Selected" class="btn btn-success"> <a href="/home/displayShow?show=$show.indexerid" class='btn btn-danger' style="line-height: 20px !important;">Cancel Rename</a> <input type="submit" value="Rename Selected" class="btn btn-success"> <a href="/home/displayShow?show=$show.indexerid" class="btn btn-danger">Cancel Rename</a>
#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

@ -18,34 +18,17 @@
url = '$sbRoot/errorlogs/viewlog/?minLevel='+\$(this).val() url = '$sbRoot/errorlogs/viewlog/?minLevel='+\$(this).val()
window.location.href = url window.location.href = url
}); });
var lines = \$('.logcolor').text().split('\n');
\$('.logcolor').empty();
\$.each(lines, function() {
var \$this = \$('<div>'+this+'</div>');
\$('.logcolor').append(\$this);
if( \$this.text().match('WARNING') ) {
\$this.css('color', '#ffcc00');
}
else if( \$this.text().match('ERROR') ) {
\$this.css('color', '#ff3333');
}
else if( \$this.text().match('AA') ) {
\$this.css('color', '#ff6600');
}
});
}); });
//--> //-->
</script> </script>
#if $varExists('header') #if $varExists('header')
<h1 class="header">$header</h1> <h1 class="header">$header</h1>
#else #else
<h1 class="title">$title</h1> <h1 class="title">$title</h1>
#end if #end if
<div class="h2footer align-right">Minimum logging level to display: <select name="minLevel" id="minLevel">
<div class="h2footer pull-right">Minimum logging level to display: <select name="minLevel" id="minLevel" class="form-control form-control-inline input-sm">
#set $levels = $reverseNames.keys() #set $levels = $reverseNames.keys()
$levels.sort(lambda x,y: cmp($reverseNames[$x], $reverseNames[$y])) $levels.sort(lambda x,y: cmp($reverseNames[$x], $reverseNames[$y]))
#for $level in $levels: #for $level in $levels:
@ -53,11 +36,17 @@ $levels.sort(lambda x,y: cmp($reverseNames[$x], $reverseNames[$y]))
#end for #end for
</select> </select>
</div> </div>
<br />
<div class="align-left"><pre class="logcolor"> <div class="align-left"><pre>
$logLines $logLines
</pre> </pre>
</div> </div>
<br />
<script type="text/javascript" charset="utf-8">
<!--
window.setInterval( "location.reload(true)", 600000); // Refresh every 10 minutes
//-->
</script>
<script type="text/javascript" charset="utf-8"> <script type="text/javascript" charset="utf-8">
<!-- <!--

View File

@ -42,7 +42,7 @@ $(document).ready(function() {
} }
}); });
$('#tableDiv').html('<div id="wrap"><div class="spinner"></div><div class="item"> loading folders...</div></div>'); $('#tableDiv').html('<img id="searchingAnim" src="' + sbRoot + '/images/loading32' + themeSpinner + '.gif" height="32" width="32" /> loading folders...');
$.get(sbRoot+'/home/addShows/massAddTable', url, function(data) { $.get(sbRoot+'/home/addShows/massAddTable', url, function(data) {
$('#tableDiv').html(data); $('#tableDiv').html(data);
$("#addRootDirTable").tablesorter({ $("#addRootDirTable").tablesorter({

View File

@ -21,10 +21,10 @@ $(document).ready(function () {
}); });
$(this).attr('disabled', true); $(this).attr('disabled', true);
$.pnotify({ new PNotify({
pnotify_title: 'Saved Defaults', title: 'Saved Defaults',
pnotify_text: 'Your "add show" defaults have been set to your current selections.', text: 'Your "add show" defaults have been set to your current selections.',
pnotify_shadow: false shadow: false
}); });
}); });

View File

@ -1,10 +1,5 @@
var search_status_url = sbRoot + '/getManualSearchStatus'; var search_status_url = sbRoot + '/getManualSearchStatus';
$.pnotify.defaults.width = "400px"; PNotify.prototype.options.maxonscreen = 5;
$.pnotify.defaults.styling = "jqueryui";
$.pnotify.defaults.history = false;
$.pnotify.defaults.shadow = false;
$.pnotify.defaults.delay = 4000;
$.pnotify.defaults.maxonscreen = 5;
$.fn.manualSearches = []; $.fn.manualSearches = [];
@ -40,7 +35,7 @@ function updateImages(data) {
$.each(data.episodes, function (name, ep) { $.each(data.episodes, function (name, ep) {
console.debug(ep.searchstatus); console.debug(ep.searchstatus);
// Get td element for current ep // Get td element for current ep
var loadingImage = 'loading16_dddddd.gif'; var loadingImage = 'loading16.gif';
var queuedImage = 'queued.png'; var queuedImage = 'queued.png';
var searchImage = 'search16.png'; var searchImage = 'search16.png';
var status = null; var status = null;
@ -82,7 +77,7 @@ function updateImages(data) {
} }
// update the status column if it exists // update the status column if it exists
parent.siblings('.status_column').html(HtmlContent) parent.siblings('.col-status').html(HtmlContent)
} }
@ -113,7 +108,7 @@ function disableLink(el) {
defaults: { defaults: {
size: 16, size: 16,
colorRow: false, colorRow: false,
loadingImage: 'loading16_dddddd.gif', loadingImage: 'loading16.gif',
queuedImage: 'queued.png', queuedImage: 'queued.png',
noImage: 'no16.png', noImage: 'no16.png',
yesImage: 'yes16.png' yesImage: 'yes16.png'
@ -167,7 +162,7 @@ function disableLink(el) {
var rSearchTerm = /(\w+)\s\((.+?)\)/; var rSearchTerm = /(\w+)\s\((.+?)\)/;
HtmlContent = data.result.replace(rSearchTerm,"$1"+' <span class="quality '+data.quality+'">'+"$2"+'</span>'); HtmlContent = data.result.replace(rSearchTerm,"$1"+' <span class="quality '+data.quality+'">'+"$2"+'</span>');
// update the status column if it exists // update the status column if it exists
parent.siblings('.status_column').html(HtmlContent) parent.siblings('.col-status').html(HtmlContent)
// Only if the queing was succesfull, disable the onClick event of the loading image // Only if the queing was succesfull, disable the onClick event of the loading image
disableLink(link); disableLink(link);
} }

Some files were not shown because too many files have changed in this diff Show More