diff --git a/CHANGES.md b/CHANGES.md
index 46b48b85..9cecde1b 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -4,6 +4,9 @@
* Change improve media process to parse anime format 'Show Name 123 - 001 - Ep 1 name'
* Add free space stat (if obtainable) of parent folder(s) to footer
* Add option "Display disk free" to general config/interface page (default enabled)
+* Add a provider error table to page Manage/Media Search
+* Add failure handling, skip provider for x hour(s) depending on count of failures
+* Add detection of Too Many Requests (Supporting providers UC and BTN)
[develop changelog]
diff --git a/gui/slick/css/dark.css b/gui/slick/css/dark.css
index 0f7d7eed..d3304100 100644
--- a/gui/slick/css/dark.css
+++ b/gui/slick/css/dark.css
@@ -762,6 +762,60 @@ a.whitelink{
}
+/* TABLE BACKGROUND color */
+.provider-failures.hover-highlight td:before,
+.provider-failures.focus-highlight td:before{
+ background:#222
+}
+
+/* ODD ZEBRA STRIPE color (needs zebra widget) */
+.provider-failures.hover-highlight .odd td:before,
+.provider-failures.hover-highlight .odd th:before,
+.provider-failures.focus-highlight .odd td:before,
+.provider-failures.focus-highlight .odd th:before{
+ background:#333
+}
+/* EVEN ZEBRA STRIPE color (needs zebra widget) */
+.provider-failures.hover-highlight .even td:before,
+.provider-failures.hover-highlight .even th:before,
+.provider-failures.focus-highlight .even td:before,
+.provider-failures.focus-highlight .even th:before{
+ background-color:#2e2e2e
+}
+
+/* HOVER ROW highlight colors */
+.provider-failures.hover-highlight tbody > tr:hover > td, /* override tablesorter theme row hover */
+.provider-failures.hover-highlight tbody > tr.odd:hover > td,
+.provider-failures.hover-highlight tbody > tr.even:hover > td{
+ background-color:#282828
+}
+/* HOVER COLUMN highlight colors */
+.provider-failures.hover-highlight tbody tr th:hover::after,
+.provider-failures.hover-highlight tbody tr td:hover::after{
+ background-color:#282828
+}
+
+/* FOCUS ROW highlight color (touch devices) */
+.provider-failures.focus-highlight td:focus::before,
+.provider-failures.focus-highlight th:focus::before{
+ background-color:#181818
+}
+/* FOCUS COLUMN highlight color (touch devices) */
+.provider-failures.focus-highlight td:focus::after,
+.provider-failures.focus-highlight th:focus::after{
+ background-color:#181818
+}
+/* FOCUS CELL highlight color */
+.provider-failures.focus-highlight th:focus,
+.provider-failures.focus-highlight td:focus,
+.provider-failures.focus-highlight .odd th:focus,
+.provider-failures.focus-highlight .odd td:focus,
+.provider-failures.focus-highlight .even th:focus,
+.provider-failures.focus-highlight .even td:focus{
+ background-color:#181818;
+ color:#ddd
+}
+
/* =======================================================================
404.tmpl
========================================================================== */
diff --git a/gui/slick/css/light.css b/gui/slick/css/light.css
index f060f85f..da5e8700 100644
--- a/gui/slick/css/light.css
+++ b/gui/slick/css/light.css
@@ -742,6 +742,60 @@ a.whitelink{
color:#000
}
+/* TABLE BACKGROUND color */
+.provider-failures.hover-highlight td:before,
+.provider-failures.focus-highlight td:before{
+ background:#fff
+}
+
+/* ODD ZEBRA STRIPE color (needs zebra widget) */
+.provider-failures.hover-highlight .odd th:before,
+.provider-failures.hover-highlight .odd td:before,
+.provider-failures.focus-highlight .odd th:before,
+.provider-failures.focus-highlight .odd td:before{
+ background:#f5f1e4
+}
+/* EVEN ZEBRA STRIPE color (needs zebra widget) */
+.provider-failures.hover-highlight .even th:before,
+.provider-failures.hover-highlight .even td:before,
+.provider-failures.focus-highlight .even th:before,
+.provider-failures.focus-highlight .even td:before{
+ background-color:#dfdacf;
+}
+
+/* HOVER ROW highlight colors */
+.provider-failures.hover-highlight tbody > tr:hover > td, /* override tablesorter theme row hover */
+.provider-failures.hover-highlight tbody > tr.odd:hover > td,
+.provider-failures.hover-highlight tbody > tr.even:hover > td{
+ background-color:#f4f3c2
+}
+/* HOVER COLUMN highlight colors */
+.provider-failures.hover-highlight tbody tr th:hover::after,
+.provider-failures.hover-highlight tbody tr td:hover::after{
+ background-color:#f4f3c2
+}
+
+/* FOCUS ROW highlight color (touch devices) */
+.provider-failures.focus-highlight th:focus::before,
+.provider-failures.focus-highlight td:focus::before{
+ background-color:#dfdead
+}
+/* FOCUS COLUMN highlight color (touch devices) */
+.provider-failures.focus-highlight th:focus::after,
+.provider-failures.focus-highlight td:focus::after{
+ background-color:#dfdead
+}
+/* FOCUS CELL highlight color */
+.provider-failures.focus-highlight th:focus,
+.provider-failures.focus-highlight td:focus,
+.provider-failures.focus-highlight .odd th:focus,
+.provider-failures.focus-highlight .odd td:focus,
+.provider-failures.focus-highlight .even th:focus,
+.provider-failures.focus-highlight .even td:focus{
+ background-color:#dfdead;
+ color:#222
+}
+
/* =======================================================================
404.tmpl
========================================================================== */
@@ -1381,8 +1435,8 @@ tablesorter.css
}
thead.tablesorter-stickyHeader{
- border-top:2px solid #fff;
- border-bottom:2px solid #fff
+ border-top:2px solid #ddd;
+ border-bottom:2px solid #ddd
}
/* Zebra Widget - row alternating colors */
@@ -1404,7 +1458,7 @@ thead.tablesorter-stickyHeader{
}
.tablesorter tfoot tr{
- color:#fff;
+ color:#ddd;
text-align:center;
text-shadow:-1px -1px 0 rgba(0, 0, 0, 0.3);
background-color:#333;
diff --git a/gui/slick/css/style.css b/gui/slick/css/style.css
index c970884d..0ab227d7 100644
--- a/gui/slick/css/style.css
+++ b/gui/slick/css/style.css
@@ -3191,6 +3191,85 @@ input.get_less_eps{
display:none
}
+#media-search .section{
+ padding-bottom:10px
+}
+#media-search .btn{
+ margin:0 6px 0 0;
+ min-width:70px
+}
+#media-search .btn.shows-more,
+#media-search .btn.shows-less{
+ margin:6px 6px 6px 0;
+}
+#media-search .btn.provider-retry{
+ margin:6px 0 6px 4px;
+}
+.tablesorter.provider-failures{width:auto;clear:both;margin-bottom:10px}
+.tablesorter.provider-failures > tbody > tr.tablesorter-childRow td{display:none}
+.tablesorter.provider-failures.tablesorter > tbody > tr{background-color:transparent}
+
+.provider-failures.hover-highlight th:hover::after,
+.provider-failures.hover-highlight td:hover::after,
+.provider-failures.focus-highlight th:focus::after,
+.provider-failures.focus-highlight td:focus::after{
+ content:'';
+ position:absolute;
+ width:100%;
+ height:999em;
+ left:0;
+ top:-555em;
+ z-index:-1
+}
+.provider-failures.focus-highlight th:focus::before,
+.provider-failures.focus-highlight td:focus::before{
+ content:'';
+ position:absolute;
+ width:999em;
+ height:100%;
+ left:-555em;
+ top:0;
+ z-index:-2
+}
+/* required styles */
+.provider-failures.hover-highlight,
+.provider-failures.focus-highlight{
+ overflow:hidden
+}
+.provider-failures.hover-highlight th,
+.provider-failures.hover-highlight td,
+.provider-failures.focus-highlight th,
+.provider-failures.focus-highlight td{
+ position:relative;
+ outline:0
+}
+/* override the tablesorter theme styling */
+.provider-failures.hover-highlight,
+.provider-failures.hover-highlight tbody > tr > td,
+.provider-failures.focus-highlight,
+.provider-failures.focus-highlight tbody > tr > td,
+/* override zebra styling */
+.provider-failures.hover-highlight tbody tr.even > th,
+.provider-failures.hover-highlight tbody tr.even > td,
+.provider-failures.hover-highlight tbody tr.odd > th,
+.provider-failures.hover-highlight tbody tr.odd > td,
+.provider-failures.focus-highlight tbody tr.even > th,
+.provider-failures.focus-highlight tbody tr.even > td,
+.provider-failures.focus-highlight tbody tr.odd > th,
+.provider-failures.focus-highlight tbody tr.odd > td{
+ background:transparent
+}
+/* table background positioned under the highlight */
+.provider-failures.hover-highlight td:before,
+.provider-failures.focus-highlight td:before{
+ content:'';
+ position:absolute;
+ width:100%;
+ height:100%;
+ left:0;
+ top:0;
+ z-index:-3
+}
/* =======================================================================
404.tmpl
========================================================================== */
@@ -4265,11 +4344,9 @@ tablesorter.css
#display-show .tablesorter{
width:100%;
margin-right:auto;
- margin-left:auto;
- color:#000;
+ margin-left:auto
/* text-align:left;*/
- background-color:#ddd/*;
- border-spacing:0*/
+/* border-spacing:0*/
}
#display-show .tablesorter{
@@ -4317,20 +4394,6 @@ tablesorter.css
cursor:default
}
-thead.tablesorter-stickyHeader{
- border-top:2px solid #ddd;
- border-bottom:2px solid #ddd
-}
-
-/* Zebra Widget - row alternating colors */
-.tablesorter tr.odd, .sickbeardTable tr.odd{
- background-color:#f5f1e4
-}
-
-.tablesorter tr.even, .sickbeardTable tr.even{
- background-color:#dfdacf
-}
-
/* filter widget */
.tablesorter .filtered{
display:none
@@ -4346,9 +4409,7 @@ thead.tablesorter-stickyHeader{
.tablesorter tr.tablesorter-filter-row,
.tablesorter tr.tablesorter-filter-row td{
- text-align:center;
- background:#eee;
- border-bottom:1px solid #ddd
+ text-align:center
}
/* optional disabled input styling */
@@ -4362,10 +4423,7 @@ thead.tablesorter-stickyHeader{
}*/
.tablesorter tfoot tr{
- color:#ddd;
text-align:center;
- text-shadow:-1px -1px 0 rgba(0, 0, 0, 0.3);
- background-color:#333;
border-collapse:collapse
}
diff --git a/gui/slick/interfaces/default/inc_bottom.tmpl b/gui/slick/interfaces/default/inc_bottom.tmpl
index dffd3328..1f366b6a 100644
--- a/gui/slick/interfaces/default/inc_bottom.tmpl
+++ b/gui/slick/interfaces/default/inc_bottom.tmpl
@@ -65,11 +65,7 @@ except AttributeError:
diskfree, min_output = df()
if min_output:
avail = ', '.join(['%s
free space $avail
#else
period of 1hr | +server/timeout | +network | +no data | +other | + #if $prov['has_limit'] +hit limit | + #end if +||
---|---|---|---|---|---|---|---|
$sbdatetime.sbdatetime.sbfdate($fail['date_time']) | + #else +$sbdatetime.sbdatetime.sbftime($fail['date_time'], markup=True) | + #end if + #else +$sbdatetime.sbdatetime.sbfdatetime($fail['date_time'], markup=True) | + #end if + #set $blank = '-' + #set $title=None + #if $fail['http']['count'] + #set $title=$fail['http']['code'] + #end if +#if $fail['http']['count']#$fail['http']['count']#else#$blank#end if# / #echo $fail['timeout'].get('count', 0) or $blank# | +#echo ($fail['connection'].get('count', 0) + $fail['connection_timeout'].get('count', 0)) or $blank# | +#echo $fail['nodata'].get('count', 0) or $blank# | +#echo $fail['other'].get('count', 0) or $blank# | + #if $prov['has_limit'] +#echo $fail.get('limit', {}).get('count', 0) or $blank# | + #end if +