From 34da3f53d80b71d5f0522d151bdaecb2be3aba31 Mon Sep 17 00:00:00 2001 From: echel0n Date: Tue, 27 May 2014 00:44:23 -0700 Subject: [PATCH] Added Black and White list for release groups for anime shows. Fixed anime show list splitter. Added check for anime shows and providers so we don't perform searches with a provider that doesn't support the type of show genre we are searching. --- gui/slick/interfaces/default/displayShow.tmpl | 19 ++ gui/slick/interfaces/default/editShow.tmpl | 48 +++++ gui/slick/interfaces/default/home.tmpl | 37 +++- gui/slick/interfaces/default/manage.tmpl | 6 +- gui/slick/interfaces/default/manage_massEdit.tmpl | 11 ++ sickbeard/blackandwhitelist.py | 210 ++++++++++++++++++++++ sickbeard/databases/mainDB.py | 29 ++- sickbeard/helpers.py | 1 - sickbeard/name_parser/parser.py | 155 +++++++++++++++- sickbeard/providers/btn.py | 10 +- sickbeard/providers/fanzub.py | 35 ++-- sickbeard/providers/generic.py | 9 +- sickbeard/providers/nyaatorrents.py | 6 +- sickbeard/scene_numbering.py | 39 +++- sickbeard/search.py | 37 +++- sickbeard/search_queue.py | 2 +- sickbeard/show_queue.py | 17 +- sickbeard/tv.py | 186 ++++++++++++------- sickbeard/webserve.py | 72 +++++++- 19 files changed, 820 insertions(+), 109 deletions(-) create mode 100644 sickbeard/blackandwhitelist.py diff --git a/gui/slick/interfaces/default/displayShow.tmpl b/gui/slick/interfaces/default/displayShow.tmpl index e19a0f2..06c9187 100644 --- a/gui/slick/interfaces/default/displayShow.tmpl +++ b/gui/slick/interfaces/default/displayShow.tmpl @@ -176,6 +176,25 @@ #if $anyQualities + $bestQualities Archive First Match: \"Y" #end if + +#if $bwl.get_white_keywords_for("gloabl"): + Whitelist: #echo ', '.join($bwl.get_white_keywords_for("gloabl"))# +#end if +#if $bwl.get_black_keywords_for("gloabl"): + Blacklist: #echo ', '.join($bwl.get_black_keywords_for("gloabl"))# +#end if +#if $bwl.get_white_keywords_for("release_group"): + + Wanted Group#if len($bwl.get_white_keywords_for("release_group"))>1 then "s" else ""#: + #echo ', '.join($bwl.get_white_keywords_for("release_group"))# + +#end if +#if $bwl.get_black_keywords_for("release_group"): + + Unwanted Group#if len($bwl.get_black_keywords_for("release_group"))>1 then "s" else ""#: + #echo ', '.join($bwl.get_black_keywords_for("release_group"))# + +#end if diff --git a/gui/slick/interfaces/default/editShow.tmpl b/gui/slick/interfaces/default/editShow.tmpl index 826e24f..22c5a72 100644 --- a/gui/slick/interfaces/default/editShow.tmpl +++ b/gui/slick/interfaces/default/editShow.tmpl @@ -1,4 +1,5 @@ #import sickbeard +#import lib.adba as adba #from sickbeard import common #from sickbeard import exceptions #from sickbeard import scene_exceptions @@ -139,6 +140,53 @@ Results without one of these words in the title will be filtered out
Separate words with a comma, e.g. "word1,word2,word3"

+#if $show.is_anime +

+Realease Groups: +

+ + +
+
+ White: + +
+ +
+ +
+ Pool (Name|Rating|Subed Ep): + +
+ + +
+ +
+ Black: + +
+ +
+
+#end if + + + diff --git a/gui/slick/interfaces/default/home.tmpl b/gui/slick/interfaces/default/home.tmpl index 92f0f5b..c07e615 100644 --- a/gui/slick/interfaces/default/home.tmpl +++ b/gui/slick/interfaces/default/home.tmpl @@ -98,7 +98,7 @@ \$(this).remove(); }); - \$("#showListTable:has(tbody tr)").tablesorter({ + \$("#showListTableShows:has(tbody tr)").tablesorter({ sortList: [[6,1],[2,0]], textExtraction: { @@ -119,6 +119,26 @@ } }); + \$("#showListTableAnime:has(tbody tr)").tablesorter({ + + sortList: [[6,1],[2,0]], + textExtraction: { + 0: function(node) { return \$(node).find("span").text().toLowerCase(); }, + #if ( $layout != 'simple'): + 3: function(node) { return \$(node).find("img").attr("alt"); }, + #end if + 4: function(node) { return \$(node).find("span").text(); }, + 6: function(node) { return \$(node).find("img").attr("alt"); } + }, + widgets: ['saveSort', 'zebra'], + headers: { + 0: { sorter: 'cDate' }, + 2: { sorter: 'loadingNames' }, + 3: { sorter: 'network' }, + 4: { sorter: 'quality' }, + 5: { sorter: 'eps' }, + } + }); }); //--> @@ -138,7 +158,14 @@ - +#for $curShowlist in $showlists: +#set $curListType = $curShowlist[0] +#set $myShowList = $list($curShowlist[1]) +#if $curListType == "Anime": +

Anime List

+#end if + +
#if $layout=="poster" then "" else ""# @@ -173,7 +200,6 @@ #end for -#set $myShowList = $list($sickbeard.showList) $myShowList.sort(lambda x, y: cmp(x.name, y.name)) #for $curShow in $myShowList: #set $curEp = $curShow.nextEpisode() @@ -258,7 +284,7 @@ $myShowList.sort(lambda x, y: cmp(x.name, y.name)) //--> - + @@ -266,5 +292,8 @@ $myShowList.sort(lambda x, y: cmp(x.name, y.name)) #end for
Next EpPosterShowNetworkQualityDownloadsActiveStatus
\"Y\""\"Y\"" $curShow.status
+#end for + + #include $os.path.join($sickbeard.PROG_DIR,"gui/slick/interfaces/default/inc_bottom.tmpl") diff --git a/gui/slick/interfaces/default/manage.tmpl b/gui/slick/interfaces/default/manage.tmpl index a483715..d3936a6 100644 --- a/gui/slick/interfaces/default/manage.tmpl +++ b/gui/slick/interfaces/default/manage.tmpl @@ -82,6 +82,8 @@ Show Name Quality + Sports + Anime Flat Folders Paused Status @@ -141,7 +143,9 @@ $myShowList.sort(lambda x, y: cmp(x.name, y.name)) $qualityPresetStrings[$curShow.quality] #else: Custom -#end if +#end if + \"Y\"" + \"Y\"" \"Y\"" \"Y\"" $curShow.status diff --git a/gui/slick/interfaces/default/manage_massEdit.tmpl b/gui/slick/interfaces/default/manage_massEdit.tmpl index 9f44329..f296f17 100644 --- a/gui/slick/interfaces/default/manage_massEdit.tmpl +++ b/gui/slick/interfaces/default/manage_massEdit.tmpl @@ -94,6 +94,17 @@
+ Anime +
+ +

+
+ +
Subtitles