mirror of
https://github.com/SickGear/SickGear.git
synced 2024-12-03 01:43:37 +00:00
Merge pull request #123 from JackDandy/feature/EpisodeView
Feature/Episode View
This commit is contained in:
commit
9d4122247e
16 changed files with 1311 additions and 1070 deletions
15
CHANGES.md
15
CHANGES.md
|
@ -1,4 +1,4 @@
|
||||||
### 0.x.x (2014-12-xx xx:xx:xx UTC)
|
### 0.x.x (2015-01-xx xx:xx:xx UTC)
|
||||||
|
|
||||||
* Add network logos BBC Canada, Crackle, El Rey Network, SKY Atlantic, and Watch
|
* Add network logos BBC Canada, Crackle, El Rey Network, SKY Atlantic, and Watch
|
||||||
* Change Yahoo! screen network logo
|
* Change Yahoo! screen network logo
|
||||||
|
@ -20,6 +20,19 @@
|
||||||
* Fix anime searches on BTN provider
|
* Fix anime searches on BTN provider
|
||||||
* Change replace "Daily-Search" with "Recent-Search"
|
* Change replace "Daily-Search" with "Recent-Search"
|
||||||
* Add daily search to recent search renaming to config migration code
|
* Add daily search to recent search renaming to config migration code
|
||||||
|
* Change Coming Episodes calendar view to a fluid layout, change episode layout design, and add day and month in column headers
|
||||||
|
* Add isotope plug-in to Coming Episodes calendar view to enable sort columns by Date, Network, and Show name
|
||||||
|
* Add imagesLoaded plug-in to prevent layout breakage by calling isotope to update content after a page auto-refresh
|
||||||
|
* Change Coming Episodes to "Episodes" page (API endpoint is not renamed)
|
||||||
|
* Add coming episodes to episode view renaming to config migration code
|
||||||
|
* Change Layout term "Calender" to "Day by Day" on Episodes page
|
||||||
|
* Fix saving of sort modes to config file on Episodes page
|
||||||
|
* Add qTip episode plots to "Day by Day" on Episodes page
|
||||||
|
* Add article sorting to networks on Episodes page
|
||||||
|
* Add toggle sort direction and multidimensional sort to isotope on Episodes page
|
||||||
|
* Add text "[paused]" where appropriate to shows on layout Day by Day on Episodes page
|
||||||
|
* Change Epsiodes page auto refresh from 10 to 30 mins
|
||||||
|
* Add UI tweaks
|
||||||
|
|
||||||
[develop changelog]
|
[develop changelog]
|
||||||
|
|
||||||
|
|
|
@ -149,22 +149,18 @@ inc_top.tmpl
|
||||||
margin-bottom: -15px;
|
margin-bottom: -15px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#contentWrapper {
|
[class^="icon-"],
|
||||||
/* background: url("../images/bg.png") repeat 0 0 transparent; */
|
[class*=" icon-"] {
|
||||||
|
background-image: url("../images/glyphicons-halflings.png");
|
||||||
}
|
}
|
||||||
|
|
||||||
[class^="icon-"],
|
.icon-white {
|
||||||
[class*=" icon-"] {
|
background-image: url("../images/glyphicons-halflings-white.png");
|
||||||
background-image: url("../images/glyphicons-halflings.png");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.icon-white {
|
.dropdown-menu li > a:hover > [class^="menu-icon-"],
|
||||||
background-image: url("../images/glyphicons-halflings-white.png");
|
.dropdown-menu li > a:hover > [class*=" menu-icon-"] {
|
||||||
}
|
background-image: url("../images/menu/menu-icons-white.png");
|
||||||
|
|
||||||
.dropdown-menu li > a:hover > [class^="menu-icon-"],
|
|
||||||
.dropdown-menu li > a:hover > [class*=" menu-icon-"] {
|
|
||||||
background-image: url("../images/menu/menu-icons-white.png");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.infoTableHeader .icon16-sb {
|
.infoTableHeader .icon16-sb {
|
||||||
|
@ -172,29 +168,29 @@ inc_top.tmpl
|
||||||
}
|
}
|
||||||
|
|
||||||
.ui-autocomplete-loading {
|
.ui-autocomplete-loading {
|
||||||
background: white url("../images/loading16.gif") right center no-repeat;
|
background: white url("../images/loading16.gif") right center no-repeat;
|
||||||
}
|
}
|
||||||
|
|
||||||
.browserDialog.busy .ui-dialog-buttonpane {
|
.browserDialog.busy .ui-dialog-buttonpane {
|
||||||
background: url("../images/loading.gif") 10px 50% no-repeat !important;
|
background: url("../images/loading.gif") 10px 50% no-repeat !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ui-progressbar .ui-progressbar-overlay {
|
.ui-progressbar .ui-progressbar-overlay {
|
||||||
background: url("../css/lib/images/animated-overlay.gif");
|
background: url("../css/lib/images/animated-overlay.gif");
|
||||||
}
|
}
|
||||||
|
|
||||||
.ui-dialog,
|
.ui-dialog,
|
||||||
.ui-dialog-buttonpane {
|
.ui-dialog-buttonpane {
|
||||||
background: #2a2a2a !important;;
|
background: #2a2a2a !important;;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ui-accordion-content,
|
.ui-accordion-content,
|
||||||
.ui-tabs-panel {
|
.ui-tabs-panel {
|
||||||
background: #ededed !important;
|
background: #ededed !important;
|
||||||
background-image: none !important;
|
background-image: none !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ui-widget-content {
|
.ui-widget-content {
|
||||||
background: #606060;
|
background: #606060;
|
||||||
border: 1px solid #111;
|
border: 1px solid #111;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
|
@ -208,82 +204,82 @@ inc_top.tmpl
|
||||||
color: #09A2FF;
|
color: #09A2FF;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ui-widget-header {
|
.ui-widget-header {
|
||||||
background: #3d3d3d;
|
background: #3d3d3d;
|
||||||
border: 1px solid #111;
|
border: 1px solid #111;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ui-state-default,
|
.ui-state-default,
|
||||||
.ui-widget-content .ui-state-default,
|
.ui-widget-content .ui-state-default,
|
||||||
.ui-widget-header .ui-state-default {
|
.ui-widget-header .ui-state-default {
|
||||||
border: 1px solid #111;
|
border: 1px solid #111;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ui-state-hover,
|
.ui-state-hover,
|
||||||
.ui-widget-content .ui-state-hover,
|
.ui-widget-content .ui-state-hover,
|
||||||
.ui-widget-header .ui-state-hover,
|
.ui-widget-header .ui-state-hover,
|
||||||
.ui-state-focus,
|
.ui-state-focus,
|
||||||
.ui-widget-content .ui-state-focus,
|
.ui-widget-content .ui-state-focus,
|
||||||
.ui-widget-header .ui-state-focus {
|
.ui-widget-header .ui-state-focus {
|
||||||
background: #3d3d3d;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ui-state-active,
|
|
||||||
.ui-widget-content .ui-state-active,
|
|
||||||
.ui-widget-header .ui-state-active {
|
|
||||||
background: #3d3d3d;
|
background: #3d3d3d;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ui-state-highlight,
|
.ui-state-active,
|
||||||
.ui-widget-content .ui-state-highlight,
|
.ui-widget-content .ui-state-active,
|
||||||
.ui-widget-header .ui-state-highlight {
|
.ui-widget-header .ui-state-active {
|
||||||
background: #fbf9ee url("../css/lib/images/ui-bg_glass_55_fbf9ee_1x400.png") 50% 50% repeat-x;
|
background: #3d3d3d;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ui-state-error,
|
.ui-state-highlight,
|
||||||
.ui-widget-content .ui-state-error,
|
.ui-widget-content .ui-state-highlight,
|
||||||
.ui-widget-header .ui-state-error {
|
.ui-widget-header .ui-state-highlight {
|
||||||
background: #fef1ec url("../css/lib/images/ui-bg_glass_95_fef1ec_1x400.png") 50% 50% repeat-x;
|
background: #fbf9ee url("../css/lib/images/ui-bg_glass_55_fbf9ee_1x400.png") 50% 50% repeat-x;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ui-icon,
|
.ui-state-error,
|
||||||
.ui-widget-content .ui-icon {
|
.ui-widget-content .ui-state-error,
|
||||||
background-image: url("../css/lib/images/ui-icons_ffffff_256x240.png");
|
.ui-widget-header .ui-state-error {
|
||||||
|
background: #fef1ec url("../css/lib/images/ui-bg_glass_95_fef1ec_1x400.png") 50% 50% repeat-x;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ui-widget-header .ui-icon {
|
.ui-icon,
|
||||||
background-image: url("../css/lib/images/ui-icons_222222_256x240.png");
|
.ui-widget-content .ui-icon {
|
||||||
|
background-image: url("../css/lib/images/ui-icons_ffffff_256x240.png");
|
||||||
}
|
}
|
||||||
|
|
||||||
.ui-state-default .ui-icon {
|
.ui-widget-header .ui-icon {
|
||||||
background-image: url('../css/lib/images/ui-icons_09a2ff_256x240.png');
|
background-image: url("../css/lib/images/ui-icons_222222_256x240.png");
|
||||||
}
|
}
|
||||||
|
|
||||||
.ui-state-hover .ui-icon,
|
.ui-state-default .ui-icon {
|
||||||
.ui-state-focus .ui-icon {
|
background-image: url('../css/lib/images/ui-icons_09a2ff_256x240.png');
|
||||||
background-image: url("../css/lib/images/ui-icons_222222_256x240.png");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.ui-state-active .ui-icon {
|
.ui-state-hover .ui-icon,
|
||||||
background-image: url("../css/lib/images/ui-icons_8c291d_256x240.png");
|
.ui-state-focus .ui-icon {
|
||||||
|
background-image: url("../css/lib/images/ui-icons_222222_256x240.png");
|
||||||
}
|
}
|
||||||
|
|
||||||
.ui-state-highlight .ui-icon {
|
.ui-state-active .ui-icon {
|
||||||
background-image: url("../css/lib/images/ui-icons_2e83ff_256x240.png");
|
background-image: url("../css/lib/images/ui-icons_8c291d_256x240.png");
|
||||||
}
|
}
|
||||||
|
|
||||||
.ui-state-error .ui-icon,
|
.ui-state-highlight .ui-icon {
|
||||||
.ui-state-error-text .ui-icon {
|
background-image: url("../css/lib/images/ui-icons_2e83ff_256x240.png");
|
||||||
background-image: url("../css/lib/images/ui-icons_cd0a0a_256x240.png");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.ui-widget-overlay {
|
.ui-state-error .ui-icon,
|
||||||
background: #000000 url("../css/lib/images/ui-bg_flat_0_000000_40x100.png") 50% 50% repeat-x;
|
.ui-state-error-text .ui-icon {
|
||||||
|
background-image: url("../css/lib/images/ui-icons_cd0a0a_256x240.png");
|
||||||
}
|
}
|
||||||
|
|
||||||
.ui-widget-shadow {
|
.ui-widget-overlay {
|
||||||
background: #000000 url("../css/lib/images/ui-bg_flat_0_000000_40x100.png") 50% 50% repeat-x;
|
background: #000000 url("../css/lib/images/ui-bg_flat_0_000000_40x100.png") 50% 50% repeat-x;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ui-widget-shadow {
|
||||||
|
background: #000000 url("../css/lib/images/ui-bg_flat_0_000000_40x100.png") 50% 50% repeat-x;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited {
|
.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited {
|
||||||
|
@ -301,21 +297,21 @@ inc_top.tmpl
|
||||||
}
|
}
|
||||||
|
|
||||||
.ui-tabs {
|
.ui-tabs {
|
||||||
padding: 0px;
|
padding: 0;
|
||||||
background: none;
|
background: none;
|
||||||
border-width: 0px;
|
border-width: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ui-tabs .ui-tabs-nav {
|
.ui-tabs .ui-tabs-nav {
|
||||||
padding-left: 0px;
|
padding-left: 0;
|
||||||
background: transparent;
|
background: transparent;
|
||||||
border-width: 0px 0px 0px 0px;
|
border-width: 0 0 0 0;
|
||||||
-moz-border-radius: 0px;
|
-moz-border-radius: 0;
|
||||||
-webkit-border-radius: 0px;
|
-webkit-border-radius: 0;
|
||||||
border-radius: 0px;
|
border-radius: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ui-tabs .ui-tabs-panel {
|
.ui-tabs .ui-tabs-panel {
|
||||||
background-color: #3d3d3d !important;
|
background-color: #3d3d3d !important;
|
||||||
border: 1px solid #111 !important;
|
border: 1px solid #111 !important;
|
||||||
}
|
}
|
||||||
|
@ -331,15 +327,6 @@ inc_top.tmpl
|
||||||
border-top-right-radius: 5px;
|
border-top-right-radius: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#content {
|
|
||||||
width: 95%;
|
|
||||||
min-width: 875px;
|
|
||||||
padding: 15px;
|
|
||||||
margin-left: auto;
|
|
||||||
margin-right: auto;
|
|
||||||
clear: both;
|
|
||||||
}
|
|
||||||
|
|
||||||
#SubMenu {
|
#SubMenu {
|
||||||
padding-right: 20px;
|
padding-right: 20px;
|
||||||
clear: both;
|
clear: both;
|
||||||
|
@ -348,12 +335,12 @@ inc_top.tmpl
|
||||||
}
|
}
|
||||||
|
|
||||||
.upgrade-notification {
|
.upgrade-notification {
|
||||||
width: 600px;
|
width: 600px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
margin-left: auto;
|
margin-left: auto;
|
||||||
margin-right: auto;
|
margin-right: auto;
|
||||||
margin-top: 50px;
|
margin-top: 50px;
|
||||||
margin-bottom: 0px;
|
margin-bottom: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
[class^="menu-icon-"], [class*=" menu-icon-"] {
|
[class^="menu-icon-"], [class*=" menu-icon-"] {
|
||||||
|
@ -379,83 +366,83 @@ inc_top.tmpl
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu-icon-addshow {
|
.menu-icon-addshow {
|
||||||
background-position: 0px 0px;
|
background-position: 0 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu-icon-anime {
|
.menu-icon-anime {
|
||||||
background-position: -21px 0px;
|
background-position: -21px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu-icon-backlog-view {
|
.menu-icon-backlog-view {
|
||||||
background-position: -42px 0px;
|
background-position: -42px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu-icon-backlog {
|
.menu-icon-backlog {
|
||||||
background-position: -63px 0px;
|
background-position: -63px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu-icon-bittorrent {
|
.menu-icon-bittorrent {
|
||||||
background-position: -84px 0px;
|
background-position: -84px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu-icon-config-index {
|
.menu-icon-config-index {
|
||||||
background-position: -105px 0px;
|
background-position: -105px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu-icon-config {
|
.menu-icon-config {
|
||||||
background-position: -126px 0px;
|
background-position: -126px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu-icon-failed-download {
|
.menu-icon-failed-download {
|
||||||
background-position: -147px 0px;
|
background-position: -147px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu-icon-home {
|
.menu-icon-home {
|
||||||
background-position: -168px 0px;
|
background-position: -168px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu-icon-manage {
|
.menu-icon-manage {
|
||||||
background-position: -189px 0px;
|
background-position: -189px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu-icon-manage-searches {
|
.menu-icon-manage-searches {
|
||||||
background-position: -210px 0px;
|
background-position: -210px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu-icon-poster {
|
.menu-icon-poster {
|
||||||
background-position: -231px 0px;
|
background-position: -231px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu-icon-postprocess {
|
.menu-icon-postprocess {
|
||||||
background-position: -252px 0px;
|
background-position: -252px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu-icon-restart {
|
.menu-icon-restart {
|
||||||
background-position: -273px 0px;
|
background-position: -273px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu-icon-shutdown {
|
.menu-icon-shutdown {
|
||||||
background-position: -294px 0px;
|
background-position: -294px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu-icon-update {
|
.menu-icon-update {
|
||||||
background-position: -315px 0px;
|
background-position: -315px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu-icon-viewlog-errors {
|
.menu-icon-viewlog-errors {
|
||||||
background-position: -336px 0px;
|
background-position: -336px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu-icon-viewlog {
|
.menu-icon-viewlog {
|
||||||
background-position: -357px 0px;
|
background-position: -357px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu-icon-xbmc {
|
.menu-icon-xbmc {
|
||||||
background-position: -378px 0px;
|
background-position: -378px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu-icon-help {
|
.menu-icon-help {
|
||||||
background-position: -399px 0px;
|
background-position: -399px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
[class^="submenu-icon-"], [class*=" submenu-icon-"] {
|
[class^="submenu-icon-"], [class*=" submenu-icon-"] {
|
||||||
|
@ -465,27 +452,27 @@ inc_top.tmpl
|
||||||
}
|
}
|
||||||
|
|
||||||
.submenu-icon-anime {
|
.submenu-icon-anime {
|
||||||
background-position: -21px 0px;
|
background-position: -21px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.submenu-icon-bittorrent {
|
.submenu-icon-bittorrent {
|
||||||
background-position: -84px 0px;
|
background-position: -84px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.submenu-icon-failed-download {
|
.submenu-icon-failed-download {
|
||||||
background-position: -147px 0px;
|
background-position: -147px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.submenu-icon-restart {
|
.submenu-icon-restart {
|
||||||
background-position: -273px 0px;
|
background-position: -273px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.submenu-icon-shutdown {
|
.submenu-icon-shutdown {
|
||||||
background-position: -294px 0px;
|
background-position: -294px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.submenu-icon-xbmc {
|
.submenu-icon-xbmc {
|
||||||
background-position: -378px 0px;
|
background-position: -378px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* =======================================================================
|
/* =======================================================================
|
||||||
|
@ -622,42 +609,42 @@ home.tmpl
|
||||||
}
|
}
|
||||||
|
|
||||||
.show .ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br {
|
.show .ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br {
|
||||||
border-bottom-right-radius: 0px;
|
border-bottom-right-radius: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.show .ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl {
|
.show .ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl {
|
||||||
border-bottom-left-radius: 0px;
|
border-bottom-left-radius: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.show .ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr {
|
.show .ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr {
|
||||||
border-top-right-radius: 0px;
|
border-top-right-radius: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.show .ui-corner-all, .ui-corner-top, .ui-corner-left, .ui-corner-tl {
|
.show .ui-corner-all, .ui-corner-top, .ui-corner-left, .ui-corner-tl {
|
||||||
border-top-left-radius: 0px;
|
border-top-left-radius: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.show .ui-widget-content {
|
.show .ui-widget-content {
|
||||||
border-top: 1px solid #111;
|
border-top: 1px solid #111;
|
||||||
border-bottom: 1px solid #111;
|
border-bottom: 1px solid #111;
|
||||||
border-left: 0px;
|
border-left: 0;
|
||||||
border-right: 0px;
|
border-right: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.show .progress-80 {
|
.show .progress-80 {
|
||||||
border-radius: 0px;
|
border-radius: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.show .progress-60 {
|
.show .progress-60 {
|
||||||
border-radius: 0px;
|
border-radius: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.show .progress-40 {
|
.show .progress-40 {
|
||||||
border-radius: 0px;
|
border-radius: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.show .progress-20 {
|
.show .progress-20 {
|
||||||
border-radius: 0px;
|
border-radius: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.show-title {
|
.show-title {
|
||||||
|
@ -665,7 +652,7 @@ home.tmpl
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
font-size: 11px;
|
font-size: 11px;
|
||||||
margin: 4px 4px 0px 4px;
|
margin: 4px 4px 0 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.show-title:after {
|
.show-title:after {
|
||||||
|
@ -674,7 +661,7 @@ home.tmpl
|
||||||
position: absolute;
|
position: absolute;
|
||||||
width: 20px;
|
width: 20px;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
top: 0;
|
top: 0;
|
||||||
right: 0;
|
right: 0;
|
||||||
background-image: -webkit-linear-gradient(right, rgba(51, 51, 51, 1), rgba(51, 51, 51, 0));
|
background-image: -webkit-linear-gradient(right, rgba(51, 51, 51, 1), rgba(51, 51, 51, 0));
|
||||||
background-image: -moz-linear-gradient(right, rgba(51, 51, 51, 1), rgba(51, 51, 51, 0));
|
background-image: -moz-linear-gradient(right, rgba(51, 51, 51, 1), rgba(51, 51, 51, 0));
|
||||||
|
@ -688,7 +675,7 @@ home.tmpl
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
font-size: 11px;
|
font-size: 11px;
|
||||||
margin: 0px 4px 4px 4px;
|
margin: 0 4px 4px 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.show-date:after {
|
.show-date:after {
|
||||||
|
@ -697,7 +684,7 @@ home.tmpl
|
||||||
position: absolute;
|
position: absolute;
|
||||||
width: 20px;
|
width: 20px;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
top: 0;
|
top: 0;
|
||||||
right: 0;
|
right: 0;
|
||||||
background-image: -webkit-linear-gradient(right, rgba(51, 51, 51, 1), rgba(51, 51, 51, 0));
|
background-image: -webkit-linear-gradient(right, rgba(51, 51, 51, 1), rgba(51, 51, 51, 0));
|
||||||
background-image: -moz-linear-gradient(right, rgba(51, 51, 51, 1), rgba(51, 51, 51, 0));
|
background-image: -moz-linear-gradient(right, rgba(51, 51, 51, 1), rgba(51, 51, 51, 0));
|
||||||
|
@ -706,8 +693,8 @@ home.tmpl
|
||||||
background-image: linear-gradient(to left, rgba(51, 51, 51, 1), rgba(51, 51, 51, 0));
|
background-image: linear-gradient(to left, rgba(51, 51, 51, 1), rgba(51, 51, 51, 0));
|
||||||
}
|
}
|
||||||
|
|
||||||
.show-table {
|
.show-table {
|
||||||
text-align:center;
|
text-align:center;
|
||||||
vertical-align:middle;
|
vertical-align:middle;
|
||||||
width: 33%
|
width: 33%
|
||||||
}
|
}
|
||||||
|
@ -745,7 +732,7 @@ home.tmpl
|
||||||
|
|
||||||
#sort-by {
|
#sort-by {
|
||||||
display: inline;
|
display: inline;
|
||||||
list-style-type: none;
|
list-style-type: none;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
margin-left: 5px;
|
margin-left: 5px;
|
||||||
}
|
}
|
||||||
|
@ -815,20 +802,20 @@ home_trendingShows.tmpl
|
||||||
padding-bottom: 4px;
|
padding-bottom: 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.traktContainer p {
|
.traktContainer p {
|
||||||
padding-top: 2px;
|
padding-top: 2px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.traktContainer p img {
|
.traktContainer p img {
|
||||||
position: relative;
|
position: relative;
|
||||||
top: -2px;
|
top: -2px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.traktContainer p, .traktContainer i {
|
.traktContainer p, .traktContainer i {
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
/* text-shadow: 1px 1px 0px #000;*/
|
/* text-shadow: 1px 1px 0 #000;*/
|
||||||
padding-left: 4px;
|
padding-left: 4px;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
|
@ -864,7 +851,7 @@ home_postprocess.tmpl
|
||||||
|
|
||||||
|
|
||||||
/* =======================================================================
|
/* =======================================================================
|
||||||
displayShow.tmpl
|
displayShow.tmpl
|
||||||
========================================================================== */
|
========================================================================== */
|
||||||
|
|
||||||
#showCol {
|
#showCol {
|
||||||
|
@ -894,7 +881,7 @@ h1.title {
|
||||||
}
|
}
|
||||||
|
|
||||||
.displayspecials {
|
.displayspecials {
|
||||||
position: relative;
|
position: relative;
|
||||||
top: -24px;
|
top: -24px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -902,7 +889,7 @@ h1.title {
|
||||||
cursor: default;
|
cursor: default;
|
||||||
}
|
}
|
||||||
|
|
||||||
#showinfo {
|
#showinfo {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
position: relative;
|
position: relative;
|
||||||
top: -3px;
|
top: -3px;
|
||||||
|
@ -928,7 +915,7 @@ ul.tags li {
|
||||||
border: 1px solid #111;
|
border: 1px solid #111;
|
||||||
color: #FFF;
|
color: #FFF;
|
||||||
font: 14px/18px "Open Sans", "Helvetica Neue", Helvetica, Arial, Geneva, sans-serif;
|
font: 14px/18px "Open Sans", "Helvetica Neue", Helvetica, Arial, Geneva, sans-serif;
|
||||||
text-shadow: 0px 1px rgba(0, 0, 0, 0.8);
|
text-shadow: 0 1px rgba(0, 0, 0, 0.8);
|
||||||
float: left;
|
float: left;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1066,7 +1053,7 @@ span.snatched b {
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
}
|
}
|
||||||
|
|
||||||
.sickbeardTable th,
|
.sickbeardTable th,
|
||||||
.sickbeardTable td {
|
.sickbeardTable td {
|
||||||
border-top: 1px solid #222;
|
border-top: 1px solid #222;
|
||||||
border-left: 1px solid #222;
|
border-left: 1px solid #222;
|
||||||
|
@ -1168,7 +1155,7 @@ td.col-search {
|
||||||
}
|
}
|
||||||
|
|
||||||
/* =======================================================================
|
/* =======================================================================
|
||||||
comingEpisodes.tmpl
|
episodeView.tmpl
|
||||||
========================================================================== */
|
========================================================================== */
|
||||||
|
|
||||||
.sort_data {
|
.sort_data {
|
||||||
|
@ -1227,7 +1214,7 @@ h2.day, h2.network {
|
||||||
letter-spacing: 1px;
|
letter-spacing: 1px;
|
||||||
color: #FFF;
|
color: #FFF;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
text-shadow: -1px -1px 0px rgba(0, 0, 0, 0.3);
|
text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.3);
|
||||||
background-color: #15528F;
|
background-color: #15528F;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1236,7 +1223,7 @@ h2.day, h2.network {
|
||||||
clear: both;
|
clear: both;
|
||||||
border: 1px solid #ccc;
|
border: 1px solid #ccc;
|
||||||
margin: auto;
|
margin: auto;
|
||||||
padding: 0px;
|
padding: 0;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
width: 750px;
|
width: 750px;
|
||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
|
@ -1325,17 +1312,42 @@ h2.day, h2.network {
|
||||||
color: #09A2FF;
|
color: #09A2FF;
|
||||||
}
|
}
|
||||||
|
|
||||||
table.cal-odd {
|
.day-of-week .day-number {
|
||||||
|
background-color: #15528F;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.today .day-number .number, .today .day-number .month, .today .day-number .day {
|
||||||
|
color: #8dbeee;
|
||||||
|
}
|
||||||
|
|
||||||
|
.odd .daybyday-show {
|
||||||
background-color: #333;
|
background-color: #333;
|
||||||
}
|
}
|
||||||
table.cal-even {
|
|
||||||
|
.even .daybyday-show {
|
||||||
background-color: #3d3d3d;
|
background-color: #3d3d3d;
|
||||||
}
|
}
|
||||||
.calendarShow .text .airtime {
|
.daybyday-show .episode-blank {
|
||||||
color:#fff
|
background-color: rgba(0,0,0,.1);
|
||||||
|
border-radius: 3px;
|
||||||
}
|
}
|
||||||
.calendarShow .text .episode-title {
|
|
||||||
color:#aaa
|
.day-of-week .poster img {
|
||||||
|
border-color: #111;
|
||||||
|
}
|
||||||
|
|
||||||
|
.day-of-week .text .airtime,
|
||||||
|
.day-of-week .text .episode,
|
||||||
|
.day-of-week .text .episode .name {
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
.day-of-week .text .episode .season,
|
||||||
|
.day-of-week .text .episode .number {
|
||||||
|
color: rgb(9, 162, 255);
|
||||||
|
}
|
||||||
|
.day-of-week .text .episode {
|
||||||
|
color: rgb(141, 190, 238);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* =======================================================================
|
/* =======================================================================
|
||||||
|
@ -1372,7 +1384,7 @@ config*.tmpl
|
||||||
}
|
}
|
||||||
|
|
||||||
#config div.field-pair {
|
#config div.field-pair {
|
||||||
padding: 12px 0px;
|
padding: 12px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#config .nocheck, #config div #customQuality, .metadataDiv {
|
#config .nocheck, #config div #customQuality, .metadataDiv {
|
||||||
|
@ -1410,14 +1422,14 @@ select .selected {
|
||||||
list-style-type: none;
|
list-style-type: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
#provider_order_list,
|
#provider_order_list,
|
||||||
#service_order_list {
|
#service_order_list {
|
||||||
width: 250px;
|
width: 250px;
|
||||||
padding-left: 20px;
|
padding-left: 20px;
|
||||||
list-style-type: none;
|
list-style-type: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
#provider_order_list li,
|
#provider_order_list li,
|
||||||
#service_order_list li {
|
#service_order_list li {
|
||||||
background: #333 !important;
|
background: #333 !important;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
|
@ -1434,13 +1446,13 @@ select .selected {
|
||||||
width: 220px !important;
|
width: 220px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.infoTableHeader,
|
.infoTableHeader,
|
||||||
.infoTableCell {
|
.infoTableCell {
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.infoTableSeperator {
|
.infoTableSeperator {
|
||||||
border-top: 1px dotted #666666;
|
border-top: 1px dotted #666666;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* =======================================================================
|
/* =======================================================================
|
||||||
|
@ -1557,7 +1569,7 @@ td.tableright {
|
||||||
text-align: left;
|
text-align: left;
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
width: 225px;
|
width: 225px;
|
||||||
padding: 6px 0px;
|
padding: 6px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.optionWrapper div.selectChoices {
|
.optionWrapper div.selectChoices {
|
||||||
|
@ -1591,7 +1603,6 @@ Global
|
||||||
========================================================================== */
|
========================================================================== */
|
||||||
|
|
||||||
span.path {
|
span.path {
|
||||||
padding: 3px 6px;
|
|
||||||
color: #09A2FF;
|
color: #09A2FF;
|
||||||
background-color: #333;
|
background-color: #333;
|
||||||
}
|
}
|
||||||
|
@ -1603,13 +1614,13 @@ span.path {
|
||||||
|
|
||||||
span.quality {
|
span.quality {
|
||||||
font: 12px/13px "Open Sans", verdana, sans-serif;
|
font: 12px/13px "Open Sans", verdana, sans-serif;
|
||||||
background-image:-webkit-linear-gradient(top, rgba(255,255,255,0.08),rgba(255,255,255,0) 50%,rgba(0,0,0,0) 50%,rgba(0,0,0,0.25));
|
background-image:-webkit-linear-gradient(top, rgba(255, 255, 255, 0.08),rgba(255, 255, 255, 0) 50%,rgba(0, 0, 0, 0) 50%,rgba(0, 0, 0, 0.25));
|
||||||
background-image:-moz-linear-gradient(top, rgba(255,255,255,0.08),rgba(255,255,255,0) 50%,rgba(0,0,0,0) 50%,rgba(0,0,0,0.25));
|
background-image:-moz-linear-gradient(top, rgba(255, 255, 255, 0.08),rgba(255, 255, 255, 0) 50%,rgba(0, 0, 0, 0) 50%,rgba(0, 0, 0, 0.25));
|
||||||
background-image:-o-linear-gradient(top, rgba(255,255,255,0.08),rgba(255,255,255,0) 50%,rgba(0,0,0,0) 50%,rgba(0,0,0,0.25));
|
background-image:-o-linear-gradient(top, rgba(255, 255, 255, 0.08),rgba(255, 255, 255, 0) 50%,rgba(0, 0, 0, 0) 50%,rgba(0, 0, 0, 0.25));
|
||||||
background-image:linear-gradient(to bottom, rgba(255,255,255,0.08),rgba(255,255,255,0) 50%,rgba(0,0,0,0) 50%,rgba(0,0,0,0.25));
|
background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.08),rgba(255, 255, 255, 0) 50%,rgba(0, 0, 0, 0) 50%,rgba(0, 0, 0, 0.25));
|
||||||
-webkit-box-shadow:inset 0 1px rgba(255,255,255,0.1),inset 0 -1px 3px rgba(0,0,0,0.3),inset 0 0 0 1px rgba(255,255,255,0.08),0 1px 2px rgba(0,0,0,0.15);
|
-webkit-box-shadow:inset 0 1px rgba(255, 255, 255, 0.1),inset 0 -1px 3px rgba(0, 0, 0, 0.3),inset 0 0 0 1px rgba(255, 255, 255, 0.08),0 1px 2px rgba(0, 0, 0, 0.15);
|
||||||
box-shadow:inset 0 1px rgba(255,255,255,0.1),inset 0 -1px 3px rgba(0,0,0,0.3),inset 0 0 0 1px rgba(255,255,255,0.08),0 1px 2px rgba(0,0,0,0.15);
|
box-shadow:inset 0 1px rgba(255, 255, 255, 0.1),inset 0 -1px 3px rgba(0, 0, 0, 0.3),inset 0 0 0 1px rgba(255, 255, 255, 0.08),0 1px 2px rgba(0, 0, 0, 0.15);
|
||||||
text-shadow: 0px 1px rgba(0, 0, 0, 0.8);
|
text-shadow: 0 1px rgba(0, 0, 0, 0.8);
|
||||||
color: #FFFFFF;
|
color: #FFFFFF;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
padding: 2px 4px;
|
padding: 2px 4px;
|
||||||
|
@ -1700,7 +1711,7 @@ option.flag {
|
||||||
|
|
||||||
div.blackwhitelist{
|
div.blackwhitelist{
|
||||||
float:left;
|
float:left;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.blackwhitelist input {
|
div.blackwhitelist input {
|
||||||
|
@ -1729,7 +1740,7 @@ div.blackwhitelist span {
|
||||||
}
|
}
|
||||||
|
|
||||||
div.blackwhitelist.anidb, div.blackwhitelist.manual {
|
div.blackwhitelist.anidb, div.blackwhitelist.manual {
|
||||||
margin: 7px 0px;
|
margin: 7px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1737,8 +1748,8 @@ div.blackwhitelist.anidb, div.blackwhitelist.manual {
|
||||||
bootstrap Overrides
|
bootstrap Overrides
|
||||||
========================================================================== */
|
========================================================================== */
|
||||||
|
|
||||||
body {
|
body {
|
||||||
padding-top: 60px;
|
padding-top: 60px;
|
||||||
overflow-y: scroll;
|
overflow-y: scroll;
|
||||||
font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
|
font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
|
@ -1746,7 +1757,7 @@ body {
|
||||||
}
|
}
|
||||||
|
|
||||||
input[type="radio"] {
|
input[type="radio"] {
|
||||||
margin: 2px 0px 0px;
|
margin: 2px 0 0;
|
||||||
line-height: normal;
|
line-height: normal;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1761,7 +1772,7 @@ input, textarea, select, .uneditable-input {
|
||||||
}
|
}
|
||||||
|
|
||||||
.navbar-brand {
|
.navbar-brand {
|
||||||
padding: 0px;
|
padding: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* navbar styling */
|
/* navbar styling */
|
||||||
|
@ -1901,7 +1912,7 @@ fieldset[disabled] .navbar-default .btn-link:focus {
|
||||||
.dropdown-menu {
|
.dropdown-menu {
|
||||||
background-color: #333;
|
background-color: #333;
|
||||||
border: 1px solid rgba(0, 0, 0, 0.15);
|
border: 1px solid rgba(0, 0, 0, 0.15);
|
||||||
box-shadow: 0px 6px 12px rgba(0, 0, 0, 0.176);
|
box-shadow: 0 6px 12px rgba(0, 0, 0, 0.176);
|
||||||
}
|
}
|
||||||
|
|
||||||
.form-control {
|
.form-control {
|
||||||
|
@ -2379,10 +2390,10 @@ pnotify.css
|
||||||
background-image: -o-linear-gradient(#333, #3d3d3d) !important;
|
background-image: -o-linear-gradient(#333, #3d3d3d) !important;
|
||||||
filter: progid:dximagetransform.microsoft.gradient(startColorstr=#333, endColorstr=#3d3d3d) !important;
|
filter: progid:dximagetransform.microsoft.gradient(startColorstr=#333, endColorstr=#3d3d3d) !important;
|
||||||
-ms-filter: progid:dximagetransform.microsoft.gradient(startColorstr=#333, endColorstr=#3d3d3d) !important;
|
-ms-filter: progid:dximagetransform.microsoft.gradient(startColorstr=#333, endColorstr=#3d3d3d) !important;
|
||||||
-moz-box-shadow: 0px 0px 2px #000;
|
-moz-box-shadow: 0 0 2px #000;
|
||||||
-webkit-box-shadow: 0px 0px 2px #000;
|
-webkit-box-shadow: 0 0 2px #000;
|
||||||
-o-box-shadow: 0px 0px 2px #000;
|
-o-box-shadow: 0 0 2px #000;
|
||||||
box-shadow: 0px 0px 2px #000;
|
box-shadow: 0 0 2px #000;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ui-pnotify-title {
|
.ui-pnotify-title {
|
||||||
|
@ -2420,7 +2431,7 @@ tablesorter.css
|
||||||
|
|
||||||
.tablesorter th {
|
.tablesorter th {
|
||||||
color: #fff;
|
color: #fff;
|
||||||
text-shadow: -1px -1px 0 rgba(0,0,0,0.3);
|
text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.3);
|
||||||
background-color: #15528F;
|
background-color: #15528F;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2491,7 +2502,7 @@ thead.tablesorter-stickyHeader {
|
||||||
.tablesorter tfoot tr {
|
.tablesorter tfoot tr {
|
||||||
color: #fff;
|
color: #fff;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
text-shadow: -1px -1px 0 rgba(0,0,0,0.3);
|
text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.3);
|
||||||
background-color: #333;
|
background-color: #333;
|
||||||
border-collapse: collapse;
|
border-collapse: collapse;
|
||||||
}
|
}
|
||||||
|
@ -2643,10 +2654,19 @@ span.token-input-delete-token {
|
||||||
background-color: rgb(40, 40, 40);
|
background-color: rgb(40, 40, 40);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*.episodeview-daybyday .time .time-min,*/
|
||||||
|
.episodeview-daybyday .time .time-hr-min,
|
||||||
|
.episodeview-daybyday .time .time-am-pm,
|
||||||
#addRootDirTable td label .filepath,
|
#addRootDirTable td label .filepath,
|
||||||
.grey-text {
|
.grey-text {
|
||||||
color:#999
|
color:#999
|
||||||
}
|
}
|
||||||
|
/*.episodeview-daybyday .time .time-hr-min{
|
||||||
|
display:none
|
||||||
|
}
|
||||||
|
.episodeview-daybyday .time .time-min{
|
||||||
|
font-size: 11px;
|
||||||
|
}*/
|
||||||
|
|
||||||
#newShowPortal #displayText .show-name,
|
#newShowPortal #displayText .show-name,
|
||||||
#newShowPortal #displayText .show-dest,
|
#newShowPortal #displayText .show-dest,
|
||||||
|
@ -2669,8 +2689,8 @@ jquery.confirm.css
|
||||||
top: 0;
|
top: 0;
|
||||||
left: 0;
|
left: 0;
|
||||||
background: url('../images/bg.gif');
|
background: url('../images/bg.gif');
|
||||||
background: -moz-linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5)) repeat-x rgba(0,0,0,0.5);
|
background: -moz-linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)) repeat-x rgba(0, 0, 0, 0.5);
|
||||||
background:-webkit-gradient(linear, 0% 0%, 0% 100%, from(rgba(0,0,0,0.5)), to(rgba(0,0,0,0.5))) repeat-x rgba(0,0,0,0.5);
|
background:-webkit-gradient(linear, 0% 0%, 0% 100%, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0.5))) repeat-x rgba(0, 0, 0, 0.5);
|
||||||
z-index: 100000;
|
z-index: 100000;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2682,7 +2702,7 @@ jquery.confirm.css
|
||||||
top: 50%;
|
top: 50%;
|
||||||
margin: -130px 0 0 -230px;
|
margin: -130px 0 0 -230px;
|
||||||
border: 1px solid #111;
|
border: 1px solid #111;
|
||||||
box-shadow: 0px 0px 12px 0px rgba(0, 0, 0, 0.175);
|
box-shadow: 0 0 12px 0 rgba(0, 0, 0, 0.175);
|
||||||
}
|
}
|
||||||
|
|
||||||
#confirmBox h1,
|
#confirmBox h1,
|
||||||
|
@ -2696,13 +2716,13 @@ jquery.confirm.css
|
||||||
color: #fff;
|
color: #fff;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
font-size: 22px;
|
font-size: 22px;
|
||||||
text-shadow: 0px 1px 1px rgba(0, 0, 0, 0.75);
|
text-shadow: 0 1px 1px rgba(0, 0, 0, 0.75);
|
||||||
}
|
}
|
||||||
|
|
||||||
#confirmBox p {
|
#confirmBox p {
|
||||||
padding-top: 20px;
|
padding-top: 20px;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
text-shadow: 0px 1px 1px rgba(0, 0, 0, 0.75);
|
text-shadow: 0 1px 1px rgba(0, 0, 0, 0.75);
|
||||||
}
|
}
|
||||||
|
|
||||||
#confirmButtons {
|
#confirmButtons {
|
||||||
|
@ -2717,7 +2737,7 @@ jquery.confirm.css
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
text-align:center;
|
text-align:center;
|
||||||
text-shadow: 0px 1px 1px rgba(0, 0, 0, 0.75);
|
text-shadow: 0 1px 1px rgba(0, 0, 0, 0.75);
|
||||||
background-clip: padding-box;
|
background-clip: padding-box;
|
||||||
border: 1px solid #111;
|
border: 1px solid #111;
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
|
@ -2725,12 +2745,12 @@ jquery.confirm.css
|
||||||
-webkit-box-sizing: border-box;
|
-webkit-box-sizing: border-box;
|
||||||
-moz-box-sizing: border-box;
|
-moz-box-sizing: border-box;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
background-image: -webkit-linear-gradient(top, rgba(255,255,255,0.08),rgba(255,255,255,0) 50%,rgba(0,0,0,0) 51%,rgba(0,0,0,0.25));
|
background-image: -webkit-linear-gradient(top, rgba(255, 255, 255, 0.08),rgba(255, 255, 255, 0) 50%,rgba(0, 0, 0, 0) 51%,rgba(0, 0, 0, 0.25));
|
||||||
background-image: -moz-linear-gradient(top, rgba(255,255,255,0.08),rgba(255,255,255,0) 50%,rgba(0,0,0,0) 51%,rgba(0,0,0,0.25));
|
background-image: -moz-linear-gradient(top, rgba(255, 255, 255, 0.08),rgba(255, 255, 255, 0) 50%,rgba(0, 0, 0, 0) 51%,rgba(0, 0, 0, 0.25));
|
||||||
background-image: -o-linear-gradient(top, rgba(255,255,255,0.08),rgba(255,255,255,0) 50%,rgba(0,0,0,0) 51%,rgba(0,0,0,0.25));
|
background-image: -o-linear-gradient(top, rgba(255, 255, 255, 0.08),rgba(255, 255, 255, 0) 50%,rgba(0, 0, 0, 0) 51%,rgba(0, 0, 0, 0.25));
|
||||||
background-image: linear-gradient(to bottom, rgba(255,255,255,0.08),rgba(255,255,255,0) 50%,rgba(0,0,0,0) 51%,rgba(0,0,0,0.25));
|
background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.08),rgba(255, 255, 255, 0) 50%,rgba(0, 0, 0, 0) 51%,rgba(0, 0, 0, 0.25));
|
||||||
-webkit-box-shadow: inset 0 1px rgba(255,255,255,0.1),inset 0 -1px 3px rgba(0,0,0,0.3),inset 0 0 0 1px rgba(255,255,255,0.08),0 1px 2px rgba(0,0,0,0.15);
|
-webkit-box-shadow: inset 0 1px rgba(255, 255, 255, 0.1),inset 0 -1px 3px rgba(0, 0, 0, 0.3),inset 0 0 0 1px rgba(255, 255, 255, 0.08),0 1px 2px rgba(0, 0, 0, 0.15);
|
||||||
box-shadow: inset 0 1px rgba(255,255,255,0.1),inset 0 -1px 3px rgba(0,0,0,0.3),inset 0 0 0 1px rgba(255,255,255,0.08),0 1px 2px rgba(0,0,0,0.15);
|
box-shadow: inset 0 1px rgba(255, 255, 255, 0.1),inset 0 -1px 3px rgba(0, 0, 0, 0.3),inset 0 0 0 1px rgba(255, 255, 255, 0.08),0 1px 2px rgba(0, 0, 0, 0.15);
|
||||||
}
|
}
|
||||||
|
|
||||||
#confirmBox .button:last-child {
|
#confirmBox .button:last-child {
|
||||||
|
|
|
@ -149,11 +149,7 @@ inc_top.tmpl
|
||||||
margin-bottom: -15px;
|
margin-bottom: -15px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#contentWrapper {
|
[class^="icon-"],
|
||||||
/* background: url("../images/bg.png") repeat 0 0 transparent; */
|
|
||||||
}
|
|
||||||
|
|
||||||
[class^="icon-"],
|
|
||||||
[class*=" icon-"] {
|
[class*=" icon-"] {
|
||||||
background-image: url("../images/glyphicons-halflings.png");
|
background-image: url("../images/glyphicons-halflings.png");
|
||||||
}
|
}
|
||||||
|
@ -289,18 +285,18 @@ inc_top.tmpl
|
||||||
}
|
}
|
||||||
|
|
||||||
.ui-tabs {
|
.ui-tabs {
|
||||||
padding: 0px;
|
padding: 0;
|
||||||
background: none;
|
background: none;
|
||||||
border-width: 0px;
|
border-width: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ui-tabs .ui-tabs-nav {
|
.ui-tabs .ui-tabs-nav {
|
||||||
padding-left: 0px;
|
padding-left: 0;
|
||||||
background: transparent;
|
background: transparent;
|
||||||
border-width: 0px 0px 0px 0px;
|
border-width: 0 0 0 0;
|
||||||
-moz-border-radius: 0px;
|
-moz-border-radius: 0;
|
||||||
-webkit-border-radius: 0px;
|
-webkit-border-radius: 0;
|
||||||
border-radius: 0px;
|
border-radius: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ui-tabs .ui-tabs-panel {
|
.ui-tabs .ui-tabs-panel {
|
||||||
|
@ -318,15 +314,6 @@ inc_top.tmpl
|
||||||
border-top-right-radius: 5px;
|
border-top-right-radius: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#content {
|
|
||||||
width: 95%;
|
|
||||||
min-width: 875px;
|
|
||||||
padding: 15px;
|
|
||||||
margin-left: auto;
|
|
||||||
margin-right: auto;
|
|
||||||
clear: both;
|
|
||||||
}
|
|
||||||
|
|
||||||
#SubMenu {
|
#SubMenu {
|
||||||
padding-right: 20px;
|
padding-right: 20px;
|
||||||
clear: both;
|
clear: both;
|
||||||
|
@ -340,7 +327,7 @@ inc_top.tmpl
|
||||||
margin-left: auto;
|
margin-left: auto;
|
||||||
margin-right: auto;
|
margin-right: auto;
|
||||||
margin-top: 50px;
|
margin-top: 50px;
|
||||||
margin-bottom: 0px;
|
margin-bottom: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
[class^="menu-icon-"], [class*=" menu-icon-"] {
|
[class^="menu-icon-"], [class*=" menu-icon-"] {
|
||||||
|
@ -366,83 +353,83 @@ inc_top.tmpl
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu-icon-addshow {
|
.menu-icon-addshow {
|
||||||
background-position: 0px 0px;
|
background-position: 0 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu-icon-anime {
|
.menu-icon-anime {
|
||||||
background-position: -21px 0px;
|
background-position: -21px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu-icon-backlog-view {
|
.menu-icon-backlog-view {
|
||||||
background-position: -42px 0px;
|
background-position: -42px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu-icon-backlog {
|
.menu-icon-backlog {
|
||||||
background-position: -63px 0px;
|
background-position: -63px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu-icon-bittorrent {
|
.menu-icon-bittorrent {
|
||||||
background-position: -84px 0px;
|
background-position: -84px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu-icon-config-index {
|
.menu-icon-config-index {
|
||||||
background-position: -105px 0px;
|
background-position: -105px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu-icon-config {
|
.menu-icon-config {
|
||||||
background-position: -126px 0px;
|
background-position: -126px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu-icon-failed-download {
|
.menu-icon-failed-download {
|
||||||
background-position: -147px 0px;
|
background-position: -147px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu-icon-home {
|
.menu-icon-home {
|
||||||
background-position: -168px 0px;
|
background-position: -168px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu-icon-manage {
|
.menu-icon-manage {
|
||||||
background-position: -189px 0px;
|
background-position: -189px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu-icon-manage-searches {
|
.menu-icon-manage-searches {
|
||||||
background-position: -210px 0px;
|
background-position: -210px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu-icon-poster {
|
.menu-icon-poster {
|
||||||
background-position: -231px 0px;
|
background-position: -231px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu-icon-postprocess {
|
.menu-icon-postprocess {
|
||||||
background-position: -252px 0px;
|
background-position: -252px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu-icon-restart {
|
.menu-icon-restart {
|
||||||
background-position: -273px 0px;
|
background-position: -273px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu-icon-shutdown {
|
.menu-icon-shutdown {
|
||||||
background-position: -294px 0px;
|
background-position: -294px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu-icon-update {
|
.menu-icon-update {
|
||||||
background-position: -315px 0px;
|
background-position: -315px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu-icon-viewlog-errors {
|
.menu-icon-viewlog-errors {
|
||||||
background-position: -336px 0px;
|
background-position: -336px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu-icon-viewlog {
|
.menu-icon-viewlog {
|
||||||
background-position: -357px 0px;
|
background-position: -357px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu-icon-xbmc {
|
.menu-icon-xbmc {
|
||||||
background-position: -378px 0px;
|
background-position: -378px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu-icon-help {
|
.menu-icon-help {
|
||||||
background-position: -399px 0px;
|
background-position: -399px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
[class^="submenu-icon-"], [class*=" submenu-icon-"] {
|
[class^="submenu-icon-"], [class*=" submenu-icon-"] {
|
||||||
|
@ -452,27 +439,27 @@ inc_top.tmpl
|
||||||
}
|
}
|
||||||
|
|
||||||
.submenu-icon-anime {
|
.submenu-icon-anime {
|
||||||
background-position: -21px 0px;
|
background-position: -21px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.submenu-icon-bittorrent {
|
.submenu-icon-bittorrent {
|
||||||
background-position: -84px 0px;
|
background-position: -84px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.submenu-icon-failed-download {
|
.submenu-icon-failed-download {
|
||||||
background-position: -147px 0px;
|
background-position: -147px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.submenu-icon-restart {
|
.submenu-icon-restart {
|
||||||
background-position: -273px 0px;
|
background-position: -273px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.submenu-icon-shutdown {
|
.submenu-icon-shutdown {
|
||||||
background-position: -294px 0px;
|
background-position: -294px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.submenu-icon-xbmc {
|
.submenu-icon-xbmc {
|
||||||
background-position: -378px 0px;
|
background-position: -378px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* =======================================================================
|
/* =======================================================================
|
||||||
|
@ -609,42 +596,42 @@ home.tmpl
|
||||||
}
|
}
|
||||||
|
|
||||||
.show .ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br {
|
.show .ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br {
|
||||||
border-bottom-right-radius: 0px;
|
border-bottom-right-radius: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.show .ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl {
|
.show .ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl {
|
||||||
border-bottom-left-radius: 0px;
|
border-bottom-left-radius: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.show .ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr {
|
.show .ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr {
|
||||||
border-top-right-radius: 0px;
|
border-top-right-radius: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.show .ui-corner-all, .ui-corner-top, .ui-corner-left, .ui-corner-tl {
|
.show .ui-corner-all, .ui-corner-top, .ui-corner-left, .ui-corner-tl {
|
||||||
border-top-left-radius: 0px;
|
border-top-left-radius: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.show .ui-widget-content {
|
.show .ui-widget-content {
|
||||||
border-top: 1px solid #111;
|
border-top: 1px solid #111;
|
||||||
border-bottom: 1px solid #111;
|
border-bottom: 1px solid #111;
|
||||||
border-left: 0px;
|
border-left: 0;
|
||||||
border-right: 0px;
|
border-right: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.show .progress-80 {
|
.show .progress-80 {
|
||||||
border-radius: 0px;
|
border-radius: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.show .progress-60 {
|
.show .progress-60 {
|
||||||
border-radius: 0px;
|
border-radius: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.show .progress-40 {
|
.show .progress-40 {
|
||||||
border-radius: 0px;
|
border-radius: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.show .progress-20 {
|
.show .progress-20 {
|
||||||
border-radius: 0px;
|
border-radius: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.show-title {
|
.show-title {
|
||||||
|
@ -652,7 +639,7 @@ home.tmpl
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
font-size: 11px;
|
font-size: 11px;
|
||||||
margin: 4px 4px 0px 4px;
|
margin: 4px 4px 0 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.show-title:after {
|
.show-title:after {
|
||||||
|
@ -675,7 +662,7 @@ home.tmpl
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
font-size: 11px;
|
font-size: 11px;
|
||||||
margin: 0px 4px 4px 4px;
|
margin: 0 4px 4px 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.show-date:after {
|
.show-date:after {
|
||||||
|
@ -815,7 +802,7 @@ home_trendingShows.tmpl
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
/* text-shadow: 1px 1px 0px #000;*/
|
/* text-shadow: 1px 1px 0 #000;*/
|
||||||
padding-left: 4px;
|
padding-left: 4px;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
|
@ -917,7 +904,7 @@ ul.tags li {
|
||||||
border: 1px solid #111;
|
border: 1px solid #111;
|
||||||
color: #FFF;
|
color: #FFF;
|
||||||
font: 14px/18px "Open Sans", "Helvetica Neue", Helvetica, Arial, Geneva, sans-serif;
|
font: 14px/18px "Open Sans", "Helvetica Neue", Helvetica, Arial, Geneva, sans-serif;
|
||||||
text-shadow: 0px 1px rgba(0, 0, 0, 0.8);
|
text-shadow: 0 1px rgba(0, 0, 0, 0.8);
|
||||||
float: left;
|
float: left;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1074,7 +1061,7 @@ tr.seasonheader {
|
||||||
padding-top: 10px;
|
padding-top: 10px;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
border: none;
|
border: none;
|
||||||
color: #fff;
|
color: #000;
|
||||||
}
|
}
|
||||||
|
|
||||||
th.col-checkbox,
|
th.col-checkbox,
|
||||||
|
@ -1157,7 +1144,7 @@ td.col-search {
|
||||||
}
|
}
|
||||||
|
|
||||||
/* =======================================================================
|
/* =======================================================================
|
||||||
comingEpisodes.tmpl
|
episodeView.tmpl
|
||||||
========================================================================== */
|
========================================================================== */
|
||||||
|
|
||||||
.sort_data {
|
.sort_data {
|
||||||
|
@ -1219,7 +1206,7 @@ h2.day, h2.network {
|
||||||
letter-spacing: 1px;
|
letter-spacing: 1px;
|
||||||
color: #FFF;
|
color: #FFF;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
text-shadow: -1px -1px 0px rgba(0, 0, 0, 0.3);
|
text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.3);
|
||||||
background-color: #333;
|
background-color: #333;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1228,7 +1215,7 @@ h2.day, h2.network {
|
||||||
clear: both;
|
clear: both;
|
||||||
border: 1px solid #ccc;
|
border: 1px solid #ccc;
|
||||||
margin: auto;
|
margin: auto;
|
||||||
padding: 0px;
|
padding: 0;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
width: 750px;
|
width: 750px;
|
||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
|
@ -1307,17 +1294,39 @@ h2.day, h2.network {
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
}
|
}
|
||||||
|
|
||||||
table.cal-odd {
|
.day-of-week .day-number {
|
||||||
background-color: #ddd;
|
background-color: #333;
|
||||||
|
color: #fff;
|
||||||
}
|
}
|
||||||
table.cal-even {
|
|
||||||
background-color: #d2d2d2;
|
.today .day-number .number, .today .day-number .month, .today .day-number .day {
|
||||||
|
color: #c7db40;
|
||||||
}
|
}
|
||||||
.calendarShow .text .airtime {
|
|
||||||
color:#000
|
.odd .daybyday-show {
|
||||||
|
background-color: #F5F1E4;
|
||||||
}
|
}
|
||||||
.calendarShow .text .episode-title {
|
|
||||||
color:#888
|
.even .daybyday-show {
|
||||||
|
background-color: #DFDACF;
|
||||||
|
}
|
||||||
|
|
||||||
|
.day-of-week .poster img {
|
||||||
|
border-color: #CCC;
|
||||||
|
}
|
||||||
|
|
||||||
|
.day-of-week .text .airtime,
|
||||||
|
.day-of-week .text .episode,
|
||||||
|
.day-of-week .text .episode .name {
|
||||||
|
color: #000;
|
||||||
|
}
|
||||||
|
.day-of-week .text .episode .season,
|
||||||
|
.day-of-week .text .episode .number {
|
||||||
|
color: rgb(9, 133, 225);
|
||||||
|
/*color: #3d3d3d;*/
|
||||||
|
}
|
||||||
|
.day-of-week .text .episode {
|
||||||
|
color: #888;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* =======================================================================
|
/* =======================================================================
|
||||||
|
@ -1355,7 +1364,7 @@ config*.tmpl
|
||||||
}
|
}
|
||||||
|
|
||||||
#config div.field-pair {
|
#config div.field-pair {
|
||||||
padding: 12px 0px;
|
padding: 12px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#config .nocheck, #config div #customQuality, .metadataDiv {
|
#config .nocheck, #config div #customQuality, .metadataDiv {
|
||||||
|
@ -1533,7 +1542,7 @@ td.tableright {
|
||||||
text-align: left;
|
text-align: left;
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
width: 225px;
|
width: 225px;
|
||||||
padding: 6px 0px;
|
padding: 6px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.optionWrapper div.selectChoices {
|
.optionWrapper div.selectChoices {
|
||||||
|
@ -1567,7 +1576,6 @@ Global
|
||||||
========================================================================== */
|
========================================================================== */
|
||||||
|
|
||||||
span.path {
|
span.path {
|
||||||
padding: 3px 6px;
|
|
||||||
color: #8b0000;
|
color: #8b0000;
|
||||||
background-color: #f5f1e4;
|
background-color: #f5f1e4;
|
||||||
}
|
}
|
||||||
|
@ -1583,13 +1591,13 @@ span.path {
|
||||||
|
|
||||||
span.quality {
|
span.quality {
|
||||||
font: 12px/13px "Open Sans", verdana, sans-serif;
|
font: 12px/13px "Open Sans", verdana, sans-serif;
|
||||||
background-image:-webkit-linear-gradient(top, rgba(255,255,255,0.08),rgba(255,255,255,0) 50%,rgba(0,0,0,0) 50%,rgba(0,0,0,0.25));
|
background-image:-webkit-linear-gradient(top, rgba(255, 255, 255, 0.08),rgba(255, 255, 255, 0) 50%,rgba(0, 0, 0, 0) 50%,rgba(0, 0, 0, 0.25));
|
||||||
background-image:-moz-linear-gradient(top, rgba(255,255,255,0.08),rgba(255,255,255,0) 50%,rgba(0,0,0,0) 50%,rgba(0,0,0,0.25));
|
background-image:-moz-linear-gradient(top, rgba(255, 255, 255, 0.08),rgba(255, 255, 255, 0) 50%,rgba(0, 0, 0, 0) 50%,rgba(0, 0, 0, 0.25));
|
||||||
background-image:-o-linear-gradient(top, rgba(255,255,255,0.08),rgba(255,255,255,0) 50%,rgba(0,0,0,0) 50%,rgba(0,0,0,0.25));
|
background-image:-o-linear-gradient(top, rgba(255, 255, 255, 0.08),rgba(255, 255, 255, 0) 50%,rgba(0, 0, 0, 0) 50%,rgba(0, 0, 0, 0.25));
|
||||||
background-image:linear-gradient(to bottom, rgba(255,255,255,0.08),rgba(255,255,255,0) 50%,rgba(0,0,0,0) 50%,rgba(0,0,0,0.25));
|
background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.08),rgba(255, 255, 255, 0) 50%,rgba(0, 0, 0, 0) 50%,rgba(0, 0, 0, 0.25));
|
||||||
-webkit-box-shadow:inset 0 1px rgba(255,255,255,0.1),inset 0 -1px 3px rgba(0,0,0,0.3),inset 0 0 0 1px rgba(255,255,255,0.08),0 1px 2px rgba(0,0,0,0.15);
|
-webkit-box-shadow:inset 0 1px rgba(255, 255, 255, 0.1),inset 0 -1px 3px rgba(0, 0, 0, 0.3),inset 0 0 0 1px rgba(255, 255, 255, 0.08),0 1px 2px rgba(0, 0, 0, 0.15);
|
||||||
box-shadow:inset 0 1px rgba(255,255,255,0.1),inset 0 -1px 3px rgba(0,0,0,0.3),inset 0 0 0 1px rgba(255,255,255,0.08),0 1px 2px rgba(0,0,0,0.15);
|
box-shadow:inset 0 1px rgba(255, 255, 255, 0.1),inset 0 -1px 3px rgba(0, 0, 0, 0.3),inset 0 0 0 1px rgba(255, 255, 255, 0.08),0 1px 2px rgba(0, 0, 0, 0.15);
|
||||||
text-shadow: 0px 1px rgba(0, 0, 0, 0.8);
|
text-shadow: 0 1px rgba(0, 0, 0, 0.8);
|
||||||
color: #FFFFFF;
|
color: #FFFFFF;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
padding: 2px 4px;
|
padding: 2px 4px;
|
||||||
|
@ -1680,7 +1688,7 @@ option.flag {
|
||||||
|
|
||||||
div.blackwhitelist{
|
div.blackwhitelist{
|
||||||
float:left;
|
float:left;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.blackwhitelist input {
|
div.blackwhitelist input {
|
||||||
|
@ -1709,7 +1717,7 @@ div.blackwhitelist span {
|
||||||
}
|
}
|
||||||
|
|
||||||
div.blackwhitelist.anidb, div.blackwhitelist.manual {
|
div.blackwhitelist.anidb, div.blackwhitelist.manual {
|
||||||
margin: 7px 0px;
|
margin: 7px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1717,15 +1725,15 @@ div.blackwhitelist.anidb, div.blackwhitelist.manual {
|
||||||
bootstrap Overrides
|
bootstrap Overrides
|
||||||
========================================================================== */
|
========================================================================== */
|
||||||
|
|
||||||
body {
|
body {
|
||||||
padding-top: 60px;
|
padding-top: 60px;
|
||||||
overflow-y: scroll;
|
overflow-y: scroll;
|
||||||
font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
|
font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||||
color: #000;
|
color: #000;
|
||||||
}
|
}
|
||||||
|
|
||||||
input[type="radio"] {
|
input[type="radio"] {
|
||||||
margin: 2px 0px 0px;
|
margin: 2px 0 0;
|
||||||
line-height: normal;
|
line-height: normal;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1740,7 +1748,7 @@ input, textarea, select, .uneditable-input {
|
||||||
}
|
}
|
||||||
|
|
||||||
.navbar-brand {
|
.navbar-brand {
|
||||||
padding: 0px;
|
padding: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* navbar styling */
|
/* navbar styling */
|
||||||
|
@ -1879,7 +1887,7 @@ fieldset[disabled] .navbar-default .btn-link:focus {
|
||||||
.dropdown-menu {
|
.dropdown-menu {
|
||||||
background-color: #F5F1E4;
|
background-color: #F5F1E4;
|
||||||
border: 1px solid rgba(0, 0, 0, 0.15);
|
border: 1px solid rgba(0, 0, 0, 0.15);
|
||||||
box-shadow: 0px 6px 12px rgba(0, 0, 0, 0.176);
|
box-shadow: 0 6px 12px rgba(0, 0, 0, 0.176);
|
||||||
}
|
}
|
||||||
|
|
||||||
.form-control {
|
.form-control {
|
||||||
|
@ -2373,7 +2381,7 @@ tablesorter.css
|
||||||
|
|
||||||
.tablesorter th {
|
.tablesorter th {
|
||||||
color: #fff;
|
color: #fff;
|
||||||
text-shadow: -1px -1px 0 rgba(0,0,0,0.3);
|
text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.3);
|
||||||
background-color: #333;
|
background-color: #333;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2444,7 +2452,7 @@ thead.tablesorter-stickyHeader {
|
||||||
.tablesorter tfoot tr {
|
.tablesorter tfoot tr {
|
||||||
color: #fff;
|
color: #fff;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
text-shadow: -1px -1px 0 rgba(0,0,0,0.3);
|
text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.3);
|
||||||
background-color: #333;
|
background-color: #333;
|
||||||
border-collapse: collapse;
|
border-collapse: collapse;
|
||||||
}
|
}
|
||||||
|
@ -2591,6 +2599,8 @@ span.token-input-delete-token {
|
||||||
background-color: rgb(245, 245, 245);
|
background-color: rgb(245, 245, 245);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.episodeview-daybyday .time .time-min,
|
||||||
|
.episodeview-daybyday .time .time-am-pm,
|
||||||
#addRootDirTable td label .filepath,
|
#addRootDirTable td label .filepath,
|
||||||
.grey-text {
|
.grey-text {
|
||||||
color:#666
|
color:#666
|
||||||
|
@ -2617,8 +2627,8 @@ jquery.confirm.css
|
||||||
top: 0;
|
top: 0;
|
||||||
left: 0;
|
left: 0;
|
||||||
background: url('../images/bg.gif');
|
background: url('../images/bg.gif');
|
||||||
background: -moz-linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5)) repeat-x rgba(0,0,0,0.5);
|
background: -moz-linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)) repeat-x rgba(0, 0, 0, 0.5);
|
||||||
background:-webkit-gradient(linear, 0% 0%, 0% 100%, from(rgba(0,0,0,0.5)), to(rgba(0,0,0,0.5))) repeat-x rgba(0,0,0,0.5);
|
background:-webkit-gradient(linear, 0% 0%, 0% 100%, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0.5))) repeat-x rgba(0, 0, 0, 0.5);
|
||||||
z-index: 100000;
|
z-index: 100000;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2630,7 +2640,7 @@ jquery.confirm.css
|
||||||
top: 50%;
|
top: 50%;
|
||||||
margin: -130px 0 0 -230px;
|
margin: -130px 0 0 -230px;
|
||||||
border: 1px solid #111;
|
border: 1px solid #111;
|
||||||
box-shadow: 0px 0px 12px 0px rgba(0, 0, 0, 0.175);
|
box-shadow: 0 0 12px 0 rgba(0, 0, 0, 0.175);
|
||||||
}
|
}
|
||||||
|
|
||||||
#confirmBox h1,
|
#confirmBox h1,
|
||||||
|
@ -2644,13 +2654,13 @@ jquery.confirm.css
|
||||||
color: #fff;
|
color: #fff;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
font-size: 22px;
|
font-size: 22px;
|
||||||
text-shadow: 0px 1px 1px rgba(0, 0, 0, 0.75);
|
text-shadow: 0 1px 1px rgba(0, 0, 0, 0.75);
|
||||||
}
|
}
|
||||||
|
|
||||||
#confirmBox p {
|
#confirmBox p {
|
||||||
padding-top: 20px;
|
padding-top: 20px;
|
||||||
color: #000;
|
color: #000;
|
||||||
text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.75);
|
text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
|
||||||
}
|
}
|
||||||
|
|
||||||
#confirmButtons {
|
#confirmButtons {
|
||||||
|
@ -2665,7 +2675,7 @@ jquery.confirm.css
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
text-align:center;
|
text-align:center;
|
||||||
text-shadow: 0px 1px 1px rgba(0, 0, 0, 0.75);
|
text-shadow: 0 1px 1px rgba(0, 0, 0, 0.75);
|
||||||
background-clip: padding-box;
|
background-clip: padding-box;
|
||||||
border: 1px solid #111;
|
border: 1px solid #111;
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
|
@ -2673,12 +2683,12 @@ jquery.confirm.css
|
||||||
-webkit-box-sizing: border-box;
|
-webkit-box-sizing: border-box;
|
||||||
-moz-box-sizing: border-box;
|
-moz-box-sizing: border-box;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
background-image: -webkit-linear-gradient(top, rgba(255,255,255,0.08),rgba(255,255,255,0) 50%,rgba(0,0,0,0) 51%,rgba(0,0,0,0.25));
|
background-image: -webkit-linear-gradient(top, rgba(255, 255, 255, 0.08),rgba(255, 255, 255, 0) 50%,rgba(0, 0, 0, 0) 51%,rgba(0, 0, 0, 0.25));
|
||||||
background-image: -moz-linear-gradient(top, rgba(255,255,255,0.08),rgba(255,255,255,0) 50%,rgba(0,0,0,0) 51%,rgba(0,0,0,0.25));
|
background-image: -moz-linear-gradient(top, rgba(255, 255, 255, 0.08),rgba(255, 255, 255, 0) 50%,rgba(0, 0, 0, 0) 51%,rgba(0, 0, 0, 0.25));
|
||||||
background-image: -o-linear-gradient(top, rgba(255,255,255,0.08),rgba(255,255,255,0) 50%,rgba(0,0,0,0) 51%,rgba(0,0,0,0.25));
|
background-image: -o-linear-gradient(top, rgba(255, 255, 255, 0.08),rgba(255, 255, 255, 0) 50%,rgba(0, 0, 0, 0) 51%,rgba(0, 0, 0, 0.25));
|
||||||
background-image: linear-gradient(to bottom, rgba(255,255,255,0.08),rgba(255,255,255,0) 50%,rgba(0,0,0,0) 51%,rgba(0,0,0,0.25));
|
background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.08),rgba(255, 255, 255, 0) 50%,rgba(0, 0, 0, 0) 51%,rgba(0, 0, 0, 0.25));
|
||||||
-webkit-box-shadow: inset 0 1px rgba(255,255,255,0.1),inset 0 -1px 3px rgba(0,0,0,0.3),inset 0 0 0 1px rgba(255,255,255,0.08),0 1px 2px rgba(0,0,0,0.15);
|
-webkit-box-shadow: inset 0 1px rgba(255, 255, 255, 0.1),inset 0 -1px 3px rgba(0, 0, 0, 0.3),inset 0 0 0 1px rgba(255, 255, 255, 0.08),0 1px 2px rgba(0, 0, 0, 0.15);
|
||||||
box-shadow: inset 0 1px rgba(255,255,255,0.1),inset 0 -1px 3px rgba(0,0,0,0.3),inset 0 0 0 1px rgba(255,255,255,0.08),0 1px 2px rgba(0,0,0,0.15);
|
box-shadow: inset 0 1px rgba(255, 255, 255, 0.1),inset 0 -1px 3px rgba(0, 0, 0, 0.3),inset 0 0 0 1px rgba(255, 255, 255, 0.08),0 1px 2px rgba(0, 0, 0, 0.15);
|
||||||
}
|
}
|
||||||
|
|
||||||
#confirmBox .button:last-child {
|
#confirmBox .button:last-child {
|
||||||
|
|
|
@ -149,8 +149,11 @@ inc_top.tmpl
|
||||||
margin-bottom: -15px;
|
margin-bottom: -15px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#contentWrapper {
|
#contentWrapper .episodeview-banner,
|
||||||
/* background: url("../images/bg.png") repeat 0 0 transparent; */
|
#contentWrapper .episodeview-daybyday,
|
||||||
|
#contentWrapper .episodeview-list,
|
||||||
|
#contentWrapper .episodeview-poster{
|
||||||
|
padding-top:45px;
|
||||||
}
|
}
|
||||||
|
|
||||||
[class^="icon-"],
|
[class^="icon-"],
|
||||||
|
@ -285,18 +288,18 @@ inc_top.tmpl
|
||||||
}
|
}
|
||||||
|
|
||||||
.ui-tabs {
|
.ui-tabs {
|
||||||
padding: 0px;
|
padding: 0;
|
||||||
background: none;
|
background: none;
|
||||||
border-width: 0px;
|
border-width: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ui-tabs .ui-tabs-nav {
|
.ui-tabs .ui-tabs-nav {
|
||||||
padding-left: 0px;
|
padding-left: 0;
|
||||||
background: transparent;
|
background: transparent;
|
||||||
border-width: 0px 0px 0px 0px;
|
border-width: 0 0 0 0;
|
||||||
-moz-border-radius: 0px;
|
-moz-border-radius: 0;
|
||||||
-webkit-border-radius: 0px;
|
-webkit-border-radius: 0;
|
||||||
border-radius: 0px;
|
border-radius: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ui-tabs .ui-tabs-panel {
|
.ui-tabs .ui-tabs-panel {
|
||||||
|
@ -336,7 +339,7 @@ inc_top.tmpl
|
||||||
margin-left: auto;
|
margin-left: auto;
|
||||||
margin-right: auto;
|
margin-right: auto;
|
||||||
margin-top: 50px;
|
margin-top: 50px;
|
||||||
margin-bottom: 0px;
|
margin-bottom: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
[class^="menu-icon-"], [class*=" menu-icon-"] {
|
[class^="menu-icon-"], [class*=" menu-icon-"] {
|
||||||
|
@ -362,83 +365,83 @@ inc_top.tmpl
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu-icon-addshow {
|
.menu-icon-addshow {
|
||||||
background-position: 0px 0px;
|
background-position: 0 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu-icon-anime {
|
.menu-icon-anime {
|
||||||
background-position: -21px 0px;
|
background-position: -21px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu-icon-backlog-view {
|
.menu-icon-backlog-view {
|
||||||
background-position: -42px 0px;
|
background-position: -42px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu-icon-backlog {
|
.menu-icon-backlog {
|
||||||
background-position: -63px 0px;
|
background-position: -63px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu-icon-bittorrent {
|
.menu-icon-bittorrent {
|
||||||
background-position: -84px 0px;
|
background-position: -84px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu-icon-config-index {
|
.menu-icon-config-index {
|
||||||
background-position: -105px 0px;
|
background-position: -105px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu-icon-config {
|
.menu-icon-config {
|
||||||
background-position: -126px 0px;
|
background-position: -126px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu-icon-failed-download {
|
.menu-icon-failed-download {
|
||||||
background-position: -147px 0px;
|
background-position: -147px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu-icon-home {
|
.menu-icon-home {
|
||||||
background-position: -168px 0px;
|
background-position: -168px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu-icon-manage {
|
.menu-icon-manage {
|
||||||
background-position: -189px 0px;
|
background-position: -189px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu-icon-manage-searches {
|
.menu-icon-manage-searches {
|
||||||
background-position: -210px 0px;
|
background-position: -210px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu-icon-poster {
|
.menu-icon-poster {
|
||||||
background-position: -231px 0px;
|
background-position: -231px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu-icon-postprocess {
|
.menu-icon-postprocess {
|
||||||
background-position: -252px 0px;
|
background-position: -252px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu-icon-restart {
|
.menu-icon-restart {
|
||||||
background-position: -273px 0px;
|
background-position: -273px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu-icon-shutdown {
|
.menu-icon-shutdown {
|
||||||
background-position: -294px 0px;
|
background-position: -294px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu-icon-update {
|
.menu-icon-update {
|
||||||
background-position: -315px 0px;
|
background-position: -315px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu-icon-viewlog-errors {
|
.menu-icon-viewlog-errors {
|
||||||
background-position: -336px 0px;
|
background-position: -336px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu-icon-viewlog {
|
.menu-icon-viewlog {
|
||||||
background-position: -357px 0px;
|
background-position: -357px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu-icon-xbmc {
|
.menu-icon-xbmc {
|
||||||
background-position: -378px 0px;
|
background-position: -378px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu-icon-help {
|
.menu-icon-help {
|
||||||
background-position: -399px 0px;
|
background-position: -399px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
[class^="submenu-icon-"], [class*=" submenu-icon-"] {
|
[class^="submenu-icon-"], [class*=" submenu-icon-"] {
|
||||||
|
@ -448,27 +451,27 @@ inc_top.tmpl
|
||||||
}
|
}
|
||||||
|
|
||||||
.submenu-icon-anime {
|
.submenu-icon-anime {
|
||||||
background-position: -21px 0px;
|
background-position: -21px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.submenu-icon-bittorrent {
|
.submenu-icon-bittorrent {
|
||||||
background-position: -84px 0px;
|
background-position: -84px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.submenu-icon-failed-download {
|
.submenu-icon-failed-download {
|
||||||
background-position: -147px 0px;
|
background-position: -147px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.submenu-icon-restart {
|
.submenu-icon-restart {
|
||||||
background-position: -273px 0px;
|
background-position: -273px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.submenu-icon-shutdown {
|
.submenu-icon-shutdown {
|
||||||
background-position: -294px 0px;
|
background-position: -294px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.submenu-icon-xbmc {
|
.submenu-icon-xbmc {
|
||||||
background-position: -378px 0px;
|
background-position: -378px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* =======================================================================
|
/* =======================================================================
|
||||||
|
@ -626,26 +629,26 @@ home.tmpl
|
||||||
}
|
}
|
||||||
|
|
||||||
.show .ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br {
|
.show .ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br {
|
||||||
border-bottom-right-radius: 0px;
|
border-bottom-right-radius: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.show .ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl {
|
.show .ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl {
|
||||||
border-bottom-left-radius: 0px;
|
border-bottom-left-radius: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.show .ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr {
|
.show .ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr {
|
||||||
border-top-right-radius: 0px;
|
border-top-right-radius: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.show .ui-corner-all, .ui-corner-top, .ui-corner-left, .ui-corner-tl {
|
.show .ui-corner-all, .ui-corner-top, .ui-corner-left, .ui-corner-tl {
|
||||||
border-top-left-radius: 0px;
|
border-top-left-radius: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.show .ui-widget-content {
|
.show .ui-widget-content {
|
||||||
border-top: 1px solid #111;
|
border-top: 1px solid #111;
|
||||||
border-bottom: 1px solid #111;
|
border-bottom: 1px solid #111;
|
||||||
border-left: 0px;
|
border-left: 0;
|
||||||
border-right: 0px;
|
border-right: 0;
|
||||||
}
|
}
|
||||||
.ui-progressbar .ui-progressbar-value {
|
.ui-progressbar .ui-progressbar-value {
|
||||||
height:20px
|
height:20px
|
||||||
|
@ -661,19 +664,19 @@ home.tmpl
|
||||||
}
|
}
|
||||||
|
|
||||||
.show .progress-80 {
|
.show .progress-80 {
|
||||||
border-radius: 0px;
|
border-radius: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.show .progress-60 {
|
.show .progress-60 {
|
||||||
border-radius: 0px;
|
border-radius: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.show .progress-40 {
|
.show .progress-40 {
|
||||||
border-radius: 0px;
|
border-radius: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.show .progress-20 {
|
.show .progress-20 {
|
||||||
border-radius: 0px;
|
border-radius: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.show-title {
|
.show-title {
|
||||||
|
@ -681,7 +684,7 @@ home.tmpl
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
font-size: 11px;
|
font-size: 11px;
|
||||||
margin: 4px 4px 0px 4px;
|
margin: 4px 4px 0 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.show-title:after {
|
.show-title:after {
|
||||||
|
@ -704,7 +707,7 @@ home.tmpl
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
font-size: 11px;
|
font-size: 11px;
|
||||||
margin: 0px 4px 4px 4px;
|
margin: 0 4px 4px 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.show-date:after {
|
.show-date:after {
|
||||||
|
@ -791,34 +794,27 @@ home_addShows.tmpl
|
||||||
========================================================================== */
|
========================================================================== */
|
||||||
|
|
||||||
#addShowPortal {
|
#addShowPortal {
|
||||||
width: 750px;
|
width: 748px;
|
||||||
padding: 10px 0;
|
padding: 10px 0;
|
||||||
margin-right: auto;
|
margin-right: auto;
|
||||||
margin-left: auto;
|
margin-left: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
#addShowPortal a {
|
#addShowPortal a {
|
||||||
/* padding: 10px;*/
|
padding: 0 20px;
|
||||||
padding: 0px 20px;
|
|
||||||
width: 360px;
|
width: 360px;
|
||||||
|
|
||||||
float: left;
|
float: left;
|
||||||
margin: 0 15px 15px 0;
|
margin: 0 7px 14px;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.button {
|
div.button {
|
||||||
display: table-cell;
|
display: table-cell;
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
/* padding-left: 10px;*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
div.buttontext {
|
div.buttontext {
|
||||||
display: table-cell;
|
display: table-cell;
|
||||||
/*
|
padding: 10px 0 10px 15px;
|
||||||
padding-left: 20px;
|
|
||||||
padding: 10px 15px;
|
|
||||||
*/
|
|
||||||
padding: 10px 0px 10px 15px;
|
|
||||||
text-align: left;
|
text-align: left;
|
||||||
white-space: normal;
|
white-space: normal;
|
||||||
}
|
}
|
||||||
|
@ -826,7 +822,7 @@ div.buttontext p {
|
||||||
margin: 0
|
margin: 0
|
||||||
}
|
}
|
||||||
div.buttontext h3 {
|
div.buttontext h3 {
|
||||||
margin-top: 0px;
|
margin-top: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.buttontext p {
|
div.buttontext p {
|
||||||
|
@ -970,7 +966,6 @@ home_trendingShows.tmpl
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
/* text-shadow: 1px 1px 0px #000;*/
|
|
||||||
padding-left: 4px;
|
padding-left: 4px;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
|
@ -1104,7 +1099,7 @@ ul.tags li {
|
||||||
border: 1px solid #111;
|
border: 1px solid #111;
|
||||||
color: #FFF;
|
color: #FFF;
|
||||||
font: 14px/18px "Open Sans", "Helvetica Neue", Helvetica, Arial, Geneva, sans-serif;
|
font: 14px/18px "Open Sans", "Helvetica Neue", Helvetica, Arial, Geneva, sans-serif;
|
||||||
text-shadow: 0px 1px rgba(0, 0, 0, 0.8);
|
text-shadow: 0 1px rgba(0, 0, 0, 0.8);
|
||||||
float: left;
|
float: left;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1347,7 +1342,7 @@ td.col-search {
|
||||||
}
|
}
|
||||||
|
|
||||||
/* =======================================================================
|
/* =======================================================================
|
||||||
comingEpisodes.tmpl
|
episodeView.tmpl
|
||||||
========================================================================== */
|
========================================================================== */
|
||||||
|
|
||||||
.sort_data {
|
.sort_data {
|
||||||
|
@ -1409,7 +1404,7 @@ h2.day, h2.network {
|
||||||
letter-spacing: 1px;
|
letter-spacing: 1px;
|
||||||
color: #FFF;
|
color: #FFF;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
text-shadow: -1px -1px 0px rgba(0, 0, 0, 0.3);
|
text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.3);
|
||||||
background-color: #333;
|
background-color: #333;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1418,7 +1413,7 @@ h2.day, h2.network {
|
||||||
clear: both;
|
clear: both;
|
||||||
border: 1px solid #ccc;
|
border: 1px solid #ccc;
|
||||||
margin: auto;
|
margin: auto;
|
||||||
padding: 0px;
|
padding: 0;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
width: 750px;
|
width: 750px;
|
||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
|
@ -1497,46 +1492,87 @@ h2.day, h2.network {
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
}
|
}
|
||||||
|
|
||||||
.calendarWrapper {
|
.daybydayWrapper {
|
||||||
width:1000px;
|
max-width: 1400px;
|
||||||
margin:0 auto;
|
margin: 0 auto;
|
||||||
padding:0 3px
|
padding: 0 /*3px*/
|
||||||
}
|
}
|
||||||
|
|
||||||
.calendarTable {
|
.day-of-week {
|
||||||
float:left;
|
float: left;
|
||||||
width:142px !important;
|
width: 14.28%;
|
||||||
white-space:nowrap;
|
padding: 0 2px;
|
||||||
table-layout:fixed !important;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.calendarShow {
|
.day-of-week .day-number {
|
||||||
padding:0 !important
|
position: relative;
|
||||||
|
height: 40px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.calendarShow .poster {
|
.day-of-week .day-number .number {
|
||||||
padding-bottom:2px
|
position: absolute;
|
||||||
}
|
right: 5px;
|
||||||
.calendarShow .poster img {
|
font-weight: bold;
|
||||||
width:142px;
|
font-size: 32px;
|
||||||
height:auto
|
line-height: 38px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.calendarShow .text {
|
.day-of-week .day-number .day {
|
||||||
padding:0 5px 10px 5px
|
position: absolute;
|
||||||
|
left: 5px;
|
||||||
|
top: 3px;
|
||||||
|
text-transform: uppercase;
|
||||||
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
.calendarShow .text .airtime,
|
.day-of-week .day-number .month {
|
||||||
.calendarShow .text .episode-title {
|
position: absolute;
|
||||||
overflow:hidden;
|
left: 5px;
|
||||||
text-overflow:ellipsis;
|
bottom: 3px;
|
||||||
display:block;
|
text-transform: uppercase;
|
||||||
font-size:11px
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.calendarShow .show-status {
|
.daybyday-show {
|
||||||
padding:5px 10px 10px;
|
margin-top: 4px;
|
||||||
text-align:center
|
padding: 4px;
|
||||||
|
width: 100%
|
||||||
|
}
|
||||||
|
|
||||||
|
.day-of-week .poster img {
|
||||||
|
border: 1px solid;
|
||||||
|
border-radius: 5px;
|
||||||
|
margin-bottom: 2px;
|
||||||
|
display: block;
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.day-of-week .text .airtime,
|
||||||
|
.day-of-week .text .episode {
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
display: block;
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.day-of-week .text .episode .season,
|
||||||
|
.day-of-week .text .episode .number {
|
||||||
|
font-weight: 900;
|
||||||
|
}
|
||||||
|
.day-of-week .text .episode .season {
|
||||||
|
margin-right: 2px;
|
||||||
|
}
|
||||||
|
.day-of-week .text .episode .number {
|
||||||
|
margin-left: 2px;
|
||||||
|
}
|
||||||
|
.day-of-week .episode-blank {
|
||||||
|
width: 250px;
|
||||||
|
height: 32px;
|
||||||
|
text-align: center;
|
||||||
|
font-style: italic;
|
||||||
|
display: table-cell;
|
||||||
|
vertical-align: middle;
|
||||||
|
font-size: 12px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* =======================================================================
|
/* =======================================================================
|
||||||
|
@ -1873,7 +1909,7 @@ div.metadata_example label {
|
||||||
line-height: 21px;
|
line-height: 21px;
|
||||||
display: block;
|
display: block;
|
||||||
padding: 3px;
|
padding: 3px;
|
||||||
margin: 0px;
|
margin: 0;
|
||||||
}
|
}
|
||||||
div.metadata_options input {
|
div.metadata_options input {
|
||||||
margin-right: 3px;
|
margin-right: 3px;
|
||||||
|
@ -1886,7 +1922,7 @@ div.metadataDiv .disabled {
|
||||||
|
|
||||||
.notifier-icon {
|
.notifier-icon {
|
||||||
float: left;
|
float: left;
|
||||||
margin: 6px 4px 0px 0px;
|
margin: 6px 4px 0 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* =======================================================================
|
/* =======================================================================
|
||||||
|
@ -1918,7 +1954,7 @@ td.tableright {
|
||||||
text-align: left;
|
text-align: left;
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
width: 225px;
|
width: 225px;
|
||||||
padding: 6px 0px;
|
padding: 6px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.optionWrapper div.selectChoices {
|
.optionWrapper div.selectChoices {
|
||||||
|
@ -1952,9 +1988,8 @@ Global
|
||||||
========================================================================== */
|
========================================================================== */
|
||||||
|
|
||||||
span.path {
|
span.path {
|
||||||
padding: 3px 6px;
|
padding: 3px;
|
||||||
color: #8b0000;
|
margin-left: 3px;
|
||||||
background-color: #f5f1e4;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.align-left {
|
.align-left {
|
||||||
|
@ -1968,13 +2003,13 @@ span.path {
|
||||||
|
|
||||||
span.quality {
|
span.quality {
|
||||||
font: 12px/13px "Open Sans", verdana, sans-serif;
|
font: 12px/13px "Open Sans", verdana, sans-serif;
|
||||||
background-image:-webkit-linear-gradient(top, rgba(255,255,255,0.08),rgba(255,255,255,0) 50%,rgba(0,0,0,0) 50%,rgba(0,0,0,0.25));
|
background-image:-webkit-linear-gradient(top, rgba(255, 255, 255, 0.08),rgba(255, 255, 255, 0) 50%,rgba(0, 0, 0, 0) 50%,rgba(0, 0, 0, 0.25));
|
||||||
background-image:-moz-linear-gradient(top, rgba(255,255,255,0.08),rgba(255,255,255,0) 50%,rgba(0,0,0,0) 50%,rgba(0,0,0,0.25));
|
background-image:-moz-linear-gradient(top, rgba(255, 255, 255, 0.08),rgba(255, 255, 255, 0) 50%,rgba(0, 0, 0, 0) 50%,rgba(0, 0, 0, 0.25));
|
||||||
background-image:-o-linear-gradient(top, rgba(255,255,255,0.08),rgba(255,255,255,0) 50%,rgba(0,0,0,0) 50%,rgba(0,0,0,0.25));
|
background-image:-o-linear-gradient(top, rgba(255, 255, 255, 0.08),rgba(255, 255, 255, 0) 50%,rgba(0, 0, 0, 0) 50%,rgba(0, 0, 0, 0.25));
|
||||||
background-image:linear-gradient(to bottom, rgba(255,255,255,0.08),rgba(255,255,255,0) 50%,rgba(0,0,0,0) 50%,rgba(0,0,0,0.25));
|
background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.08),rgba(255, 255, 255, 0) 50%,rgba(0, 0, 0, 0) 50%,rgba(0, 0, 0, 0.25));
|
||||||
-webkit-box-shadow:inset 0 1px rgba(255,255,255,0.1),inset 0 -1px 3px rgba(0,0,0,0.3),inset 0 0 0 1px rgba(255,255,255,0.08),0 1px 2px rgba(0,0,0,0.15);
|
-webkit-box-shadow:inset 0 1px rgba(255, 255, 255, 0.1),inset 0 -1px 3px rgba(0, 0, 0, 0.3),inset 0 0 0 1px rgba(255, 255, 255, 0.08),0 1px 2px rgba(0, 0, 0, 0.15);
|
||||||
box-shadow:inset 0 1px rgba(255,255,255,0.1),inset 0 -1px 3px rgba(0,0,0,0.3),inset 0 0 0 1px rgba(255,255,255,0.08),0 1px 2px rgba(0,0,0,0.15);
|
box-shadow:inset 0 1px rgba(255, 255, 255, 0.1),inset 0 -1px 3px rgba(0, 0, 0, 0.3),inset 0 0 0 1px rgba(255, 255, 255, 0.08),0 1px 2px rgba(0, 0, 0, 0.15);
|
||||||
text-shadow: 0px 1px rgba(0, 0, 0, 0.8);
|
text-shadow: 0 1px rgba(0, 0, 0, 0.8);
|
||||||
color: #FFFFFF;
|
color: #FFFFFF;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
padding: 2px 4px;
|
padding: 2px 4px;
|
||||||
|
@ -2094,7 +2129,7 @@ div.blackwhitelist span {
|
||||||
}
|
}
|
||||||
|
|
||||||
div.blackwhitelist.anidb, div.blackwhitelist.manual {
|
div.blackwhitelist.anidb, div.blackwhitelist.manual {
|
||||||
margin: 7px 0px;
|
margin: 7px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -2114,12 +2149,12 @@ html * {
|
||||||
}
|
}
|
||||||
|
|
||||||
input[type="checkbox"] {
|
input[type="checkbox"] {
|
||||||
margin: 2px 0px 0px;
|
margin: 2px 0 0;
|
||||||
line-height: normal;
|
line-height: normal;
|
||||||
}
|
}
|
||||||
|
|
||||||
input[type="radio"] {
|
input[type="radio"] {
|
||||||
margin: 2px 0px 0px;
|
margin: 2px 0 0;
|
||||||
line-height: normal;
|
line-height: normal;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2134,7 +2169,7 @@ input, textarea, select, .uneditable-input {
|
||||||
}
|
}
|
||||||
|
|
||||||
.navbar-brand {
|
.navbar-brand {
|
||||||
padding: 0px;
|
padding: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* navbar styling */
|
/* navbar styling */
|
||||||
|
@ -2261,7 +2296,7 @@ fieldset[disabled] .navbar-default .btn-link:focus {
|
||||||
.dropdown-menu {
|
.dropdown-menu {
|
||||||
background-color: #F5F1E4;
|
background-color: #F5F1E4;
|
||||||
border: 1px solid rgba(0, 0, 0, 0.15);
|
border: 1px solid rgba(0, 0, 0, 0.15);
|
||||||
box-shadow: 0px 6px 12px rgba(0, 0, 0, 0.176);
|
box-shadow: 0 6px 12px rgba(0, 0, 0, 0.176);
|
||||||
}
|
}
|
||||||
|
|
||||||
.form-control {
|
.form-control {
|
||||||
|
@ -2818,7 +2853,7 @@ div.formpaginate .prev, div.formpaginate .next {
|
||||||
.stepDiv.parent-folder {
|
.stepDiv.parent-folder {
|
||||||
padding: 15px 0 0;
|
padding: 15px 0 0;
|
||||||
width: 430px;
|
width: 430px;
|
||||||
margin: 0px auto;
|
margin: 0 auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
.stepDiv .nocheck {
|
.stepDiv .nocheck {
|
||||||
|
@ -2940,7 +2975,7 @@ thead.tablesorter-stickyHeader {
|
||||||
.tablesorter tfoot tr {
|
.tablesorter tfoot tr {
|
||||||
color: #fff;
|
color: #fff;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
text-shadow: -1px -1px 0 rgba(0,0,0,0.3);
|
text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.3);
|
||||||
background-color: #333;
|
background-color: #333;
|
||||||
border-collapse: collapse;
|
border-collapse: collapse;
|
||||||
}
|
}
|
||||||
|
@ -3160,6 +3195,10 @@ span.token-input-delete-token {
|
||||||
.time-am-pm {
|
.time-am-pm {
|
||||||
margin-left: 2px;
|
margin-left: 2px;
|
||||||
}
|
}
|
||||||
|
#content.episodeview-banner .time-am-pm,
|
||||||
|
#content.episodeview-poster .time-am-pm {
|
||||||
|
margin-left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
/* =======================================================================
|
/* =======================================================================
|
||||||
jquery.confirm.css
|
jquery.confirm.css
|
||||||
|
@ -3172,8 +3211,8 @@ jquery.confirm.css
|
||||||
top: 0;
|
top: 0;
|
||||||
left: 0;
|
left: 0;
|
||||||
background: url(../images/bg.gif);
|
background: url(../images/bg.gif);
|
||||||
background: -moz-linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5)) repeat-x rgba(0,0,0,0.5);
|
background: -moz-linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)) repeat-x rgba(0, 0, 0, 0.5);
|
||||||
background:-webkit-gradient(linear, 0% 0%, 0% 100%, from(rgba(0,0,0,0.5)), to(rgba(0,0,0,0.5))) repeat-x rgba(0,0,0,0.5);
|
background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0.5))) repeat-x rgba(0, 0, 0, 0.5);
|
||||||
z-index: 100000;
|
z-index: 100000;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3185,7 +3224,7 @@ jquery.confirm.css
|
||||||
top: 50%;
|
top: 50%;
|
||||||
margin: -130px 0 0 -230px;
|
margin: -130px 0 0 -230px;
|
||||||
border: 1px solid #111;
|
border: 1px solid #111;
|
||||||
box-shadow: 0px 0px 12px 0px rgba(0, 0, 0, 0.175);
|
box-shadow: 0 0 12px 0 rgba(0, 0, 0, 0.175);
|
||||||
}
|
}
|
||||||
|
|
||||||
#confirmBox h1,
|
#confirmBox h1,
|
||||||
|
@ -3220,7 +3259,7 @@ jquery.confirm.css
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
text-align:center;
|
text-align:center;
|
||||||
text-shadow: 0px 1px 1px rgba(0, 0, 0, 0.75);
|
text-shadow: 0 1px 1px rgba(0, 0, 0, 0.75);
|
||||||
background-clip: padding-box;
|
background-clip: padding-box;
|
||||||
border: 1px solid #111;
|
border: 1px solid #111;
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
|
@ -3228,12 +3267,12 @@ jquery.confirm.css
|
||||||
-webkit-box-sizing: border-box;
|
-webkit-box-sizing: border-box;
|
||||||
-moz-box-sizing: border-box;
|
-moz-box-sizing: border-box;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
background-image: -webkit-linear-gradient(top, rgba(255,255,255,0.08),rgba(255,255,255,0) 50%,rgba(0,0,0,0) 51%,rgba(0,0,0,0.25));
|
background-image: -webkit-linear-gradient(top, rgba(255, 255, 255, 0.08),rgba(255, 255, 255, 0) 50%,rgba(0, 0, 0, 0) 51%,rgba(0, 0, 0, 0.25));
|
||||||
background-image: -moz-linear-gradient(top, rgba(255,255,255,0.08),rgba(255,255,255,0) 50%,rgba(0,0,0,0) 51%,rgba(0,0,0,0.25));
|
background-image: -moz-linear-gradient(top, rgba(255, 255, 255, 0.08),rgba(255, 255, 255, 0) 50%,rgba(0, 0, 0, 0) 51%,rgba(0, 0, 0, 0.25));
|
||||||
background-image: -o-linear-gradient(top, rgba(255,255,255,0.08),rgba(255,255,255,0) 50%,rgba(0,0,0,0) 51%,rgba(0,0,0,0.25));
|
background-image: -o-linear-gradient(top, rgba(255, 255, 255, 0.08),rgba(255, 255, 255, 0) 50%,rgba(0, 0, 0, 0) 51%,rgba(0, 0, 0, 0.25));
|
||||||
background-image: linear-gradient(to bottom, rgba(255,255,255,0.08),rgba(255,255,255,0) 50%,rgba(0,0,0,0) 51%,rgba(0,0,0,0.25));
|
background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.08),rgba(255, 255, 255, 0) 50%,rgba(0, 0, 0, 0) 51%,rgba(0, 0, 0, 0.25));
|
||||||
-webkit-box-shadow: inset 0 1px rgba(255,255,255,0.1),inset 0 -1px 3px rgba(0,0,0,0.3),inset 0 0 0 1px rgba(255,255,255,0.08),0 1px 2px rgba(0,0,0,0.15);
|
-webkit-box-shadow: inset 0 1px rgba(255, 255, 255, 0.1),inset 0 -1px 3px rgba(0, 0, 0, 0.3),inset 0 0 0 1px rgba(255, 255, 255, 0.08),0 1px 2px rgba(0, 0, 0, 0.15);
|
||||||
box-shadow: inset 0 1px rgba(255,255,255,0.1),inset 0 -1px 3px rgba(0,0,0,0.3),inset 0 0 0 1px rgba(255,255,255,0.08),0 1px 2px rgba(0,0,0,0.15);
|
box-shadow: inset 0 1px rgba(255, 255, 255, 0.1),inset 0 -1px 3px rgba(0, 0, 0, 0.3),inset 0 0 0 1px rgba(255, 255, 255, 0.08),0 1px 2px rgba(0, 0, 0, 0.15);
|
||||||
}
|
}
|
||||||
|
|
||||||
#confirmBox .button:last-child {
|
#confirmBox .button:last-child {
|
||||||
|
|
|
@ -90,8 +90,8 @@ addOption("postprocess", "process_method", "&process_method=copy");
|
||||||
addOption("postprocess", "type", "&type=manual")
|
addOption("postprocess", "type", "&type=manual")
|
||||||
|
|
||||||
addOption("sb.setdefaults", "Optional Param", "", 1);
|
addOption("sb.setdefaults", "Optional Param", "", 1);
|
||||||
addList("sb.setdefaults", "Exclude Paused Shows on ComingEps", "&future_show_paused=0", "sb.setdefaults-status");
|
addList("sb.setdefaults", "Exclude Paused Shows on EpisodeView", "&future_show_paused=0", "sb.setdefaults-status");
|
||||||
addList("sb.setdefaults", "Include Paused Shows on ComingEps", "&future_show_paused=1", "sb.setdefaults-status");
|
addList("sb.setdefaults", "Include Paused Shows on EpisodeView", "&future_show_paused=1", "sb.setdefaults-status");
|
||||||
|
|
||||||
addOption("sb.setdefaults-status", "Optional Param", "", 1);
|
addOption("sb.setdefaults-status", "Optional Param", "", 1);
|
||||||
addList("sb.setdefaults-status", "Wanted", "&status=wanted", "sb.setdefaults-opt");
|
addList("sb.setdefaults-status", "Wanted", "&status=wanted", "sb.setdefaults-opt");
|
||||||
|
|
|
@ -1,549 +0,0 @@
|
||||||
#import sickbeard
|
|
||||||
#import datetime
|
|
||||||
#from sickbeard.common import *
|
|
||||||
#from sickbeard import sbdatetime
|
|
||||||
#from sickbeard.helpers import anon_url
|
|
||||||
|
|
||||||
#set global $title = 'Coming Episodes'
|
|
||||||
#set global $header = 'Coming Episodes'
|
|
||||||
|
|
||||||
#set global $sbPath = '..'
|
|
||||||
|
|
||||||
#set global $topmenu = 'comingEpisodes'
|
|
||||||
#import os.path
|
|
||||||
#include $os.path.join($sickbeard.PROG_DIR, 'gui/slick/interfaces/default/inc_top.tmpl')
|
|
||||||
#set $sort = $sickbeard.COMING_EPS_SORT
|
|
||||||
<script type="text/javascript" src="$sbRoot/js/ajaxEpSearch.js?$sbPID"></script>
|
|
||||||
#if $varExists('header')
|
|
||||||
<h1 class="header">$header</h1>
|
|
||||||
#else
|
|
||||||
<h1 class="title">$title</h1>
|
|
||||||
#end if
|
|
||||||
|
|
||||||
<style type="text/css">
|
|
||||||
#SubMenu {display:none}
|
|
||||||
#contentWrapper {padding-top:30px}
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<div class="h2footer pull-right">
|
|
||||||
<span>Layout:
|
|
||||||
<select name="layout" class="form-control form-control-inline input-sm" onchange="location = this.options[this.selectedIndex].value;">
|
|
||||||
<option value="$sbRoot/setComingEpsLayout/?layout=poster" #if 'poster' == $sickbeard.COMING_EPS_LAYOUT then 'selected="selected"' else ''#>Poster</option>
|
|
||||||
<option value="$sbRoot/setComingEpsLayout/?layout=calendar" #if 'calendar' == $sickbeard.COMING_EPS_LAYOUT then 'selected="selected"' else ''#>Calendar</option>
|
|
||||||
<option value="$sbRoot/setComingEpsLayout/?layout=banner" #if 'banner' == $sickbeard.COMING_EPS_LAYOUT then 'selected="selected"' else ''#>Banner</option>
|
|
||||||
<option value="$sbRoot/setComingEpsLayout/?layout=list" #if 'list' == $sickbeard.COMING_EPS_LAYOUT then 'selected="selected"' else ''#>List</option>
|
|
||||||
</select>
|
|
||||||
</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>
|
|
||||||
|
|
||||||
|
|
||||||
<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 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 //-->
|
|
||||||
|
|
||||||
<script type="text/javascript" src="$sbRoot/js/plotTooltip.js?$sbPID"></script>
|
|
||||||
<script type="text/javascript" charset="utf-8">
|
|
||||||
<!--
|
|
||||||
\$.tablesorter.addParser({
|
|
||||||
id: 'loadingNames',
|
|
||||||
is: function(s) {
|
|
||||||
return false
|
|
||||||
},
|
|
||||||
format: function(s) {
|
|
||||||
if (0 == s.indexOf('Loading...'))
|
|
||||||
return s.replace('Loading...', '000')
|
|
||||||
#if not $sickbeard.SORT_ARTICLE:
|
|
||||||
return (s || '').replace(/^(?:(?:A(?!\s+to)n?)|The)\s(\w)/i, '$1')
|
|
||||||
#else:
|
|
||||||
return (s || '')
|
|
||||||
#end if
|
|
||||||
},
|
|
||||||
type: 'text'
|
|
||||||
});
|
|
||||||
\$.tablesorter.addParser({
|
|
||||||
id: 'quality',
|
|
||||||
is: function(s) {
|
|
||||||
return false
|
|
||||||
},
|
|
||||||
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)
|
|
||||||
},
|
|
||||||
type: 'numeric'
|
|
||||||
});
|
|
||||||
\$.tablesorter.addParser({
|
|
||||||
id: 'cDate',
|
|
||||||
is: function(s) {
|
|
||||||
return false
|
|
||||||
},
|
|
||||||
format: function(s) {
|
|
||||||
return s
|
|
||||||
},
|
|
||||||
type: 'numeric'
|
|
||||||
});
|
|
||||||
|
|
||||||
\$(document).ready(function(){
|
|
||||||
|
|
||||||
#set $sort_codes = {'date': 0, 'show': 1, 'network': 4}
|
|
||||||
#if $sort not in $sort_codes:
|
|
||||||
$sort = 'date'
|
|
||||||
#end if
|
|
||||||
|
|
||||||
sortList = [[$sort_codes[$sort], 0]];
|
|
||||||
|
|
||||||
\$('#showListTable:has(tbody tr)').tablesorter({
|
|
||||||
widgets: ['stickyHeaders'],
|
|
||||||
sortList: sortList,
|
|
||||||
textExtraction: {
|
|
||||||
0: function(node) { return \$(node).find('span').text().toLowerCase() },
|
|
||||||
4: function(node) { return \$(node).find('img').attr('alt') },
|
|
||||||
5: function(node) { return \$(node).find('span').text().toLowerCase() }
|
|
||||||
},
|
|
||||||
headers: {
|
|
||||||
0: { sorter: 'cDate' },
|
|
||||||
1: { sorter: 'loadingNames' },
|
|
||||||
2: { sorter: false },
|
|
||||||
3: { sorter: false },
|
|
||||||
4: { sorter: 'loadingNames' },
|
|
||||||
5: { sorter: 'quality' },
|
|
||||||
6: { sorter: false },
|
|
||||||
7: { sorter: false },
|
|
||||||
8: { sorter: false }
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
\$('#sbRoot').ajaxEpSearch();
|
|
||||||
|
|
||||||
#set $fuzzydate = 'airdate'
|
|
||||||
#if $sickbeard.FUZZY_DATING:
|
|
||||||
fuzzyMoment({
|
|
||||||
containerClass : '.${fuzzydate}',
|
|
||||||
dateHasTime : true,
|
|
||||||
dateFormat : '${sickbeard.DATE_PRESET}',
|
|
||||||
timeFormat : '${sickbeard.TIME_PRESET}',
|
|
||||||
trimZero : #if $sickbeard.TRIM_ZERO then 'true' else 'false'#
|
|
||||||
});
|
|
||||||
#end if
|
|
||||||
|
|
||||||
});
|
|
||||||
//-->
|
|
||||||
</script>
|
|
||||||
|
|
||||||
#set $show_div = 'listing-default'
|
|
||||||
|
|
||||||
<input type="hidden" id="sbRoot" value="$sbRoot" />
|
|
||||||
|
|
||||||
<table id="showListTable" class="sickbeardTable tablesorter seasonstyle" cellspacing="1" border="0" cellpadding="0">
|
|
||||||
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th>Airdate</th>
|
|
||||||
<th>Show</th>
|
|
||||||
<th class="nowrap">Next Ep</th>
|
|
||||||
<th>Next Ep Name</th>
|
|
||||||
<th>Network</th>
|
|
||||||
<th>Quality</th>
|
|
||||||
<th>Indexers</th>
|
|
||||||
<th>Search</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
|
|
||||||
<tbody style="text-shadow:none;">
|
|
||||||
|
|
||||||
#for $cur_result in $sql_results:
|
|
||||||
#set $cur_indexer = int($cur_result['indexer'])
|
|
||||||
#set $runtime = $cur_result['runtime']
|
|
||||||
|
|
||||||
#if int($cur_result['paused']) and not $sickbeard.COMING_EPS_DISPLAY_PAUSED:
|
|
||||||
#continue
|
|
||||||
#end if
|
|
||||||
|
|
||||||
#set $cur_ep_airdate = $cur_result['localtime'].date()
|
|
||||||
|
|
||||||
#if $runtime:
|
|
||||||
#set $cur_ep_enddate = $cur_result['localtime'] + datetime.timedelta(minutes = $runtime)
|
|
||||||
#if $cur_ep_enddate < $today:
|
|
||||||
#set $show_div = 'listing-overdue'
|
|
||||||
#elif $cur_ep_airdate >= $next_week.date():
|
|
||||||
#set $show_div = 'listing-toofar'
|
|
||||||
#elif $cur_ep_airdate >= $today.date() and $cur_ep_airdate < $next_week.date():
|
|
||||||
#if $cur_ep_airdate == $today.date():
|
|
||||||
#set $show_div = 'listing-current'
|
|
||||||
#else:
|
|
||||||
#set $show_div = 'listing-default'
|
|
||||||
#end if
|
|
||||||
#end if
|
|
||||||
#end if
|
|
||||||
|
|
||||||
<!-- start $cur_result['show_name'] //-->
|
|
||||||
<tr class="$show_div">
|
|
||||||
## forced to use a div to wrap airdate, the column sort went crazy with a span
|
|
||||||
<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>
|
|
||||||
</td>
|
|
||||||
|
|
||||||
<td class="tvShow"><a href="$sbRoot/home/displayShow?show=${cur_result['showid']}">$cur_result['show_name']</a>
|
|
||||||
#if int($cur_result['paused']):
|
|
||||||
<span class="pause">[paused]</span>
|
|
||||||
#end if
|
|
||||||
</td>
|
|
||||||
|
|
||||||
<td class="nowrap" align="center">
|
|
||||||
<%= 'S%02iE%02i' % (int(cur_result['season']), int(cur_result['episode'])) %>
|
|
||||||
</td>
|
|
||||||
|
|
||||||
<td>
|
|
||||||
#if $cur_result['description']:
|
|
||||||
<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:
|
|
||||||
<img alt="" src="$sbRoot/images/info32.png" width="16" height="16" class="plotInfoNone" />
|
|
||||||
#end if
|
|
||||||
$cur_result['name']
|
|
||||||
</td>
|
|
||||||
|
|
||||||
<td align="center">
|
|
||||||
$cur_result['network']
|
|
||||||
</td>
|
|
||||||
|
|
||||||
<td align="center">
|
|
||||||
#if int($cur_result['quality']) in $qualityPresets:
|
|
||||||
<span class="quality $qualityPresetStrings[int($cur_result['quality'])]">$qualityPresetStrings[int($cur_result['quality'])]</span>
|
|
||||||
#else:
|
|
||||||
<span class="quality Custom">Custom</span>
|
|
||||||
#end if
|
|
||||||
</td>
|
|
||||||
|
|
||||||
<td align="center" style="vertical-align: middle;">
|
|
||||||
#if $cur_result['imdb_id']:
|
|
||||||
<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
|
|
||||||
<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 align="center">
|
|
||||||
<a href="$sbRoot/home/searchEpisode?show=${cur_result['showid']}&season=$cur_result['season']&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>
|
|
||||||
</tr>
|
|
||||||
<!-- end $cur_result['show_name'] //-->
|
|
||||||
#end for
|
|
||||||
</tbody>
|
|
||||||
|
|
||||||
<tfoot>
|
|
||||||
<tr>
|
|
||||||
<th rowspan="1" colspan="10" align="center"> </th>
|
|
||||||
</tr>
|
|
||||||
</tfoot>
|
|
||||||
|
|
||||||
</table>
|
|
||||||
<!-- end list view //-->
|
|
||||||
|
|
||||||
|
|
||||||
#else if $layout in ['banner', 'poster']:
|
|
||||||
|
|
||||||
|
|
||||||
<!-- start non list view //-->
|
|
||||||
<script type="text/javascript" charset="utf-8">
|
|
||||||
<!--
|
|
||||||
\$(document).ready(function(){
|
|
||||||
\$('#sbRoot').ajaxEpSearch({'size': 16, 'loadingImage': 'loading16' + themeSpinner + '.gif'});
|
|
||||||
\$('.ep_summary').hide();
|
|
||||||
\$('.ep_summaryTrigger').click(function() {
|
|
||||||
\$(this).next('.ep_summary').slideToggle('normal', function() {
|
|
||||||
\$(this).prev('.ep_summaryTrigger').attr('src', function(i, src) {
|
|
||||||
return \$(this).next('.ep_summary').is(':visible') ? src.replace('plus','minus') : src.replace('minus','plus')
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
#set $fuzzydate = 'airdate'
|
|
||||||
#if $sickbeard.FUZZY_DATING:
|
|
||||||
fuzzyMoment({
|
|
||||||
dtInline : true,
|
|
||||||
dtGlue : ' at ',
|
|
||||||
containerClass : '.${fuzzydate}',
|
|
||||||
dateHasTime : true,
|
|
||||||
dateFormat : '${sickbeard.DATE_PRESET}',
|
|
||||||
timeFormat : '${sickbeard.TIME_PRESET}',
|
|
||||||
trimZero : #if $sickbeard.TRIM_ZERO then 'true' else 'false'#
|
|
||||||
});
|
|
||||||
#end if
|
|
||||||
|
|
||||||
});
|
|
||||||
//-->
|
|
||||||
</script>
|
|
||||||
|
|
||||||
#set $cur_segment = None
|
|
||||||
#set $too_late_header = False
|
|
||||||
#set $missed_header = False
|
|
||||||
#set $today_header = False
|
|
||||||
#set $show_div = 'ep_listing listing-default'
|
|
||||||
|
|
||||||
#if 'show' == $sort:
|
|
||||||
<br /><br />
|
|
||||||
#end if
|
|
||||||
|
|
||||||
#for $cur_result in $sql_results:
|
|
||||||
#set $cur_indexer = int($cur_result['indexer'])
|
|
||||||
|
|
||||||
<!-- start $cur_result['show_name'] //-->
|
|
||||||
|
|
||||||
#if int($cur_result['paused']) and not $sickbeard.COMING_EPS_DISPLAY_PAUSED:
|
|
||||||
#continue
|
|
||||||
#end if
|
|
||||||
|
|
||||||
#set $runtime = $cur_result['runtime']
|
|
||||||
|
|
||||||
#if 'network' == $sort:
|
|
||||||
#set $show_network = $cur_result['network'] if $cur_result['network'] else 'no network'
|
|
||||||
#if $cur_segment != $show_network:
|
|
||||||
<div class="comingepheader">
|
|
||||||
<br><h2 class="network">$show_network</h2>
|
|
||||||
#set $cur_segment = $cur_result['network']
|
|
||||||
#end if
|
|
||||||
#set $cur_ep_airdate = $cur_result['localtime'].date()
|
|
||||||
|
|
||||||
#if $runtime:
|
|
||||||
#set $cur_ep_enddate = $cur_result['localtime'] + datetime.timedelta(minutes = $runtime)
|
|
||||||
#if $cur_ep_enddate < $today:
|
|
||||||
#set $show_div = 'ep_listing listing-overdue'
|
|
||||||
#elif $cur_ep_airdate >= $next_week.date():
|
|
||||||
#set $show_div = 'ep_listing listing-toofar'
|
|
||||||
#elif $cur_ep_enddate >= $today and $cur_ep_airdate < $next_week.date():
|
|
||||||
#if $cur_ep_airdate == $today.date():
|
|
||||||
#set $show_div = 'ep_listing listing-current'
|
|
||||||
#else:
|
|
||||||
#set $show_div = 'ep_listing listing-default'
|
|
||||||
#end if
|
|
||||||
#end if
|
|
||||||
#end if
|
|
||||||
|
|
||||||
#elif 'date' == $sort:
|
|
||||||
#set $cur_ep_airdate = $cur_result['localtime'].date()
|
|
||||||
|
|
||||||
#if $cur_segment != $cur_ep_airdate:
|
|
||||||
#if $runtime:
|
|
||||||
#set $cur_ep_enddate = $cur_result['localtime'] + datetime.timedelta(minutes = $runtime)
|
|
||||||
#if $cur_ep_enddate < $today and $cur_ep_airdate != $today.date() and not $missed_header:
|
|
||||||
<br /><h2 class="day">Missed</h2>
|
|
||||||
#set $missed_header = True
|
|
||||||
#elif $cur_ep_airdate >= $next_week.date() and not $too_late_header:
|
|
||||||
<br /><h2 class="day">Later</h2>
|
|
||||||
#set $too_late_header = True
|
|
||||||
#elif $cur_ep_enddate >= $today and $cur_ep_airdate < $next_week.date():
|
|
||||||
#if $cur_ep_airdate == $today.date():
|
|
||||||
<br /><h2 class="day">$sbdatetime.sbdatetime.sbfdate($cur_ep_airdate, '%A').decode($sickbeard.SYS_ENCODING).capitalize() <span style="font-size: 14px; vertical-align: top;">[Today]</span></h2>
|
|
||||||
#set $today_header = True
|
|
||||||
#else:
|
|
||||||
<br /><h2 class="day">$sbdatetime.sbdatetime.sbfdate($cur_ep_airdate, '%A').decode($sickbeard.SYS_ENCODING).capitalize()</h2>
|
|
||||||
#end if
|
|
||||||
#end if
|
|
||||||
#end if
|
|
||||||
#set $cur_segment = $cur_ep_airdate
|
|
||||||
#end if
|
|
||||||
|
|
||||||
#if $cur_ep_airdate == $today.date() and not $today_header:
|
|
||||||
<div class="comingepheader">
|
|
||||||
<br /><h2 class="day">$sbdatetime.sbdatetime.sbfdate($cur_ep_airdate, '%A').decode($sickbeard.SYS_ENCODING).capitalize() <span style="font-size: 14px; vertical-align: top;">[Today]</span></h2>
|
|
||||||
#set $today_header = True
|
|
||||||
#end if
|
|
||||||
#if $runtime:
|
|
||||||
#set $cur_ep_enddate = $cur_result['localtime'] + datetime.timedelta(minutes = $runtime)
|
|
||||||
#if $cur_ep_enddate < $today:
|
|
||||||
#set $show_div = 'ep_listing listing-overdue'
|
|
||||||
#elif $cur_ep_airdate >= $next_week.date():
|
|
||||||
#set $show_div = 'ep_listing listing-toofar'
|
|
||||||
#elif $cur_ep_enddate >= $today and $cur_ep_airdate < $next_week.date():
|
|
||||||
#if $cur_ep_airdate == $today.date():
|
|
||||||
#set $show_div = 'ep_listing listing-current'
|
|
||||||
#else:
|
|
||||||
#set $show_div = 'ep_listing listing-default'
|
|
||||||
#end if
|
|
||||||
#end if
|
|
||||||
#end if
|
|
||||||
|
|
||||||
#elif 'show' == $sort:
|
|
||||||
#set $cur_ep_airdate = $cur_result['localtime'].date()
|
|
||||||
|
|
||||||
#if $runtime:
|
|
||||||
#set $cur_ep_enddate = $cur_result['localtime'] + datetime.timedelta(minutes = $runtime)
|
|
||||||
#if $cur_ep_enddate < $today:
|
|
||||||
#set $show_div = 'ep_listing listing-overdue listingradius'
|
|
||||||
#elif $cur_ep_airdate >= $next_week.date():
|
|
||||||
#set $show_div = 'ep_listing listing-toofar listingradius'
|
|
||||||
#elif $cur_ep_enddate >= $today and $cur_ep_airdate < $next_week.date():
|
|
||||||
#if $cur_ep_airdate == $today.date():
|
|
||||||
#set $show_div = 'ep_listing listing-current listingradius'
|
|
||||||
#else:
|
|
||||||
#set $show_div = 'ep_listing listing-default listingradius'
|
|
||||||
#end if
|
|
||||||
#end if
|
|
||||||
#end if
|
|
||||||
#end if
|
|
||||||
|
|
||||||
<div class="$show_div" id="listing-${cur_result['showid']}">
|
|
||||||
<div class="tvshowDiv">
|
|
||||||
<table width="100%" border="0" cellpadding="0" cellspacing="0">
|
|
||||||
<tr>
|
|
||||||
<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 'banner' == $layout then 'bannerThumb' else 'posterThumb'#" src="$sbRoot/showPoster/?show=${cur_result['showid']}&which=#if 'poster' == $layout then 'poster_thumb' else $layout#" /></a>
|
|
||||||
</th>
|
|
||||||
#if 'banner' == $layout:
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
#end if
|
|
||||||
|
|
||||||
<td class="next_episode">
|
|
||||||
<div class="clearfix">
|
|
||||||
<span class="tvshowTitle">
|
|
||||||
<a href="$sbRoot/home/displayShow?show=${cur_result['showid']}">$cur_result['show_name']
|
|
||||||
#if int($cur_result['paused']):
|
|
||||||
<span class="pause">[paused]</span>
|
|
||||||
#end if
|
|
||||||
</a></span>
|
|
||||||
|
|
||||||
<span class="tvshowTitleIcons">
|
|
||||||
#if $cur_result['imdb_id']:
|
|
||||||
<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
|
|
||||||
<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']}&season=$cur_result['season']&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>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<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">
|
|
||||||
|
|
||||||
<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 class="clearfix">
|
|
||||||
<span class="title">Quality:</span>
|
|
||||||
#if int($cur_result['quality']) in $qualityPresets:
|
|
||||||
<span class="quality $qualityPresetStrings[int($cur_result['quality'])]">$qualityPresetStrings[int($cur_result['quality'])]</span>
|
|
||||||
#else:
|
|
||||||
<span class="quality Custom">Custom</span>
|
|
||||||
#end if
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td style="vertical-align: top;">
|
|
||||||
<div>
|
|
||||||
#if $cur_result['description']:
|
|
||||||
<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>
|
|
||||||
#else:
|
|
||||||
<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="" />
|
|
||||||
#end if
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- end $cur_result['show_name'] //-->
|
|
||||||
#end for
|
|
||||||
|
|
||||||
<!-- end non list view //-->
|
|
||||||
#end if
|
|
||||||
|
|
||||||
#if 'calendar' == $layout:
|
|
||||||
|
|
||||||
#set $today = datetime.date.today()
|
|
||||||
#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" />
|
|
||||||
#for $day in $dates
|
|
||||||
#set $tbl_day += 1
|
|
||||||
<table class="sickbeardTable tablesorter calendarTable <%= 'cal-%s' % (('even', 'odd')[1 == tbl_day % 2]) %>" cellspacing="0" border="0" cellpadding="0">
|
|
||||||
<thead><tr><th>$sbdatetime.sbdatetime.sbfdate($day, '%A').decode($sickbeard.SYS_ENCODING).capitalize()</th></tr></thead>
|
|
||||||
<tbody>
|
|
||||||
#set $day_has_show = False
|
|
||||||
#for $cur_result in $sql_results:
|
|
||||||
#if int($cur_result['paused']) and not $sickbeard.COMING_EPS_DISPLAY_PAUSED:
|
|
||||||
#continue
|
|
||||||
#end if
|
|
||||||
|
|
||||||
#set $cur_indexer = int($cur_result['indexer'])
|
|
||||||
#set $runtime = $cur_result['runtime']
|
|
||||||
#set $airday = $cur_result['localtime'].date()
|
|
||||||
|
|
||||||
#if $airday == $day:
|
|
||||||
#set $day_has_show = True
|
|
||||||
#set $airtime = $sbdatetime.sbdatetime.sbftime($cur_result['localtime']).decode($sickbeard.SYS_ENCODING)
|
|
||||||
#if $sickbeard.TRIM_ZERO:
|
|
||||||
#set $airtime = re.sub(r'0(\d:\d\d)', r'\1', $airtime, 0, re.IGNORECASE | re.MULTILINE)
|
|
||||||
#end if
|
|
||||||
|
|
||||||
<tr>
|
|
||||||
<td class="calendarShow">
|
|
||||||
<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']}&which=poster_thumb" /></a>
|
|
||||||
</div>
|
|
||||||
<div class="text">
|
|
||||||
<span class="airtime">
|
|
||||||
${airtime} on $cur_result["network"]
|
|
||||||
</span>
|
|
||||||
<span class="episode-title" title="$cur_result['name']">
|
|
||||||
<%= 'S%02iE%02i' % (int(cur_result['season']), int(cur_result['episode'])) %> - $cur_result['name']
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
</td> <!-- end $cur_result['show_name'] -->
|
|
||||||
</tr>
|
|
||||||
#end if
|
|
||||||
|
|
||||||
#end for
|
|
||||||
#if not $day_has_show:
|
|
||||||
<tr><td class="calendarShow"><span class="show-status">No shows for this day</span></td></tr>
|
|
||||||
#end if
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
#end for
|
|
||||||
|
|
||||||
<!-- end calender view //-->
|
|
||||||
</div>
|
|
||||||
#end if
|
|
||||||
|
|
||||||
<div class="clearfix"></div>
|
|
||||||
|
|
||||||
<script type="text/javascript" charset="utf-8">
|
|
||||||
<!--
|
|
||||||
window.setInterval('location.reload(true)', 600000); // Refresh every 10 minutes
|
|
||||||
//-->
|
|
||||||
</script>
|
|
||||||
|
|
||||||
#include $os.path.join($sickbeard.PROG_DIR, 'gui/slick/interfaces/default/inc_bottom.tmpl')
|
|
|
@ -570,7 +570,7 @@
|
||||||
</div><!-- /component-group3 //-->
|
</div><!-- /component-group3 //-->
|
||||||
|
|
||||||
<br/>
|
<br/>
|
||||||
<h6 class="pull-right"><b>All non-absolute folder locations are relative to <span class="path">$sickbeard.DATA_DIR</span></b> </h6>
|
<h6 class="pull-right"><b class="boldest">All non-absolute folder locations are relative to <span class="path">$sickbeard.DATA_DIR</span></b></h6>
|
||||||
<input type="submit" class="btn pull-left config_submitter button" value="Save Changes" />
|
<input type="submit" class="btn pull-left config_submitter button" value="Save Changes" />
|
||||||
|
|
||||||
</div><!-- /config-components -->
|
</div><!-- /config-components -->
|
||||||
|
|
695
gui/slick/interfaces/default/episodeView.tmpl
Normal file
695
gui/slick/interfaces/default/episodeView.tmpl
Normal file
|
@ -0,0 +1,695 @@
|
||||||
|
#import sickbeard
|
||||||
|
#import datetime
|
||||||
|
#from sickbeard.common import *
|
||||||
|
#from sickbeard import sbdatetime
|
||||||
|
#from sickbeard.helpers import anon_url
|
||||||
|
|
||||||
|
#set global $title = 'Episode View'
|
||||||
|
#set global $header = 'Episode View'
|
||||||
|
|
||||||
|
#set global $sbPath = '..'
|
||||||
|
|
||||||
|
#set global $topmenu = 'episodeView'
|
||||||
|
#import os.path
|
||||||
|
#include $os.path.join($sickbeard.PROG_DIR, 'gui/slick/interfaces/default/inc_top.tmpl')
|
||||||
|
|
||||||
|
#set $sort = $sickbeard.EPISODE_VIEW_SORT
|
||||||
|
#set $table_sort_header_codes = {'time': 0, 'show': 1, 'network': 4}
|
||||||
|
#if $sort not in $table_sort_header_codes:
|
||||||
|
#set $sort = 'time'
|
||||||
|
#end if
|
||||||
|
|
||||||
|
#if 'daybyday' != $layout:
|
||||||
|
<script type="text/javascript" src="$sbRoot/js/ajaxEpSearch.js?$sbPID"></script>
|
||||||
|
#end if
|
||||||
|
|
||||||
|
#if $varExists('header')
|
||||||
|
<h1 class="header">$header</h1>
|
||||||
|
#else
|
||||||
|
<h1 class="title">$title</h1>
|
||||||
|
#end if
|
||||||
|
|
||||||
|
#if 'daybyday' == $layout:
|
||||||
|
<script type="text/javascript" src="$sbRoot/js/plotTooltip.js?$sbPID"></script>
|
||||||
|
<script type="text/javascript" charset="utf-8">
|
||||||
|
<!--
|
||||||
|
\$(document).ready(function(){
|
||||||
|
|
||||||
|
var \$container = [];
|
||||||
|
\$.each(\$('[id^=day]'), function(){\$container.push(\$('#' + \$(this).attr('id')))});
|
||||||
|
|
||||||
|
jQuery.each(\$container, function(j) {
|
||||||
|
this.isotope({
|
||||||
|
itemSelector: '.daybyday-show',
|
||||||
|
sortBy : '$sort',
|
||||||
|
layoutMode: 'vertical',
|
||||||
|
transitionDuration: 0,
|
||||||
|
getSortData: {
|
||||||
|
network: function(itemElem) {
|
||||||
|
return \$(itemElem).attr('data-network') || '';
|
||||||
|
},
|
||||||
|
showname: function(itemElem) {
|
||||||
|
return \$(itemElem).attr('data-name') || '';
|
||||||
|
},
|
||||||
|
season: function(itemElem) {
|
||||||
|
var season = \$(itemElem).attr('data-season') || '0';
|
||||||
|
return season.length && parseInt(season, 10);
|
||||||
|
},
|
||||||
|
episode: function(itemElem) {
|
||||||
|
var episode = \$(itemElem).attr('data-episode') || '0';
|
||||||
|
return episode.length && parseInt(episode, 10);
|
||||||
|
},
|
||||||
|
time: function(itemElem) {
|
||||||
|
var time = \$(itemElem).attr('data-time') || '0';
|
||||||
|
return time.length && parseInt(time, 10);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
imagesLoaded('.daybyday-show', function() {
|
||||||
|
jQuery.each(\$container, function(j) {
|
||||||
|
this.isotope('layout');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
var uiSortBy = (function(sortBy) {
|
||||||
|
var sortCriteria;
|
||||||
|
switch (sortBy) {
|
||||||
|
case 'network':
|
||||||
|
sortCriteria = ['network', 'time', 'showname', 'season', 'episode'];
|
||||||
|
break;
|
||||||
|
case 'show':
|
||||||
|
sortCriteria = ['showname', 'time', 'season', 'episode'];
|
||||||
|
break;
|
||||||
|
case 'time':
|
||||||
|
default:
|
||||||
|
sortCriteria = ['time', 'showname', 'season', 'episode'];
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
jQuery.each(\$container, function(j) {
|
||||||
|
this.isotope({
|
||||||
|
sortBy: sortCriteria,
|
||||||
|
sortAscending: 'asc' == \$('#sort-dir').attr('data-sort-dir')
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
\$('#sort').on('change', function() {
|
||||||
|
uiSortBy(this.value);
|
||||||
|
\$.get(this.options[this.selectedIndex].getAttribute('data-sort'));
|
||||||
|
});
|
||||||
|
|
||||||
|
\$('#sort-dir').on('click', function() {
|
||||||
|
var sortdir = \$(this).attr('data-sort-dir'),
|
||||||
|
newdir = ('asc' == sortdir ? 'desc' : 'asc');
|
||||||
|
\$(this).attr('data-sort-dir', newdir);
|
||||||
|
\$(this).attr('title', 'Click to sort ' + sortdir + 'ending');
|
||||||
|
\$(this).removeClass(sortdir).addClass(newdir);
|
||||||
|
uiSortBy(\$('#sort').val());
|
||||||
|
});
|
||||||
|
});
|
||||||
|
//-->
|
||||||
|
</script>
|
||||||
|
#end if
|
||||||
|
|
||||||
|
<style type="text/css">
|
||||||
|
#SubMenu {display:none}
|
||||||
|
#if 'daybyday' == $layout:
|
||||||
|
.caret {
|
||||||
|
cursor: pointer;
|
||||||
|
vertical-align: middle;
|
||||||
|
margin-right: 2px;
|
||||||
|
}
|
||||||
|
.asc {
|
||||||
|
border-top: 0;
|
||||||
|
border-bottom: 8px solid;
|
||||||
|
}
|
||||||
|
.desc {
|
||||||
|
border-top: 8px solid;
|
||||||
|
border-bottom: 0;
|
||||||
|
}
|
||||||
|
#end if
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<div class="h2footer pull-right">
|
||||||
|
<span>Layout:
|
||||||
|
<select name="layout" class="form-control form-control-inline input-sm" onchange="location = this.options[this.selectedIndex].value;">
|
||||||
|
<option value="$sbRoot/setEpisodeViewLayout/?layout=banner" #if 'banner' == $sickbeard.EPISODE_VIEW_LAYOUT then 'selected="selected"' else ''#>Banner</option>
|
||||||
|
<option value="$sbRoot/setEpisodeViewLayout/?layout=daybyday" #if 'daybyday' == $sickbeard.EPISODE_VIEW_LAYOUT then 'selected="selected"' else ''#>Day by Day</option>
|
||||||
|
<option value="$sbRoot/setEpisodeViewLayout/?layout=list" #if 'list' == $sickbeard.EPISODE_VIEW_LAYOUT then 'selected="selected"' else ''#>List</option>
|
||||||
|
<option value="$sbRoot/setEpisodeViewLayout/?layout=poster" #if 'poster' == $sickbeard.EPISODE_VIEW_LAYOUT then 'selected="selected"' else ''#>Poster</option>
|
||||||
|
</select>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<span>Sort
|
||||||
|
#if 'daybyday' == $layout:
|
||||||
|
<span id="sort-dir" data-sort-dir="asc" class="caret asc" title="Click to sort descending"> </span>
|
||||||
|
#end if
|
||||||
|
By
|
||||||
|
#if 'daybyday' == $layout:
|
||||||
|
<select name="sort" id="sort" class="form-control form-control-inline input-sm">
|
||||||
|
<option value="network" data-sort="$sbRoot/setEpisodeViewSort/?sort=network&redir=0" #if 'network' == $sort then 'selected="selected"' else ''#>Network</option>
|
||||||
|
<option value="show" data-sort="$sbRoot/setEpisodeViewSort/?sort=show&redir=0" #if 'show' == $sort then 'selected="selected"' else ''#>Show</option>
|
||||||
|
<option value="time" data-sort="$sbRoot/setEpisodeViewSort/?sort=time&redir=0" #if 'time' == $sort then 'selected="selected"' else ''#>Time</option>
|
||||||
|
#else
|
||||||
|
<select name="sort" class="form-control form-control-inline input-sm" onchange="location = this.options[this.selectedIndex].value;">
|
||||||
|
<option value="$sbRoot/setEpisodeViewSort/?sort=time" #if 'time' == $sort then 'selected="selected"' else ''#>Date/Time</option>
|
||||||
|
<option value="$sbRoot/setEpisodeViewSort/?sort=network" #if 'network' == $sort then 'selected="selected"' else ''#>Network</option>
|
||||||
|
<option value="$sbRoot/setEpisodeViewSort/?sort=show" #if 'show' == $sort then 'selected="selected"' else ''#>Show</option>
|
||||||
|
#end if
|
||||||
|
</select>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<span>View Paused:
|
||||||
|
<select name="viewpaused" class="form-control form-control-inline input-sm" onchange="location = this.options[this.selectedIndex].value;">
|
||||||
|
<option value="$sbRoot/toggleEpisodeViewDisplayPaused"<%= (' selected="selected"', '')[True == sickbeard.EPISODE_VIEW_DISPLAY_PAUSED] %>>Hidden</option>
|
||||||
|
<option value="$sbRoot/toggleEpisodeViewDisplayPaused"<%= ('', ' selected="selected"')[True == sickbeard.EPISODE_VIEW_DISPLAY_PAUSED] %>>Shown</option>
|
||||||
|
</select>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="key pull-right">
|
||||||
|
#if 'daybyday' != $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 //-->
|
||||||
|
|
||||||
|
<script type="text/javascript" src="$sbRoot/js/plotTooltip.js?$sbPID"></script>
|
||||||
|
<script type="text/javascript" charset="utf-8">
|
||||||
|
<!--
|
||||||
|
\$.tablesorter.addParser({
|
||||||
|
id: 'loadingNames',
|
||||||
|
is: function(s) {
|
||||||
|
return false
|
||||||
|
},
|
||||||
|
format: function(s) {
|
||||||
|
if(0 == s.indexOf('Loading...'))
|
||||||
|
return s.replace('Loading...', '000')
|
||||||
|
return (s || '')
|
||||||
|
},
|
||||||
|
type: 'text'
|
||||||
|
});
|
||||||
|
\$.tablesorter.addParser({
|
||||||
|
id: 'quality',
|
||||||
|
is: function(s) {
|
||||||
|
return false
|
||||||
|
},
|
||||||
|
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)
|
||||||
|
},
|
||||||
|
type: 'numeric'
|
||||||
|
});
|
||||||
|
\$.tablesorter.addParser({
|
||||||
|
id: 'cDate',
|
||||||
|
is: function(s) {
|
||||||
|
return false
|
||||||
|
},
|
||||||
|
format: function(s) {
|
||||||
|
return s
|
||||||
|
},
|
||||||
|
type: 'numeric'
|
||||||
|
});
|
||||||
|
|
||||||
|
\$(document).ready(function(){
|
||||||
|
|
||||||
|
sortList = [[$table_sort_header_codes[$sort], 0]];
|
||||||
|
|
||||||
|
\$('#showListTable:has(tbody tr)').tablesorter({
|
||||||
|
widgets: ['stickyHeaders'],
|
||||||
|
sortList: sortList,
|
||||||
|
textExtraction: {
|
||||||
|
0: function(node) {return \$(node).find('span').text().toLowerCase() || ''},
|
||||||
|
1: function(node) {return \$(node).find('a').attr('data-name') || ''},
|
||||||
|
4: function(node) {return \$(node).find('span').attr('data-network') || ''},
|
||||||
|
5: function(node) {return \$(node).find('span').text().toLowerCase() || ''}
|
||||||
|
},
|
||||||
|
headers: {
|
||||||
|
0: {sorter: 'cDate'},
|
||||||
|
1: {sorter: 'loadingNames'},
|
||||||
|
2: {sorter: false},
|
||||||
|
3: {sorter: false},
|
||||||
|
4: {sorter: 'loadingNames'},
|
||||||
|
5: {sorter: 'quality'},
|
||||||
|
6: {sorter: false},
|
||||||
|
7: {sorter: false},
|
||||||
|
8: {sorter: false}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
\$('#sbRoot').ajaxEpSearch();
|
||||||
|
|
||||||
|
#set $fuzzydate = 'airdate'
|
||||||
|
#if $sickbeard.FUZZY_DATING:
|
||||||
|
fuzzyMoment({
|
||||||
|
containerClass : '.${fuzzydate}',
|
||||||
|
dateHasTime : true,
|
||||||
|
dateFormat : '${sickbeard.DATE_PRESET}',
|
||||||
|
timeFormat : '${sickbeard.TIME_PRESET}',
|
||||||
|
trimZero : #if $sickbeard.TRIM_ZERO then 'true' else 'false'#
|
||||||
|
});
|
||||||
|
#end if
|
||||||
|
|
||||||
|
});
|
||||||
|
//-->
|
||||||
|
</script>
|
||||||
|
|
||||||
|
#set $show_div = 'listing-default'
|
||||||
|
|
||||||
|
<input type="hidden" id="sbRoot" value="$sbRoot" />
|
||||||
|
|
||||||
|
<table id="showListTable" class="sickbeardTable tablesorter seasonstyle" cellspacing="1" border="0" cellpadding="0">
|
||||||
|
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>Airdate</th>
|
||||||
|
<th>Show</th>
|
||||||
|
<th class="nowrap">Next Ep</th>
|
||||||
|
<th>Next Ep Name</th>
|
||||||
|
<th>Network</th>
|
||||||
|
<th>Quality</th>
|
||||||
|
<th>Indexers</th>
|
||||||
|
<th>Search</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
|
||||||
|
<tbody style="text-shadow:none;">
|
||||||
|
|
||||||
|
#for $cur_result in $sql_results:
|
||||||
|
#set $cur_indexer = int($cur_result['indexer'])
|
||||||
|
#set $runtime = $cur_result['runtime']
|
||||||
|
|
||||||
|
#if int($cur_result['paused']) and not $sickbeard.EPISODE_VIEW_DISPLAY_PAUSED:
|
||||||
|
#continue
|
||||||
|
#end if
|
||||||
|
|
||||||
|
#set $cur_ep_airdate = $cur_result['localtime'].date()
|
||||||
|
|
||||||
|
#if $runtime:
|
||||||
|
#set $cur_ep_enddate = $cur_result['localtime'] + datetime.timedelta(minutes = $runtime)
|
||||||
|
#if $cur_ep_enddate < $today:
|
||||||
|
#set $show_div = 'listing-overdue'
|
||||||
|
#elif $cur_ep_airdate >= $next_week.date():
|
||||||
|
#set $show_div = 'listing-toofar'
|
||||||
|
#elif $cur_ep_airdate >= $today.date() and $cur_ep_airdate < $next_week.date():
|
||||||
|
#if $cur_ep_airdate == $today.date():
|
||||||
|
#set $show_div = 'listing-current'
|
||||||
|
#else:
|
||||||
|
#set $show_div = 'listing-default'
|
||||||
|
#end if
|
||||||
|
#end if
|
||||||
|
#end if
|
||||||
|
|
||||||
|
<!-- start $cur_result['show_name'] //-->
|
||||||
|
<tr class="$show_div">
|
||||||
|
## forced to use a div to wrap airdate, the column sort went crazy with a span
|
||||||
|
<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>
|
||||||
|
</td>
|
||||||
|
|
||||||
|
<td class="tvShow"><a href="$sbRoot/home/displayShow?show=${cur_result['showid']}" data-name="$cur_result['data_show_name']">$cur_result['show_name']</a>
|
||||||
|
#if int($cur_result['paused']):
|
||||||
|
<span class="pause">[paused]</span>
|
||||||
|
#end if
|
||||||
|
</td>
|
||||||
|
|
||||||
|
<td class="nowrap" align="center">
|
||||||
|
<%= 'S%02iE%02i' % (int(cur_result['season']), int(cur_result['episode'])) %>
|
||||||
|
</td>
|
||||||
|
|
||||||
|
<td>
|
||||||
|
#if $cur_result['description']:
|
||||||
|
<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:
|
||||||
|
<img alt="" src="$sbRoot/images/info32.png" width="16" height="16" class="plotInfoNone" />
|
||||||
|
#end if
|
||||||
|
$cur_result['name']
|
||||||
|
</td>
|
||||||
|
|
||||||
|
<td align="center">
|
||||||
|
<span data-network="$cur_result['data_network']">$cur_result['network']</span>
|
||||||
|
</td>
|
||||||
|
|
||||||
|
<td align="center">
|
||||||
|
#if int($cur_result['quality']) in $qualityPresets:
|
||||||
|
<span class="quality $qualityPresetStrings[int($cur_result['quality'])]">$qualityPresetStrings[int($cur_result['quality'])]</span>
|
||||||
|
#else:
|
||||||
|
<span class="quality Custom">Custom</span>
|
||||||
|
#end if
|
||||||
|
</td>
|
||||||
|
|
||||||
|
<td align="center" style="vertical-align: middle;">
|
||||||
|
#if $cur_result['imdb_id']:
|
||||||
|
<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
|
||||||
|
<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 align="center">
|
||||||
|
<a href="$sbRoot/home/searchEpisode?show=${cur_result['showid']}&season=$cur_result['season']&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>
|
||||||
|
</tr>
|
||||||
|
<!-- end $cur_result['show_name'] //-->
|
||||||
|
|
||||||
|
#end for
|
||||||
|
|
||||||
|
</tbody>
|
||||||
|
|
||||||
|
<tfoot>
|
||||||
|
<tr>
|
||||||
|
<th rowspan="1" colspan="10" align="center"> </th>
|
||||||
|
</tr>
|
||||||
|
</tfoot>
|
||||||
|
|
||||||
|
</table>
|
||||||
|
<!-- end list view //-->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#else if $layout in ['banner', 'poster']:
|
||||||
|
<!-- start non list view //-->
|
||||||
|
|
||||||
|
<script type="text/javascript" charset="utf-8">
|
||||||
|
<!--
|
||||||
|
\$(document).ready(function(){
|
||||||
|
\$('#sbRoot').ajaxEpSearch({'size': 16, 'loadingImage': 'loading16' + themeSpinner + '.gif'});
|
||||||
|
\$('.ep_summary').hide();
|
||||||
|
\$('.ep_summaryTrigger').click(function() {
|
||||||
|
\$(this).next('.ep_summary').slideToggle('normal', function() {
|
||||||
|
\$(this).prev('.ep_summaryTrigger').attr('src', function(i, src) {
|
||||||
|
return \$(this).next('.ep_summary').is(':visible') ? src.replace('plus','minus') : src.replace('minus','plus')
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
#set $fuzzydate = 'airdate'
|
||||||
|
#if $sickbeard.FUZZY_DATING:
|
||||||
|
fuzzyMoment({
|
||||||
|
dtInline : true,
|
||||||
|
dtGlue : ' at ',
|
||||||
|
containerClass : '.${fuzzydate}',
|
||||||
|
dateHasTime : true,
|
||||||
|
dateFormat : '${sickbeard.DATE_PRESET}',
|
||||||
|
timeFormat : '${sickbeard.TIME_PRESET}',
|
||||||
|
trimZero : #if $sickbeard.TRIM_ZERO then 'true' else 'false'#
|
||||||
|
});
|
||||||
|
#end if
|
||||||
|
});
|
||||||
|
//-->
|
||||||
|
</script>
|
||||||
|
|
||||||
|
#set $cur_segment = None
|
||||||
|
#set $too_late_header = False
|
||||||
|
#set $missed_header = False
|
||||||
|
#set $today_header = False
|
||||||
|
#set $show_div = 'ep_listing listing-default'
|
||||||
|
|
||||||
|
#if 'show' == $sort:
|
||||||
|
<br /><br />
|
||||||
|
#end if
|
||||||
|
|
||||||
|
#for $cur_result in $sql_results:
|
||||||
|
#set $cur_indexer = int($cur_result['indexer'])
|
||||||
|
|
||||||
|
#if int($cur_result['paused']) and not $sickbeard.EPISODE_VIEW_DISPLAY_PAUSED:
|
||||||
|
#continue
|
||||||
|
#end if
|
||||||
|
|
||||||
|
#set $runtime = $cur_result['runtime']
|
||||||
|
|
||||||
|
#if 'network' == $sort:
|
||||||
|
|
||||||
|
#set $show_network = $cur_result['network'] if $cur_result['network'] else 'no network'
|
||||||
|
#if $cur_segment != $show_network:
|
||||||
|
<div class="episode-view-header">
|
||||||
|
<br><h2 class="network">$show_network</h2>
|
||||||
|
#set $cur_segment = $cur_result['network']
|
||||||
|
#end if
|
||||||
|
#set $cur_ep_airdate = $cur_result['localtime'].date()
|
||||||
|
|
||||||
|
#if $runtime:
|
||||||
|
#set $cur_ep_enddate = $cur_result['localtime'] + datetime.timedelta(minutes = $runtime)
|
||||||
|
#if $cur_ep_enddate < $today:
|
||||||
|
#set $show_div = 'ep_listing listing-overdue'
|
||||||
|
#elif $cur_ep_airdate >= $next_week.date():
|
||||||
|
#set $show_div = 'ep_listing listing-toofar'
|
||||||
|
#elif $cur_ep_enddate >= $today and $cur_ep_airdate < $next_week.date():
|
||||||
|
#if $cur_ep_airdate == $today.date():
|
||||||
|
#set $show_div = 'ep_listing listing-current'
|
||||||
|
#else:
|
||||||
|
#set $show_div = 'ep_listing listing-default'
|
||||||
|
#end if
|
||||||
|
#end if
|
||||||
|
#end if
|
||||||
|
|
||||||
|
#elif 'time' == $sort:
|
||||||
|
|
||||||
|
#set $cur_ep_airdate = $cur_result['localtime'].date()
|
||||||
|
|
||||||
|
#if $cur_segment != $cur_ep_airdate:
|
||||||
|
#if $runtime:
|
||||||
|
#set $cur_ep_enddate = $cur_result['localtime'] + datetime.timedelta(minutes = $runtime)
|
||||||
|
#if $cur_ep_enddate < $today and $cur_ep_airdate != $today.date() and not $missed_header:
|
||||||
|
<br /><h2 class="day">Missed</h2>
|
||||||
|
#set $missed_header = True
|
||||||
|
#elif $cur_ep_airdate >= $next_week.date() and not $too_late_header:
|
||||||
|
<br /><h2 class="day">Later</h2>
|
||||||
|
#set $too_late_header = True
|
||||||
|
#elif $cur_ep_enddate >= $today and $cur_ep_airdate < $next_week.date():
|
||||||
|
#if $cur_ep_airdate == $today.date():
|
||||||
|
<br /><h2 class="day">$sbdatetime.sbdatetime.sbfdate($cur_ep_airdate, '%A').decode($sickbeard.SYS_ENCODING).capitalize() <span style="font-size: 14px; vertical-align: top;">[Today]</span></h2>
|
||||||
|
#set $today_header = True
|
||||||
|
#else:
|
||||||
|
<br /><h2 class="day">$sbdatetime.sbdatetime.sbfdate($cur_ep_airdate, '%A').decode($sickbeard.SYS_ENCODING).capitalize()</h2>
|
||||||
|
#end if
|
||||||
|
#end if
|
||||||
|
#end if
|
||||||
|
#set $cur_segment = $cur_ep_airdate
|
||||||
|
#end if
|
||||||
|
|
||||||
|
#if $cur_ep_airdate == $today.date() and not $today_header:
|
||||||
|
<div class="episode-view-header">
|
||||||
|
<br /><h2 class="day">$sbdatetime.sbdatetime.sbfdate($cur_ep_airdate, '%A').decode($sickbeard.SYS_ENCODING).capitalize() <span style="font-size: 14px; vertical-align: top;">[Today]</span></h2>
|
||||||
|
#set $today_header = True
|
||||||
|
#end if
|
||||||
|
|
||||||
|
#if $runtime:
|
||||||
|
#set $cur_ep_enddate = $cur_result['localtime'] + datetime.timedelta(minutes = $runtime)
|
||||||
|
#if $cur_ep_enddate < $today:
|
||||||
|
#set $show_div = 'ep_listing listing-overdue'
|
||||||
|
#elif $cur_ep_airdate >= $next_week.date():
|
||||||
|
#set $show_div = 'ep_listing listing-toofar'
|
||||||
|
#elif $cur_ep_enddate >= $today and $cur_ep_airdate < $next_week.date():
|
||||||
|
#if $cur_ep_airdate == $today.date():
|
||||||
|
#set $show_div = 'ep_listing listing-current'
|
||||||
|
#else:
|
||||||
|
#set $show_div = 'ep_listing listing-default'
|
||||||
|
#end if
|
||||||
|
#end if
|
||||||
|
#end if
|
||||||
|
|
||||||
|
#elif 'show' == $sort:
|
||||||
|
#set $cur_ep_airdate = $cur_result['localtime'].date()
|
||||||
|
|
||||||
|
#if $runtime:
|
||||||
|
#set $cur_ep_enddate = $cur_result['localtime'] + datetime.timedelta(minutes = $runtime)
|
||||||
|
#if $cur_ep_enddate < $today:
|
||||||
|
#set $show_div = 'ep_listing listing-overdue listingradius'
|
||||||
|
#elif $cur_ep_airdate >= $next_week.date():
|
||||||
|
#set $show_div = 'ep_listing listing-toofar listingradius'
|
||||||
|
#elif $cur_ep_enddate >= $today and $cur_ep_airdate < $next_week.date():
|
||||||
|
#if $cur_ep_airdate == $today.date():
|
||||||
|
#set $show_div = 'ep_listing listing-current listingradius'
|
||||||
|
#else:
|
||||||
|
#set $show_div = 'ep_listing listing-default listingradius'
|
||||||
|
#end if
|
||||||
|
#end if
|
||||||
|
#end if
|
||||||
|
#end if
|
||||||
|
|
||||||
|
<!-- start $cur_result['show_name'] //-->
|
||||||
|
<div class="$show_div" id="listing-${cur_result['showid']}">
|
||||||
|
<div class="tvshowDiv">
|
||||||
|
<table width="100%" border="0" cellpadding="0" cellspacing="0">
|
||||||
|
<tr>
|
||||||
|
<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 'banner' == $layout then 'bannerThumb' else 'posterThumb'#" src="$sbRoot/showPoster/?show=${cur_result['showid']}&which=#if 'poster' == $layout then 'poster_thumb' else $layout#" /></a>
|
||||||
|
</th>
|
||||||
|
|
||||||
|
#if 'banner' == $layout:
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
#end if
|
||||||
|
|
||||||
|
<td class="next_episode">
|
||||||
|
<div class="clearfix">
|
||||||
|
<span class="tvshowTitle">
|
||||||
|
<a href="$sbRoot/home/displayShow?show=${cur_result['showid']}" data-name="$cur_result['data_show_name']">$cur_result['show_name']
|
||||||
|
#if int($cur_result['paused']):
|
||||||
|
<span class="pause">[paused]</span>
|
||||||
|
#end if
|
||||||
|
</a></span>
|
||||||
|
|
||||||
|
<span class="tvshowTitleIcons">
|
||||||
|
#if $cur_result['imdb_id']:
|
||||||
|
<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
|
||||||
|
<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']}&season=$cur_result['season']&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>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<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">
|
||||||
|
|
||||||
|
<span class="title">Airdate: </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 class="clearfix">
|
||||||
|
<span class="title">Quality:</span>
|
||||||
|
#if int($cur_result['quality']) in $qualityPresets:
|
||||||
|
<span class="quality $qualityPresetStrings[int($cur_result['quality'])]">$qualityPresetStrings[int($cur_result['quality'])]</span>
|
||||||
|
#else:
|
||||||
|
<span class="quality Custom">Custom</span>
|
||||||
|
#end if
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="vertical-align: top;">
|
||||||
|
<div>
|
||||||
|
#if $cur_result['description']:
|
||||||
|
<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>
|
||||||
|
#else:
|
||||||
|
<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="" />
|
||||||
|
#end if
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- end $cur_result['show_name'] //-->
|
||||||
|
#end for
|
||||||
|
<!-- end non list view //-->
|
||||||
|
#end if
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#if 'daybyday' == $layout:
|
||||||
|
|
||||||
|
#set $today = datetime.date.today()
|
||||||
|
#set $dates = [$today + datetime.timedelta(days = $i) for $i in range(7)]
|
||||||
|
#set $tbl_day = 0
|
||||||
|
|
||||||
|
<input type="hidden" id="sbRoot" value="$sbRoot" />
|
||||||
|
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
<div class="daybydayWrapper"> <!-- style="width:1600px" -->
|
||||||
|
#for $day in $dates
|
||||||
|
#set $tbl_day += 1
|
||||||
|
|
||||||
|
#set $col_class = ''
|
||||||
|
#if 1 == $tbl_day
|
||||||
|
#set $col_class = 'today'
|
||||||
|
#end if
|
||||||
|
#set $col_class = '%s %s' % ($col_class, ('even', 'odd')[1 == tbl_day % 2])
|
||||||
|
|
||||||
|
<div class="day-of-week $col_class">
|
||||||
|
<div class="day-number">
|
||||||
|
<div class="number">$sbdatetime.sbdatetime.sbfdate($day, ' %d').decode($sickbeard.SYS_ENCODING).replace(' 0', ' ')</div>
|
||||||
|
<div class="day">
|
||||||
|
<span class="visible-lg">$sbdatetime.sbdatetime.sbfdate($day, '%A').decode($sickbeard.SYS_ENCODING).capitalize()</span>
|
||||||
|
<span class="hidden-lg">$sbdatetime.sbdatetime.sbfdate($day, '%a').decode($sickbeard.SYS_ENCODING).capitalize()</span>
|
||||||
|
</div>
|
||||||
|
<div class="month">
|
||||||
|
<span class="visible-lg">$sbdatetime.sbdatetime.sbfdate($day, '%B').decode($sickbeard.SYS_ENCODING).capitalize()</span>
|
||||||
|
<span class="hidden-lg">$sbdatetime.sbdatetime.sbfdate($day, '%b').decode($sickbeard.SYS_ENCODING).capitalize()</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="$sbdatetime.sbdatetime.sbfdate($day, 'day%w')">
|
||||||
|
|
||||||
|
#set $day_has_show = False
|
||||||
|
#for $cur_result in $sql_results:
|
||||||
|
#if int($cur_result['paused']) and not $sickbeard.EPISODE_VIEW_DISPLAY_PAUSED:
|
||||||
|
#continue
|
||||||
|
#end if
|
||||||
|
|
||||||
|
#set $cur_indexer = int($cur_result['indexer'])
|
||||||
|
#set $runtime = $cur_result['runtime']
|
||||||
|
#set $airday = $cur_result['localtime'].date()
|
||||||
|
|
||||||
|
#if $airday == $day:
|
||||||
|
#set $day_has_show = True
|
||||||
|
#set $airtime = $sbdatetime.sbdatetime.sbftime($cur_result['localtime'], markup=True).decode($sickbeard.SYS_ENCODING)
|
||||||
|
#set $img_tag = '<img'
|
||||||
|
#set $plot_class = 'class="img-responsive'
|
||||||
|
#set $title_text = ''
|
||||||
|
#if $cur_result['description']:
|
||||||
|
#set $img_tag += ' id="plot_info_%s_%s_%s"' % (str($cur_result['showid']), str($cur_result['season']), str($cur_result['episode']))
|
||||||
|
#set $plot_class += ' plot-daybyday'
|
||||||
|
#else
|
||||||
|
#set $title_text = $cur_result['show_name']
|
||||||
|
#end if
|
||||||
|
|
||||||
|
<div id="show-$cur_result['showid']" class="daybyday-show" data-name="$cur_result['data_show_name']" data-season="$cur_result['season']" data-episode="$cur_result['episode']" data-network="$cur_result['data_network']" data-time="$time.mktime($cur_result['localtime'].timetuple())">
|
||||||
|
<div class="poster">
|
||||||
|
<a title="${title_text}" href="$sbRoot/home/displayShow?show=${cur_result['showid']}">
|
||||||
|
${img_tag} ${plot_class}" alt="" src="$sbRoot/showPoster/?show=${cur_result['showid']}&which=poster_thumb" /></a>
|
||||||
|
</div>
|
||||||
|
<div class="text">
|
||||||
|
<div class="airtime">
|
||||||
|
<span class="time">${airtime}</span> <span class="network pull-right grey-text">$cur_result['network']</span>
|
||||||
|
</div>
|
||||||
|
<div class="episode" title="$cur_result['name']">
|
||||||
|
<span class="season"><%= '%i' % int(cur_result['season']) %></span>x<span class="number"><%= '%02i' % int(cur_result['episode']) %></span>
|
||||||
|
<span class="name">$cur_result['name']</span>
|
||||||
|
#if int($cur_result['paused']):
|
||||||
|
<span class="pause">[paused]</span>
|
||||||
|
#end if
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div><!-- end show-$cur_result['showid'] //-->
|
||||||
|
|
||||||
|
#end if
|
||||||
|
|
||||||
|
#end for
|
||||||
|
#if not $day_has_show:
|
||||||
|
<div class="daybyday-show">
|
||||||
|
<span class="episode-blank">No shows for this day</span>
|
||||||
|
</div>
|
||||||
|
#end if
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
#end for
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- end calender view //-->
|
||||||
|
#end if
|
||||||
|
|
||||||
|
<div class="clearfix"></div>
|
||||||
|
|
||||||
|
<script type="text/javascript" charset="utf-8">
|
||||||
|
<!--
|
||||||
|
window.setInterval('location.reload(true)', 30*60000); // Refresh every xx minutes
|
||||||
|
//-->
|
||||||
|
</script>
|
||||||
|
|
||||||
|
#include $os.path.join($sickbeard.PROG_DIR, 'gui/slick/interfaces/default/inc_bottom.tmpl')
|
|
@ -11,7 +11,7 @@
|
||||||
|
|
||||||
#set global $sbPath='..'
|
#set global $sbPath='..'
|
||||||
|
|
||||||
#set global $topmenu='comingEpisodes'
|
#set global $topmenu='episodeView'
|
||||||
#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')
|
||||||
|
|
||||||
|
|
|
@ -57,6 +57,7 @@
|
||||||
<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/isotope.pkgd.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/imagesloaded.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>
|
||||||
|
|
||||||
|
@ -149,8 +150,8 @@
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li id="NAVcomingEpisodes">
|
<li id="NAVepisodeView">
|
||||||
<a href="$sbRoot/comingEpisodes/" tabindex="$tab#set $tab += 1#">Coming Episodes</a>
|
<a href="$sbRoot/episodeView/" tabindex="$tab#set $tab += 1#">Episodes</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li id="NAVhistory">
|
<li id="NAVhistory">
|
||||||
|
@ -261,6 +262,6 @@
|
||||||
#except (NameError, NotFound):
|
#except (NameError, NotFound):
|
||||||
#pass
|
#pass
|
||||||
#end try
|
#end try
|
||||||
#set $page_class = ('', ' class="%s"' % '_'.join($items).lower().replace(' ', '-'))[0 < len($items)]
|
#set $page_class = ('', ' class="%s"' % '_'.join($items).lower().replace(' ', '-').replace('_', '-'))[0 < len($items)]
|
||||||
<div id="contentWrapper">
|
<div id="contentWrapper">
|
||||||
<div id="content"$page_class>
|
<div id="content"$page_class>
|
||||||
|
|
7
gui/slick/js/lib/imagesloaded.pkgd.min.js
vendored
Normal file
7
gui/slick/js/lib/imagesloaded.pkgd.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
|
@ -1,5 +1,5 @@
|
||||||
$(function () {
|
$(function () {
|
||||||
$('.plotInfo').each(function () {
|
$('.plotInfo, .plot-daybyday').each(function () {
|
||||||
var match = $(this).attr('id').match(/^plot_info_(\d+)_(\d+)_(\d+)$/);
|
var match = $(this).attr('id').match(/^plot_info_(\d+)_(\d+)_(\d+)$/);
|
||||||
$(this).qtip({
|
$(this).qtip({
|
||||||
content: {
|
content: {
|
||||||
|
|
|
@ -58,7 +58,7 @@ CFG = None
|
||||||
CONFIG_FILE = None
|
CONFIG_FILE = None
|
||||||
|
|
||||||
# This is the version of the config we EXPECT to find
|
# This is the version of the config we EXPECT to find
|
||||||
CONFIG_VERSION = 6
|
CONFIG_VERSION = 7
|
||||||
|
|
||||||
# Default encryption version (0 for None)
|
# Default encryption version (0 for None)
|
||||||
ENCRYPTION_VERSION = 0
|
ENCRYPTION_VERSION = 0
|
||||||
|
@ -419,10 +419,10 @@ GUI_NAME = None
|
||||||
HOME_LAYOUT = None
|
HOME_LAYOUT = None
|
||||||
HISTORY_LAYOUT = None
|
HISTORY_LAYOUT = None
|
||||||
DISPLAY_SHOW_SPECIALS = False
|
DISPLAY_SHOW_SPECIALS = False
|
||||||
COMING_EPS_LAYOUT = None
|
EPISODE_VIEW_LAYOUT = None
|
||||||
COMING_EPS_DISPLAY_PAUSED = False
|
EPISODE_VIEW_SORT = None
|
||||||
COMING_EPS_SORT = None
|
EPISODE_VIEW_DISPLAY_PAUSED = False
|
||||||
COMING_EPS_MISSED_RANGE = None
|
EPISODE_VIEW_MISSED_RANGE = None
|
||||||
FUZZY_DATING = False
|
FUZZY_DATING = False
|
||||||
TRIM_ZERO = False
|
TRIM_ZERO = False
|
||||||
DATE_PRESET = None
|
DATE_PRESET = None
|
||||||
|
@ -499,7 +499,7 @@ def initialize(consoleLogging=True):
|
||||||
USE_EMAIL, EMAIL_HOST, EMAIL_PORT, EMAIL_TLS, EMAIL_USER, EMAIL_PASSWORD, EMAIL_FROM, EMAIL_NOTIFY_ONSNATCH, EMAIL_NOTIFY_ONDOWNLOAD, EMAIL_NOTIFY_ONSUBTITLEDOWNLOAD, EMAIL_LIST, \
|
USE_EMAIL, EMAIL_HOST, EMAIL_PORT, EMAIL_TLS, EMAIL_USER, EMAIL_PASSWORD, EMAIL_FROM, EMAIL_NOTIFY_ONSNATCH, EMAIL_NOTIFY_ONDOWNLOAD, EMAIL_NOTIFY_ONSUBTITLEDOWNLOAD, EMAIL_LIST, \
|
||||||
USE_LISTVIEW, METADATA_XBMC, METADATA_XBMC_12PLUS, METADATA_MEDIABROWSER, METADATA_PS3, metadata_provider_dict, \
|
USE_LISTVIEW, METADATA_XBMC, METADATA_XBMC_12PLUS, METADATA_MEDIABROWSER, METADATA_PS3, metadata_provider_dict, \
|
||||||
NEWZBIN, NEWZBIN_USERNAME, NEWZBIN_PASSWORD, GIT_PATH, MOVE_ASSOCIATED_FILES, POSTPONE_IF_SYNC_FILES, recentSearchScheduler, NFO_RENAME, \
|
NEWZBIN, NEWZBIN_USERNAME, NEWZBIN_PASSWORD, GIT_PATH, MOVE_ASSOCIATED_FILES, POSTPONE_IF_SYNC_FILES, recentSearchScheduler, NFO_RENAME, \
|
||||||
GUI_NAME, HOME_LAYOUT, HISTORY_LAYOUT, DISPLAY_SHOW_SPECIALS, COMING_EPS_LAYOUT, COMING_EPS_SORT, COMING_EPS_DISPLAY_PAUSED, COMING_EPS_MISSED_RANGE, FUZZY_DATING, TRIM_ZERO, DATE_PRESET, TIME_PRESET, TIME_PRESET_W_SECONDS, THEME_NAME, \
|
GUI_NAME, HOME_LAYOUT, HISTORY_LAYOUT, DISPLAY_SHOW_SPECIALS, EPISODE_VIEW_LAYOUT, EPISODE_VIEW_SORT, EPISODE_VIEW_DISPLAY_PAUSED, EPISODE_VIEW_MISSED_RANGE, FUZZY_DATING, TRIM_ZERO, DATE_PRESET, TIME_PRESET, TIME_PRESET_W_SECONDS, THEME_NAME, \
|
||||||
POSTER_SORTBY, POSTER_SORTDIR, \
|
POSTER_SORTBY, POSTER_SORTDIR, \
|
||||||
METADATA_WDTV, METADATA_TIVO, METADATA_MEDE8ER, IGNORE_WORDS, REQUIRE_WORDS, CALENDAR_UNPROTECTED, CREATE_MISSING_SHOW_DIRS, \
|
METADATA_WDTV, METADATA_TIVO, METADATA_MEDE8ER, IGNORE_WORDS, REQUIRE_WORDS, CALENDAR_UNPROTECTED, CREATE_MISSING_SHOW_DIRS, \
|
||||||
ADD_SHOWS_WO_DIR, USE_SUBTITLES, SUBTITLES_LANGUAGES, SUBTITLES_DIR, SUBTITLES_SERVICES_LIST, SUBTITLES_SERVICES_ENABLED, SUBTITLES_HISTORY, SUBTITLES_FINDER_FREQUENCY, subtitlesFinderScheduler, \
|
ADD_SHOWS_WO_DIR, USE_SUBTITLES, SUBTITLES_LANGUAGES, SUBTITLES_DIR, SUBTITLES_SERVICES_LIST, SUBTITLES_SERVICES_ENABLED, SUBTITLES_HISTORY, SUBTITLES_FINDER_FREQUENCY, subtitlesFinderScheduler, \
|
||||||
|
@ -944,10 +944,10 @@ def initialize(consoleLogging=True):
|
||||||
HOME_LAYOUT = check_setting_str(CFG, 'GUI', 'home_layout', 'poster')
|
HOME_LAYOUT = check_setting_str(CFG, 'GUI', 'home_layout', 'poster')
|
||||||
HISTORY_LAYOUT = check_setting_str(CFG, 'GUI', 'history_layout', 'detailed')
|
HISTORY_LAYOUT = check_setting_str(CFG, 'GUI', 'history_layout', 'detailed')
|
||||||
DISPLAY_SHOW_SPECIALS = bool(check_setting_int(CFG, 'GUI', 'display_show_specials', 1))
|
DISPLAY_SHOW_SPECIALS = bool(check_setting_int(CFG, 'GUI', 'display_show_specials', 1))
|
||||||
COMING_EPS_LAYOUT = check_setting_str(CFG, 'GUI', 'coming_eps_layout', 'banner')
|
EPISODE_VIEW_LAYOUT = check_setting_str(CFG, 'GUI', 'episode_view_layout', 'banner')
|
||||||
COMING_EPS_DISPLAY_PAUSED = bool(check_setting_int(CFG, 'GUI', 'coming_eps_display_paused', 0))
|
EPISODE_VIEW_SORT = check_setting_str(CFG, 'GUI', 'episode_view_sort', 'time')
|
||||||
COMING_EPS_SORT = check_setting_str(CFG, 'GUI', 'coming_eps_sort', 'date')
|
EPISODE_VIEW_DISPLAY_PAUSED = bool(check_setting_int(CFG, 'GUI', 'episode_view_display_paused', 0))
|
||||||
COMING_EPS_MISSED_RANGE = check_setting_int(CFG, 'GUI', 'coming_eps_missed_range', 7)
|
EPISODE_VIEW_MISSED_RANGE = check_setting_int(CFG, 'GUI', 'episode_view_missed_range', 7)
|
||||||
FUZZY_DATING = bool(check_setting_int(CFG, 'GUI', 'fuzzy_dating', 0))
|
FUZZY_DATING = bool(check_setting_int(CFG, 'GUI', 'fuzzy_dating', 0))
|
||||||
TRIM_ZERO = bool(check_setting_int(CFG, 'GUI', 'trim_zero', 0))
|
TRIM_ZERO = bool(check_setting_int(CFG, 'GUI', 'trim_zero', 0))
|
||||||
DATE_PRESET = check_setting_str(CFG, 'GUI', 'date_preset', '%x')
|
DATE_PRESET = check_setting_str(CFG, 'GUI', 'date_preset', '%x')
|
||||||
|
@ -1763,10 +1763,10 @@ def save_config():
|
||||||
new_config['GUI']['home_layout'] = HOME_LAYOUT
|
new_config['GUI']['home_layout'] = HOME_LAYOUT
|
||||||
new_config['GUI']['history_layout'] = HISTORY_LAYOUT
|
new_config['GUI']['history_layout'] = HISTORY_LAYOUT
|
||||||
new_config['GUI']['display_show_specials'] = int(DISPLAY_SHOW_SPECIALS)
|
new_config['GUI']['display_show_specials'] = int(DISPLAY_SHOW_SPECIALS)
|
||||||
new_config['GUI']['coming_eps_layout'] = COMING_EPS_LAYOUT
|
new_config['GUI']['episode_view_layout'] = EPISODE_VIEW_LAYOUT
|
||||||
new_config['GUI']['coming_eps_display_paused'] = int(COMING_EPS_DISPLAY_PAUSED)
|
new_config['GUI']['episode_view_display_paused'] = int(EPISODE_VIEW_DISPLAY_PAUSED)
|
||||||
new_config['GUI']['coming_eps_sort'] = COMING_EPS_SORT
|
new_config['GUI']['episode_view_sort'] = EPISODE_VIEW_SORT
|
||||||
new_config['GUI']['coming_eps_missed_range'] = int(COMING_EPS_MISSED_RANGE)
|
new_config['GUI']['episode_view_missed_range'] = int(EPISODE_VIEW_MISSED_RANGE)
|
||||||
new_config['GUI']['fuzzy_dating'] = int(FUZZY_DATING)
|
new_config['GUI']['fuzzy_dating'] = int(FUZZY_DATING)
|
||||||
new_config['GUI']['trim_zero'] = int(TRIM_ZERO)
|
new_config['GUI']['trim_zero'] = int(TRIM_ZERO)
|
||||||
new_config['GUI']['date_preset'] = DATE_PRESET
|
new_config['GUI']['date_preset'] = DATE_PRESET
|
||||||
|
|
|
@ -448,8 +448,9 @@ class ConfigMigrator():
|
||||||
3: 'Rename omgwtfnzb variables',
|
3: 'Rename omgwtfnzb variables',
|
||||||
4: 'Add newznab catIDs',
|
4: 'Add newznab catIDs',
|
||||||
5: 'Metadata update',
|
5: 'Metadata update',
|
||||||
6: 'Rename daily search to recent search'
|
6: 'Rename daily search to recent search',
|
||||||
}
|
7: 'Rename coming episodes to episode view'
|
||||||
|
}
|
||||||
|
|
||||||
def migrate_config(self):
|
def migrate_config(self):
|
||||||
"""
|
"""
|
||||||
|
@ -729,4 +730,13 @@ class ConfigMigrator():
|
||||||
for curProvider in providers.sortedProviderList():
|
for curProvider in providers.sortedProviderList():
|
||||||
if hasattr(curProvider, 'enable_recentsearch'):
|
if hasattr(curProvider, 'enable_recentsearch'):
|
||||||
curProvider.enable_recentsearch = bool(check_setting_int(self.config_obj, curProvider.getID().upper(),
|
curProvider.enable_recentsearch = bool(check_setting_int(self.config_obj, curProvider.getID().upper(),
|
||||||
curProvider.getID() + '_enable_dailysearch', 1))
|
curProvider.getID() + '_enable_dailysearch', 1))
|
||||||
|
|
||||||
|
def _migrate_v7(self):
|
||||||
|
|
||||||
|
sickbeard.EPISODE_VIEW_LAYOUT = check_setting_str(self.config_obj, 'GUI', 'coming_eps_layout', 'banner')
|
||||||
|
sickbeard.EPISODE_VIEW_SORT = check_setting_str(self.config_obj, 'GUI', 'coming_eps_sort', 'time')
|
||||||
|
if 'date' == sickbeard.EPISODE_VIEW_SORT:
|
||||||
|
sickbeard.EPISODE_VIEW_SORT = 'time'
|
||||||
|
sickbeard.EPISODE_VIEW_DISPLAY_PAUSED = bool(check_setting_int(self.config_obj, 'GUI', 'coming_eps_display_paused', 0))
|
||||||
|
sickbeard.EPISODE_VIEW_MISSED_RANGE = check_setting_int(self.config_obj, 'GUI', 'coming_eps_missed_range', 7)
|
||||||
|
|
|
@ -711,7 +711,7 @@ class CMD_ComingEpisodes(ApiCall):
|
||||||
self.sort, args = self.check_params(args, kwargs, "sort", "date", False, "string", ["date", "show", "network"])
|
self.sort, args = self.check_params(args, kwargs, "sort", "date", False, "string", ["date", "show", "network"])
|
||||||
self.type, args = self.check_params(args, kwargs, "type", "today|missed|soon|later", False, "list",
|
self.type, args = self.check_params(args, kwargs, "type", "today|missed|soon|later", False, "list",
|
||||||
["missed", "later", "today", "soon"])
|
["missed", "later", "today", "soon"])
|
||||||
self.paused, args = self.check_params(args, kwargs, "paused", sickbeard.COMING_EPS_DISPLAY_PAUSED, False, "int",
|
self.paused, args = self.check_params(args, kwargs, "paused", sickbeard.EPISODE_VIEW_DISPLAY_PAUSED, False, "int",
|
||||||
[0, 1])
|
[0, 1])
|
||||||
# super, missing, help
|
# super, missing, help
|
||||||
ApiCall.__init__(self, handler, args, kwargs)
|
ApiCall.__init__(self, handler, args, kwargs)
|
||||||
|
@ -725,7 +725,7 @@ class CMD_ComingEpisodes(ApiCall):
|
||||||
tomorrow = (datetime.date.today() + datetime.timedelta(days=1)).toordinal()
|
tomorrow = (datetime.date.today() + datetime.timedelta(days=1)).toordinal()
|
||||||
next_week_dt = (datetime.date.today() + datetime.timedelta(days=7))
|
next_week_dt = (datetime.date.today() + datetime.timedelta(days=7))
|
||||||
next_week = (next_week_dt + datetime.timedelta(days=1)).toordinal()
|
next_week = (next_week_dt + datetime.timedelta(days=1)).toordinal()
|
||||||
recently = (yesterday_dt - datetime.timedelta(days=sickbeard.COMING_EPS_MISSED_RANGE)).toordinal()
|
recently = (yesterday_dt - datetime.timedelta(days=sickbeard.EPISODE_VIEW_MISSED_RANGE)).toordinal()
|
||||||
|
|
||||||
done_show_list = []
|
done_show_list = []
|
||||||
qualList = Quality.DOWNLOADED + Quality.SNATCHED + [ARCHIVED, IGNORED]
|
qualList = Quality.DOWNLOADED + Quality.SNATCHED + [ARCHIVED, IGNORED]
|
||||||
|
@ -758,31 +758,27 @@ class CMD_ComingEpisodes(ApiCall):
|
||||||
# multi dimension sort
|
# multi dimension sort
|
||||||
sorts = {
|
sorts = {
|
||||||
'date': (lambda a, b: cmp(
|
'date': (lambda a, b: cmp(
|
||||||
(a['parsed_datetime'],
|
(a['parsed_datetime'], a['data_show_name'], a['season'], a['episode']),
|
||||||
(a['show_name'], remove_article(a['show_name']))[not sickbeard.SORT_ARTICLE],
|
(b['parsed_datetime'], b['data_show_name'], b['season'], b['episode']))),
|
||||||
a['season'], a['episode']),
|
|
||||||
(b['parsed_datetime'],
|
|
||||||
(b['show_name'], remove_article(b['show_name']))[not sickbeard.SORT_ARTICLE],
|
|
||||||
b['season'], b['episode']))),
|
|
||||||
'show': (lambda a, b: cmp(
|
|
||||||
((a['show_name'], remove_article(a['show_name']))[not sickbeard.SORT_ARTICLE],
|
|
||||||
a['parsed_datetime'], a['season'], a['episode']),
|
|
||||||
((b['show_name'], remove_article(b['show_name']))[not sickbeard.SORT_ARTICLE],
|
|
||||||
b['parsed_datetime'], b['season'], b['episode']))),
|
|
||||||
'network': (lambda a, b: cmp(
|
'network': (lambda a, b: cmp(
|
||||||
(a['network'], a['parsed_datetime'],
|
(a['data_network'], a['parsed_datetime'], a['data_show_name'], a['season'], a['episode']),
|
||||||
(a['show_name'], remove_article(a['show_name']))[not sickbeard.SORT_ARTICLE],
|
(b['data_network'], b['parsed_datetime'], b['data_show_name'], b['season'], b['episode']))),
|
||||||
a['season'], a['episode']),
|
'show': (lambda a, b: cmp(
|
||||||
(b['network'], b['parsed_datetime'],
|
(a['data_show_name'], a['parsed_datetime'], a['season'], a['episode']),
|
||||||
(b['show_name'], remove_article(b['show_name']))[not sickbeard.SORT_ARTICLE],
|
(b['data_show_name'], b['parsed_datetime'], b['season'], b['episode'])))
|
||||||
b['season'], b['episode'])))
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
def value_maybe_article(value=''):
|
||||||
|
return (remove_article(value.lower()), value.lower())[sickbeard.SORT_ARTICLE]
|
||||||
|
|
||||||
# add parsed_datetime to the dict
|
# add parsed_datetime to the dict
|
||||||
for index, item in enumerate(sql_results):
|
for index, item in enumerate(sql_results):
|
||||||
sql_results[index]['parsed_datetime'] = network_timezones.parse_date_time(item['airdate'], item['airs'], item['network'])
|
sql_results[index]['parsed_datetime'] = network_timezones.parse_date_time(item['airdate'], item['airs'], item['network'])
|
||||||
|
sql_results[index]['data_show_name'] = value_maybe_article(item['show_name'])
|
||||||
|
sql_results[index]['data_network'] = value_maybe_article(item['network'])
|
||||||
|
|
||||||
sql_results.sort(sorts[self.sort])
|
sql_results.sort(sorts[self.sort])
|
||||||
|
|
||||||
finalEpResults = {}
|
finalEpResults = {}
|
||||||
|
|
||||||
# add all requested types or all
|
# add all requested types or all
|
||||||
|
@ -1507,7 +1503,7 @@ class CMD_SickBeardGetDefaults(ApiCall):
|
||||||
|
|
||||||
data = {"status": statusStrings[sickbeard.STATUS_DEFAULT].lower(),
|
data = {"status": statusStrings[sickbeard.STATUS_DEFAULT].lower(),
|
||||||
"flatten_folders": int(sickbeard.FLATTEN_FOLDERS_DEFAULT), "initial": anyQualities,
|
"flatten_folders": int(sickbeard.FLATTEN_FOLDERS_DEFAULT), "initial": anyQualities,
|
||||||
"archive": bestQualities, "future_show_paused": int(sickbeard.COMING_EPS_DISPLAY_PAUSED)}
|
"archive": bestQualities, "future_show_paused": int(sickbeard.EPISODE_VIEW_DISPLAY_PAUSED)}
|
||||||
return _responds(RESULT_SUCCESS, data)
|
return _responds(RESULT_SUCCESS, data)
|
||||||
|
|
||||||
|
|
||||||
|
@ -1756,7 +1752,7 @@ class CMD_SickBeardSetDefaults(ApiCall):
|
||||||
sickbeard.FLATTEN_FOLDERS_DEFAULT = int(self.flatten_folders)
|
sickbeard.FLATTEN_FOLDERS_DEFAULT = int(self.flatten_folders)
|
||||||
|
|
||||||
if self.future_show_paused != None:
|
if self.future_show_paused != None:
|
||||||
sickbeard.COMING_EPS_DISPLAY_PAUSED = int(self.future_show_paused)
|
sickbeard.EPISODE_VIEW_DISPLAY_PAUSED = int(self.future_show_paused)
|
||||||
|
|
||||||
return _responds(RESULT_SUCCESS, msg="Saved defaults")
|
return _responds(RESULT_SUCCESS, msg="Saved defaults")
|
||||||
|
|
||||||
|
|
|
@ -67,7 +67,7 @@ from lib.dateutil import tz
|
||||||
from lib.unrar2 import RarFile
|
from lib.unrar2 import RarFile
|
||||||
|
|
||||||
from lib import subliminal
|
from lib import subliminal
|
||||||
from trakt import TraktCall
|
from lib.trakt import TraktCall
|
||||||
|
|
||||||
try:
|
try:
|
||||||
import json
|
import json
|
||||||
|
@ -300,7 +300,7 @@ class MainHandler(RequestHandler):
|
||||||
|
|
||||||
def setPosterSortBy(self, sort):
|
def setPosterSortBy(self, sort):
|
||||||
|
|
||||||
if sort not in ('name', 'date', 'network', 'progress'):
|
if sort not in ('name', 'time', 'network', 'progress'):
|
||||||
sort = 'name'
|
sort = 'name'
|
||||||
|
|
||||||
sickbeard.POSTER_SORTBY = sort
|
sickbeard.POSTER_SORTBY = sort
|
||||||
|
@ -326,36 +326,40 @@ class MainHandler(RequestHandler):
|
||||||
|
|
||||||
redirect("/home/displayShow?show=" + show)
|
redirect("/home/displayShow?show=" + show)
|
||||||
|
|
||||||
def setComingEpsLayout(self, layout):
|
def setEpisodeViewLayout(self, layout):
|
||||||
if layout not in ('poster', 'banner', 'list', 'calendar'):
|
if layout not in ('poster', 'banner', 'list', 'daybyday'):
|
||||||
layout = 'banner'
|
layout = 'banner'
|
||||||
|
|
||||||
if layout == 'calendar':
|
if 'daybyday' == layout:
|
||||||
sickbeard.COMING_EPS_SORT = 'date'
|
sickbeard.EPISODE_VIEW_SORT = 'time'
|
||||||
|
|
||||||
sickbeard.COMING_EPS_LAYOUT = layout
|
sickbeard.EPISODE_VIEW_LAYOUT = layout
|
||||||
|
|
||||||
redirect("/comingEpisodes/")
|
sickbeard.save_config()
|
||||||
|
|
||||||
def toggleComingEpsDisplayPaused(self, *args, **kwargs):
|
redirect("/episodeView/")
|
||||||
|
|
||||||
sickbeard.COMING_EPS_DISPLAY_PAUSED = not sickbeard.COMING_EPS_DISPLAY_PAUSED
|
def toggleEpisodeViewDisplayPaused(self, *args, **kwargs):
|
||||||
|
|
||||||
redirect("/comingEpisodes/")
|
sickbeard.EPISODE_VIEW_DISPLAY_PAUSED = not sickbeard.EPISODE_VIEW_DISPLAY_PAUSED
|
||||||
|
|
||||||
def setComingEpsSort(self, sort):
|
sickbeard.save_config()
|
||||||
if sort not in ('date', 'network', 'show'):
|
|
||||||
sort = 'date'
|
|
||||||
|
|
||||||
if sickbeard.COMING_EPS_LAYOUT == 'calendar':
|
redirect("/episodeView/")
|
||||||
sort = 'date'
|
|
||||||
|
|
||||||
sickbeard.COMING_EPS_SORT = sort
|
def setEpisodeViewSort(self, sort, redir=1):
|
||||||
|
if sort not in ('time', 'network', 'show'):
|
||||||
|
sort = 'time'
|
||||||
|
|
||||||
redirect("/comingEpisodes/")
|
sickbeard.EPISODE_VIEW_SORT = sort
|
||||||
|
|
||||||
def comingEpisodes(self, layout="None"):
|
sickbeard.save_config()
|
||||||
""" display the coming episodes """
|
|
||||||
|
if int(redir):
|
||||||
|
redirect("/episodeView/")
|
||||||
|
|
||||||
|
def episodeView(self, layout="None"):
|
||||||
|
""" display the episodes """
|
||||||
today_dt = datetime.date.today()
|
today_dt = datetime.date.today()
|
||||||
#today = today_dt.toordinal()
|
#today = today_dt.toordinal()
|
||||||
yesterday_dt = today_dt - datetime.timedelta(days=1)
|
yesterday_dt = today_dt - datetime.timedelta(days=1)
|
||||||
|
@ -363,8 +367,8 @@ class MainHandler(RequestHandler):
|
||||||
tomorrow = (datetime.date.today() + datetime.timedelta(days=1)).toordinal()
|
tomorrow = (datetime.date.today() + datetime.timedelta(days=1)).toordinal()
|
||||||
next_week_dt = (datetime.date.today() + datetime.timedelta(days=7))
|
next_week_dt = (datetime.date.today() + datetime.timedelta(days=7))
|
||||||
next_week = (next_week_dt + datetime.timedelta(days=1)).toordinal()
|
next_week = (next_week_dt + datetime.timedelta(days=1)).toordinal()
|
||||||
if not (layout and layout in ('calendar')) and not (sickbeard.COMING_EPS_LAYOUT and sickbeard.COMING_EPS_LAYOUT in ('calendar')):
|
if not (layout and layout in 'daybyday') and not (sickbeard.EPISODE_VIEW_LAYOUT and sickbeard.EPISODE_VIEW_LAYOUT in 'daybyday'):
|
||||||
recently = (yesterday_dt - datetime.timedelta(days=sickbeard.COMING_EPS_MISSED_RANGE)).toordinal()
|
recently = (yesterday_dt - datetime.timedelta(days=sickbeard.EPISODE_VIEW_MISSED_RANGE)).toordinal()
|
||||||
else:
|
else:
|
||||||
recently = yesterday
|
recently = yesterday
|
||||||
|
|
||||||
|
@ -379,7 +383,7 @@ class MainHandler(RequestHandler):
|
||||||
for cur_result in sql_results:
|
for cur_result in sql_results:
|
||||||
done_show_list.append(int(cur_result["showid"]))
|
done_show_list.append(int(cur_result["showid"]))
|
||||||
|
|
||||||
if not (layout and layout in ('calendar')) and not (sickbeard.COMING_EPS_LAYOUT and sickbeard.COMING_EPS_LAYOUT in ('calendar')):
|
if not (layout and layout in 'daybyday') and not (sickbeard.EPISODE_VIEW_LAYOUT and sickbeard.EPISODE_VIEW_LAYOUT in 'daybyday'):
|
||||||
more_sql_results = myDB.select(
|
more_sql_results = myDB.select(
|
||||||
"SELECT *, tv_shows.status as show_status FROM tv_episodes outer_eps, tv_shows WHERE season != 0 AND showid NOT IN (" + ','.join(
|
"SELECT *, tv_shows.status as show_status FROM tv_episodes outer_eps, tv_shows WHERE season != 0 AND showid NOT IN (" + ','.join(
|
||||||
['?'] * len(
|
['?'] * len(
|
||||||
|
@ -395,49 +399,44 @@ class MainHandler(RequestHandler):
|
||||||
|
|
||||||
sql_results = list(set(sql_results))
|
sql_results = list(set(sql_results))
|
||||||
|
|
||||||
# multi dimension sort
|
|
||||||
sorts = {
|
|
||||||
'date': (lambda a, b: cmp(
|
|
||||||
(a['localtime'],
|
|
||||||
(a['show_name'], remove_article(a['show_name']))[not sickbeard.SORT_ARTICLE],
|
|
||||||
a['season'], a['episode']),
|
|
||||||
(b['localtime'],
|
|
||||||
(b['show_name'], remove_article(b['show_name']))[not sickbeard.SORT_ARTICLE],
|
|
||||||
b['season'], b['episode']))),
|
|
||||||
'show': (lambda a, b: cmp(
|
|
||||||
((a['show_name'], remove_article(a['show_name']))[not sickbeard.SORT_ARTICLE],
|
|
||||||
a['localtime'], a['season'], a['episode']),
|
|
||||||
((b['show_name'], remove_article(b['show_name']))[not sickbeard.SORT_ARTICLE],
|
|
||||||
b['localtime'], b['season'], b['episode']))),
|
|
||||||
'network': (lambda a, b: cmp(
|
|
||||||
(a['network'], a['localtime'],
|
|
||||||
(a['show_name'], remove_article(a['show_name']))[not sickbeard.SORT_ARTICLE],
|
|
||||||
a['season'], a['episode']),
|
|
||||||
(b['network'], b['localtime'],
|
|
||||||
(b['show_name'], remove_article(b['show_name']))[not sickbeard.SORT_ARTICLE],
|
|
||||||
b['season'], b['episode'])))
|
|
||||||
}
|
|
||||||
|
|
||||||
# make a dict out of the sql results
|
# make a dict out of the sql results
|
||||||
sql_results = [dict(row) for row in sql_results]
|
sql_results = [dict(row) for row in sql_results]
|
||||||
|
|
||||||
|
# multi dimension sort
|
||||||
|
sorts = {
|
||||||
|
'network': (lambda a, b: cmp(
|
||||||
|
(a['data_network'], a['localtime'], a['data_show_name'], a['season'], a['episode']),
|
||||||
|
(b['data_network'], b['localtime'], b['data_show_name'], b['season'], b['episode']))),
|
||||||
|
'show': (lambda a, b: cmp(
|
||||||
|
(a['data_show_name'], a['localtime'], a['season'], a['episode']),
|
||||||
|
(b['data_show_name'], b['localtime'], b['season'], b['episode']))),
|
||||||
|
'time': (lambda a, b: cmp(
|
||||||
|
(a['localtime'], a['data_show_name'], a['season'], a['episode']),
|
||||||
|
(b['localtime'], b['data_show_name'], b['season'], b['episode'])))
|
||||||
|
}
|
||||||
|
|
||||||
|
def value_maybe_article(value=''):
|
||||||
|
return (remove_article(value.lower()), value.lower())[sickbeard.SORT_ARTICLE]
|
||||||
|
|
||||||
# add localtime to the dict
|
# add localtime to the dict
|
||||||
for index, item in enumerate(sql_results):
|
for index, item in enumerate(sql_results):
|
||||||
sql_results[index]['localtime'] = sbdatetime.sbdatetime.convert_to_setting(network_timezones.parse_date_time(item['airdate'],
|
sql_results[index]['localtime'] = sbdatetime.sbdatetime.convert_to_setting(network_timezones.parse_date_time(item['airdate'],
|
||||||
item['airs'], item['network']))
|
item['airs'], item['network']))
|
||||||
|
sql_results[index]['data_show_name'] = value_maybe_article(item['show_name'])
|
||||||
|
sql_results[index]['data_network'] = value_maybe_article(item['network'])
|
||||||
|
|
||||||
sql_results.sort(sorts[sickbeard.COMING_EPS_SORT])
|
sql_results.sort(sorts[sickbeard.EPISODE_VIEW_SORT])
|
||||||
|
|
||||||
t = PageTemplate(headers=self.request.headers, file="comingEpisodes.tmpl")
|
t = PageTemplate(headers=self.request.headers, file="episodeView.tmpl")
|
||||||
t.next_week = datetime.datetime.combine(next_week_dt, datetime.time(tzinfo=network_timezones.sb_timezone))
|
t.next_week = datetime.datetime.combine(next_week_dt, datetime.time(tzinfo=network_timezones.sb_timezone))
|
||||||
t.today = datetime.datetime.now(network_timezones.sb_timezone)
|
t.today = datetime.datetime.now(network_timezones.sb_timezone)
|
||||||
t.sql_results = sql_results
|
t.sql_results = sql_results
|
||||||
|
|
||||||
# Allow local overriding of layout parameter
|
# Allow local overriding of layout parameter
|
||||||
if layout and layout in ('poster', 'banner', 'list','calendar'):
|
if layout and layout in ('banner', 'daybyday', 'list', 'poster'):
|
||||||
t.layout = layout
|
t.layout = layout
|
||||||
else:
|
else:
|
||||||
t.layout = sickbeard.COMING_EPS_LAYOUT
|
t.layout = sickbeard.EPISODE_VIEW_LAYOUT
|
||||||
|
|
||||||
return _munge(t)
|
return _munge(t)
|
||||||
|
|
||||||
|
@ -549,7 +548,7 @@ class PageTemplate(Template):
|
||||||
self.sbPID = str(sickbeard.PID)
|
self.sbPID = str(sickbeard.PID)
|
||||||
self.menu = [
|
self.menu = [
|
||||||
{'title': 'Home', 'key': 'home'},
|
{'title': 'Home', 'key': 'home'},
|
||||||
{'title': 'Coming Episodes', 'key': 'comingEpisodes'},
|
{'title': 'Episodes', 'key': 'episodeView'},
|
||||||
{'title': 'History', 'key': 'history'},
|
{'title': 'History', 'key': 'history'},
|
||||||
{'title': 'Manage', 'key': 'manage'},
|
{'title': 'Manage', 'key': 'manage'},
|
||||||
{'title': 'Config', 'key': 'config'},
|
{'title': 'Config', 'key': 'config'},
|
||||||
|
|
Loading…
Reference in a new issue