diff --git a/NzbDrone.Core.Test/ProviderTests/IndexerProviderTest.cs b/NzbDrone.Core.Test/ProviderTests/IndexerProviderTest.cs index 774c59ff9..cda54dee0 100644 --- a/NzbDrone.Core.Test/ProviderTests/IndexerProviderTest.cs +++ b/NzbDrone.Core.Test/ProviderTests/IndexerProviderTest.cs @@ -8,7 +8,6 @@ using System.ServiceModel.Syndication; using FluentAssertions; using NUnit.Framework; using NzbDrone.Core.Model; -using NzbDrone.Core.Model.Search; using NzbDrone.Core.Providers; using NzbDrone.Core.Providers.Core; using NzbDrone.Core.Providers.Indexer; @@ -76,14 +75,29 @@ namespace NzbDrone.Core.Test.ProviderTests get { return new[] { "www.google.com" }; } } - protected override IList GetSearchUrls(SearchModel searchModel) + protected override NetworkCredential Credentials + { + get { return null; } + } + + protected override IList GetEpisodeSearchUrls(string seriesTitle, int seasonNumber, int episodeNumber) { throw new NotImplementedException(); } - protected override NetworkCredential Credentials + protected override IList GetDailyEpisodeSearchUrls(string seriesTitle, DateTime date) { - get { return null; } + throw new NotImplementedException(); + } + + protected override IList GetSeasonSearchUrls(string seriesTitle, int seasonNumber) + { + throw new NotImplementedException(); + } + + protected override IList GetPartialSeasonSearchUrls(string seriesTitle, int seasonNumber, int episodeWildcard) + { + throw new NotImplementedException(); } public override string Name @@ -115,7 +129,22 @@ namespace NzbDrone.Core.Test.ProviderTests get { return new[] { "http://rss.nzbmatrix.com/rss.php?cat=TV" }; } } - protected override IList GetSearchUrls(SearchModel searchModel) + protected override IList GetEpisodeSearchUrls(string seriesTitle, int seasonNumber, int episodeNumber) + { + throw new NotImplementedException(); + } + + protected override IList GetDailyEpisodeSearchUrls(string seriesTitle, DateTime date) + { + throw new NotImplementedException(); + } + + protected override IList GetSeasonSearchUrls(string seriesTitle, int seasonNumber) + { + throw new NotImplementedException(); + } + + protected override IList GetPartialSeasonSearchUrls(string seriesTitle, int seasonNumber, int episodeWildcard) { throw new NotImplementedException(); } @@ -143,7 +172,22 @@ namespace NzbDrone.Core.Test.ProviderTests get { return new[] { "http://www.google.com" }; } } - protected override IList GetSearchUrls(SearchModel searchModel) + protected override IList GetEpisodeSearchUrls(string seriesTitle, int seasonNumber, int episodeNumber) + { + throw new NotImplementedException(); + } + + protected override IList GetDailyEpisodeSearchUrls(string seriesTitle, DateTime date) + { + throw new NotImplementedException(); + } + + protected override IList GetSeasonSearchUrls(string seriesTitle, int seasonNumber) + { + throw new NotImplementedException(); + } + + protected override IList GetPartialSeasonSearchUrls(string seriesTitle, int seasonNumber, int episodeWildcard) { throw new NotImplementedException(); } diff --git a/NzbDrone.Core/Model/Search/SearchModel.cs b/NzbDrone.Core/Model/Search/SearchModel.cs deleted file mode 100644 index a4847ac1c..000000000 --- a/NzbDrone.Core/Model/Search/SearchModel.cs +++ /dev/null @@ -1,16 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace NzbDrone.Core.Model.Search -{ - public class SearchModel - { - public string SeriesTitle { get; set; } - public int EpisodeNumber { get; set; } - public int SeasonNumber { get; set; } - public int EpisodePrefix { get; set; } - public DateTime AirDate { get; set; } - public SearchType SearchType { get; set; } - } -} diff --git a/NzbDrone.Core/Model/Search/SearchType.cs b/NzbDrone.Core/Model/Search/SearchType.cs deleted file mode 100644 index e9d2f0dbf..000000000 --- a/NzbDrone.Core/Model/Search/SearchType.cs +++ /dev/null @@ -1,14 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace NzbDrone.Core.Model.Search -{ - public enum SearchType - { - EpisodeSearch = 0, - DailySearch = 1, - PartialSeasonSearch = 2, - SeasonSearch = 3 - } -} diff --git a/NzbDrone.Core/NzbDrone.Core.csproj b/NzbDrone.Core/NzbDrone.Core.csproj index b702b6240..e3d5c0250 100644 --- a/NzbDrone.Core/NzbDrone.Core.csproj +++ b/NzbDrone.Core/NzbDrone.Core.csproj @@ -230,8 +230,6 @@ - - diff --git a/NzbDrone.Core/Providers/EpisodeProvider.cs b/NzbDrone.Core/Providers/EpisodeProvider.cs index 597ed7746..e7a625186 100644 --- a/NzbDrone.Core/Providers/EpisodeProvider.cs +++ b/NzbDrone.Core/Providers/EpisodeProvider.cs @@ -161,6 +161,7 @@ namespace NzbDrone.Core.Providers } //Add to Result and Return (There will only be one episode to return) + //TODO: This should not add if episode is still null (When doesn't exist and autoadd is false.) result.Add(episodeInfo); return result; } diff --git a/NzbDrone.Core/Providers/Indexer/IndexerBase.cs b/NzbDrone.Core/Providers/Indexer/IndexerBase.cs index 90d656bd5..4e350ebd1 100644 --- a/NzbDrone.Core/Providers/Indexer/IndexerBase.cs +++ b/NzbDrone.Core/Providers/Indexer/IndexerBase.cs @@ -4,11 +4,9 @@ using System.Linq; using System.Net; using System.ServiceModel.Syndication; using System.Text.RegularExpressions; -using System.Web; using Ninject; using NLog; using NzbDrone.Core.Model; -using NzbDrone.Core.Model.Search; using NzbDrone.Core.Providers.Core; namespace NzbDrone.Core.Providers.Indexer @@ -55,12 +53,10 @@ namespace NzbDrone.Core.Providers.Indexer } - /// - /// Gets the rss url for specific episode search - /// - /// SearchModel containing episode information - /// - protected abstract IList GetSearchUrls(SearchModel searchModel); + protected abstract IList GetEpisodeSearchUrls(string seriesTitle, int seasonNumber, int episodeNumber); + protected abstract IList GetDailyEpisodeSearchUrls(string seriesTitle, DateTime date); + protected abstract IList GetSeasonSearchUrls(string seriesTitle, int seasonNumber); + protected abstract IList GetPartialSeasonSearchUrls(string seriesTitle, int seasonNumber, int episodeWildcard); /// /// This method can be overwritten to provide indexer specific info parsing @@ -104,14 +100,7 @@ namespace NzbDrone.Core.Providers.Indexer var result = new List(); - var searchModel = new SearchModel - { - SeriesTitle = GetQueryTitle(seriesTitle), - SeasonNumber = seasonNumber, - SearchType = SearchType.SeasonSearch - }; - - var searchUrls = GetSearchUrls(searchModel); + var searchUrls = GetSeasonSearchUrls(GetQueryTitle(seriesTitle), seasonNumber); foreach (var url in searchUrls) { @@ -130,15 +119,7 @@ namespace NzbDrone.Core.Providers.Indexer var result = new List(); - var searchModel = new SearchModel - { - SeriesTitle = GetQueryTitle(seriesTitle), - SeasonNumber = seasonNumber, - EpisodePrefix = episodePrefix, - SearchType = SearchType.PartialSeasonSearch - }; - - var searchUrls = GetSearchUrls(searchModel); + var searchUrls = GetPartialSeasonSearchUrls(GetQueryTitle(seriesTitle), seasonNumber, episodePrefix); foreach (var url in searchUrls) { @@ -157,15 +138,7 @@ namespace NzbDrone.Core.Providers.Indexer var result = new List(); - var searchModel = new SearchModel - { - SeriesTitle = GetQueryTitle(seriesTitle), - SeasonNumber = seasonNumber, - EpisodeNumber = episodeNumber, - SearchType = SearchType.EpisodeSearch - }; - - var searchUrls = GetSearchUrls(searchModel); + var searchUrls = GetEpisodeSearchUrls(GetQueryTitle(seriesTitle), seasonNumber, episodeNumber); foreach (var url in searchUrls) { @@ -185,14 +158,7 @@ namespace NzbDrone.Core.Providers.Indexer var result = new List(); - var searchModel = new SearchModel - { - SeriesTitle = GetQueryTitle(seriesTitle), - AirDate = airDate, - SearchType = SearchType.DailySearch - }; - - var searchUrls = GetSearchUrls(searchModel); + var searchUrls = GetDailyEpisodeSearchUrls(GetQueryTitle(seriesTitle), airDate); foreach (var url in searchUrls) { diff --git a/NzbDrone.Core/Providers/Indexer/Newzbin.cs b/NzbDrone.Core/Providers/Indexer/Newzbin.cs index f8c4e53b1..e9c7055a0 100644 --- a/NzbDrone.Core/Providers/Indexer/Newzbin.cs +++ b/NzbDrone.Core/Providers/Indexer/Newzbin.cs @@ -5,7 +5,6 @@ using System.ServiceModel.Syndication; using System.Text.RegularExpressions; using Ninject; using NzbDrone.Core.Model; -using NzbDrone.Core.Model.Search; using NzbDrone.Core.Providers.Core; namespace NzbDrone.Core.Providers.Indexer @@ -18,7 +17,7 @@ namespace NzbDrone.Core.Providers.Indexer { } - private const string UrlParams = "feed=rss&hauth=1&ps_rb_language=4096"; + private const string URL_PARAMS = "feed=rss&hauth=1&ps_rb_language=4096"; protected override string[] Urls { @@ -26,7 +25,7 @@ namespace NzbDrone.Core.Providers.Indexer { return new[] { - "http://www.newzbin.com/browse/category/p/tv?" + UrlParams + "http://www.newzbin.com/browse/category/p/tv?" + URL_PARAMS }; } } @@ -39,52 +38,47 @@ namespace NzbDrone.Core.Providers.Indexer get { return new NetworkCredential(_configProvider.NewzbinUsername, _configProvider.NewzbinPassword); } } - protected override IList GetSearchUrls(SearchModel searchModel) + protected override IList GetEpisodeSearchUrls(string seriesTitle, int seasonNumber, int episodeNumber) { - if (searchModel.SearchType == SearchType.EpisodeSearch) - { - return new List + return new List { String.Format( @"http://www.newzbin.com/search/query/?q={0}+{1}x{2:00}&fpn=p&searchaction=Go&category=8&{3}", - searchModel.SeriesTitle, searchModel.SeasonNumber, - searchModel.EpisodeNumber, UrlParams) + seriesTitle, seasonNumber,episodeNumber, URL_PARAMS) }; - } + } - if (searchModel.SearchType == SearchType.SeasonSearch) - { - return new List + protected override IList GetSeasonSearchUrls(string seriesTitle, int seasonNumber) + { + return new List { String.Format( @"http://www.newzbin.com/search/query/?q={0}+Season+{1}&fpn=p&searchaction=Go&category=8&{2}", - searchModel.SeriesTitle, searchModel.SeasonNumber, UrlParams) + seriesTitle, seasonNumber, URL_PARAMS) }; - } + } - if (searchModel.SearchType == SearchType.PartialSeasonSearch) - { - return new List + protected override IList GetDailyEpisodeSearchUrls(string seriesTitle, DateTime date) + { + return new List { String.Format( - @"http://www.newzbin.com/search/query/?q={0}+{1}x{2}&fpn=p&searchaction=Go&category=8&{3}", - searchModel.SeriesTitle, searchModel.SeasonNumber, searchModel.EpisodePrefix, UrlParams) + @"http://www.newzbin.com/search/query/?q={0}+{1:yyyy-MM-dd}&fpn=p&searchaction=Go&category=8&{2}", + seriesTitle, date, URL_PARAMS) }; - } + } - if (searchModel.SearchType == SearchType.DailySearch) - { - return new List + protected override IList GetPartialSeasonSearchUrls(string seriesTitle, int seasonNumber, int episodeWildcard) + { + return new List { String.Format( - @"http://www.newzbin.com/search/query/?q={0}+{1:yyyy-MM-dd}&fpn=p&searchaction=Go&category=8&{2}", - searchModel.SeriesTitle, searchModel.AirDate, UrlParams) + @"http://www.newzbin.com/search/query/?q={0}+{1}x{2}&fpn=p&searchaction=Go&category=8&{3}", + seriesTitle, seasonNumber, episodeWildcard, URL_PARAMS) }; - } - - return new List(); } + public override string Name { get { return "Newzbin"; } diff --git a/NzbDrone.Core/Providers/Indexer/Newznab.cs b/NzbDrone.Core/Providers/Indexer/Newznab.cs index 06ae7c416..a364ef743 100644 --- a/NzbDrone.Core/Providers/Indexer/Newznab.cs +++ b/NzbDrone.Core/Providers/Indexer/Newznab.cs @@ -4,7 +4,6 @@ using System.ServiceModel.Syndication; using System.Text.RegularExpressions; using Ninject; using NzbDrone.Core.Model; -using NzbDrone.Core.Model.Search; using NzbDrone.Core.Providers.Core; namespace NzbDrone.Core.Providers.Indexer @@ -16,53 +15,60 @@ namespace NzbDrone.Core.Providers.Indexer [Inject] public Newznab(HttpProvider httpProvider, ConfigProvider configProvider, NewznabProvider newznabProvider) : base(httpProvider, configProvider) - { - _newznabProvider = newznabProvider; - } + { + _newznabProvider = newznabProvider; + } protected override string[] Urls { get { return GetUrls(); } } - public override string Name + protected override IList GetEpisodeSearchUrls(string seriesTitle, int seasonNumber, int episodeNumber) { - get { return "Newznab"; } - } + var searchUrls = new List(); - protected override string NzbDownloadUrl(SyndicationItem item) - { - return item.Id; + foreach (var url in Urls) + { + searchUrls.Add(String.Format("{0}&limit=100&q={1}&season{2}&ep{3}", url, seriesTitle, seasonNumber, episodeNumber)); + } + + return searchUrls; } - protected override IList GetSearchUrls(SearchModel searchModel) + protected override IList GetDailyEpisodeSearchUrls(string seriesTitle, DateTime date) { - var searchUrls = new List(); + var searchUrls = new List(); foreach (var url in Urls) { - if (searchModel.SearchType == SearchType.EpisodeSearch) - { - searchUrls.Add(String.Format("{0}&limit=100&q={1}&season{2}&ep{3}", url, - searchModel.SeriesTitle, searchModel.SeasonNumber, searchModel.EpisodeNumber)); - } - - if (searchModel.SearchType == SearchType.SeasonSearch) - { - searchUrls.Add(String.Format("{0}&limit=100&q={1}&season={2}", url, searchModel.SeriesTitle, searchModel.SeasonNumber)); - //searchUrls.Add(String.Format("{0}&limit=100&q={1}+Season", url, searchModel.SeriesTitle)); - } - - if (searchModel.SearchType == SearchType.DailySearch) - { - searchUrls.Add(String.Format("{0}&limit=100&q={1}+{2:yyyy MM dd}", url, searchModel.SeriesTitle, - searchModel.AirDate)); - } + searchUrls.Add(String.Format("{0}&limit=100&q={1}+{2:yyyy MM dd}", url, seriesTitle, date)); } return searchUrls; } + protected override IList GetSeasonSearchUrls(string seriesTitle, int seasonNumber) + { + return new List(); + } + + protected override IList GetPartialSeasonSearchUrls(string seriesTitle, int seasonNumber, int episodeWildcard) + { + return new List(); + } + + public override string Name + { + get { return "Newznab"; } + } + + protected override string NzbDownloadUrl(SyndicationItem item) + { + return item.Id; + } + + protected override EpisodeParseResult CustomParser(SyndicationItem item, EpisodeParseResult currentResult) { if (currentResult != null) @@ -79,7 +85,7 @@ namespace NzbDrone.Core.Providers.Indexer var urls = new List(); var newznzbIndexers = _newznabProvider.Enabled(); - foreach(var newznabDefinition in newznzbIndexers) + foreach (var newznabDefinition in newznzbIndexers) { if (!String.IsNullOrWhiteSpace(newznabDefinition.ApiKey)) urls.Add(String.Format("{0}/api?t=tvsearch&cat=5030,5040&apikey={1}", newznabDefinition.Url, diff --git a/NzbDrone.Core/Providers/Indexer/NzbMatrix.cs b/NzbDrone.Core/Providers/Indexer/NzbMatrix.cs index 8857c3d97..b6de2c9e7 100644 --- a/NzbDrone.Core/Providers/Indexer/NzbMatrix.cs +++ b/NzbDrone.Core/Providers/Indexer/NzbMatrix.cs @@ -4,15 +4,15 @@ using System.ServiceModel.Syndication; using System.Text.RegularExpressions; using Ninject; using NzbDrone.Core.Model; -using NzbDrone.Core.Model.Search; using NzbDrone.Core.Providers.Core; namespace NzbDrone.Core.Providers.Indexer { public class NzbMatrix : IndexerBase { - [Inject] - public NzbMatrix(HttpProvider httpProvider, ConfigProvider configProvider) : base(httpProvider, configProvider) + [Inject] + public NzbMatrix(HttpProvider httpProvider, ConfigProvider configProvider) + : base(httpProvider, configProvider) { } @@ -30,51 +30,66 @@ namespace NzbDrone.Core.Providers.Indexer } } - public override string Name + protected override IList GetEpisodeSearchUrls(string seriesTitle, int seasonNumber, int episodeNumber) { - get { return "NzbMatrix"; } + var searchUrls = new List(); + + foreach (var url in Urls) + { + searchUrls.Add(String.Format("{0}&term={1}+s{2:00}e{3:00}", url, seriesTitle, seasonNumber, episodeNumber)); + } + + return searchUrls; } + protected override IList GetDailyEpisodeSearchUrls(string seriesTitle, DateTime date) + { + var searchUrls = new List(); - protected override string NzbDownloadUrl(SyndicationItem item) + foreach (var url in Urls) + { + searchUrls.Add(String.Format("{0}&term={1}+{2:yyyy MM dd}", url, seriesTitle, date)); + } + + return searchUrls; + } + + protected override IList GetSeasonSearchUrls(string seriesTitle, int seasonNumber) { - return item.Links[0].Uri.ToString(); + var searchUrls = new List(); + + foreach (var url in Urls) + { + searchUrls.Add(String.Format("{0}&term={1}+Season", url, seriesTitle)); + searchUrls.Add(String.Format("{0}&term={1}+S{2:00}", url, seriesTitle, seasonNumber)); + } + + return searchUrls; } - protected override IList GetSearchUrls(SearchModel searchModel) + protected override IList GetPartialSeasonSearchUrls(string seriesTitle, int seasonNumber, int episodeWildcard) { var searchUrls = new List(); foreach (var url in Urls) { - if (searchModel.SearchType == SearchType.EpisodeSearch) - { - searchUrls.Add(String.Format("{0}&term={1}+s{2:00}e{3:00}", url, searchModel.SeriesTitle, - searchModel.SeasonNumber, searchModel.EpisodeNumber)); - } - - if (searchModel.SearchType == SearchType.PartialSeasonSearch) - { - searchUrls.Add(String.Format("{0}&term={1}+S{2:00}E{3}", - url, searchModel.SeriesTitle, searchModel.SeasonNumber, searchModel.EpisodePrefix)); - } - - if (searchModel.SearchType == SearchType.SeasonSearch) - { - searchUrls.Add(String.Format("{0}&term={1}+Season", url, searchModel.SeriesTitle)); - searchUrls.Add(String.Format("{0}&term={1}+S{2:00}", url, searchModel.SeriesTitle, searchModel.SeasonNumber)); - } - - if (searchModel.SearchType == SearchType.DailySearch) - { - searchUrls.Add(String.Format("{0}&term={1}+{2:yyyy MM dd}", url, searchModel.SeriesTitle, - searchModel.AirDate)); - } + searchUrls.Add(String.Format("{0}&term={1}+S{2:00}E{3}", url, seriesTitle, seasonNumber, episodeWildcard)); } return searchUrls; } + public override string Name + { + get { return "NzbMatrix"; } + } + + + protected override string NzbDownloadUrl(SyndicationItem item) + { + return item.Links[0].Uri.ToString(); + } + protected override EpisodeParseResult CustomParser(SyndicationItem item, EpisodeParseResult currentResult) { if (currentResult != null) diff --git a/NzbDrone.Core/Providers/Indexer/NzbsOrg.cs b/NzbDrone.Core/Providers/Indexer/NzbsOrg.cs index e7e05c841..f44f9210d 100644 --- a/NzbDrone.Core/Providers/Indexer/NzbsOrg.cs +++ b/NzbDrone.Core/Providers/Indexer/NzbsOrg.cs @@ -4,14 +4,13 @@ using System.ServiceModel.Syndication; using System.Text.RegularExpressions; using Ninject; using NzbDrone.Core.Model; -using NzbDrone.Core.Model.Search; using NzbDrone.Core.Providers.Core; namespace NzbDrone.Core.Providers.Indexer { public class NzbsOrg : IndexerBase { - [Inject] + [Inject] public NzbsOrg(HttpProvider httpProvider, ConfigProvider configProvider) : base(httpProvider, configProvider) { @@ -23,56 +22,73 @@ namespace NzbDrone.Core.Providers.Indexer { return new[] { - string.Format("http://nzbs.org/rss.php?type=1&i={0}&h={1}&num=50&dl=1", _configProvider.NzbsOrgUId, _configProvider.NzbsOrgHash) + string.Format("http://nzbs.org/rss.php?type=1&i={0}&h={1}&num=50&dl=1", + _configProvider.NzbsOrgUId, _configProvider.NzbsOrgHash) }; } } - public override string Name + protected override IList GetEpisodeSearchUrls(string seriesTitle, int seasonNumber, int episodeNumber) { - get { return "Nzbs.org"; } + var searchUrls = new List(); + + foreach (var url in Urls) + { + searchUrls.Add(String.Format("{0}&action=search&q={1}+s{2:00}e{3:00}", url, seriesTitle, seasonNumber, episodeNumber)); + } + + return searchUrls; } + protected override IList GetDailyEpisodeSearchUrls(string seriesTitle, DateTime date) + { + var searchUrls = new List(); - protected override string NzbDownloadUrl(SyndicationItem item) + foreach (var url in Urls) + { + searchUrls.Add(String.Format("{0}&action=search&q={1}+{2:yyyy.MM.dd}", url, seriesTitle, date)); + } + + return searchUrls; + } + + protected override IList GetSeasonSearchUrls(string seriesTitle, int seasonNumber) { - return item.Id; + var searchUrls = new List(); + + foreach (var url in Urls) + { + searchUrls.Add(String.Format("{0}&action=search&q={1}+Season", url, seriesTitle)); + searchUrls.Add(String.Format("{0}&action=search&q={1}+S{2:00}", url, seriesTitle, seasonNumber)); + } + + return searchUrls; } - protected override IList GetSearchUrls(SearchModel searchModel) + protected override IList GetPartialSeasonSearchUrls(string seriesTitle, int seasonNumber, int episodeWildcard) { var searchUrls = new List(); foreach (var url in Urls) { - if (searchModel.SearchType == SearchType.EpisodeSearch) - { - searchUrls.Add(String.Format("{0}&action=search&q={1}+s{2:00}e{3:00}", url, - searchModel.SeriesTitle, searchModel.SeasonNumber, searchModel.EpisodeNumber)); - } - - if (searchModel.SearchType == SearchType.PartialSeasonSearch) - { - searchUrls.Add(String.Format("{0}&action=search&q={1}+S{2:00}E{3}", - url, searchModel.SeriesTitle, searchModel.SeasonNumber, searchModel.EpisodePrefix)); - } - - if (searchModel.SearchType == SearchType.SeasonSearch) - { - searchUrls.Add(String.Format("{0}&action=search&q={1}+Season", url, searchModel.SeriesTitle)); - searchUrls.Add(String.Format("{0}&action=search&q={1}+S{2:00}", url, searchModel.SeriesTitle, searchModel.SeasonNumber)); - } - - if (searchModel.SearchType == SearchType.DailySearch) - { - searchUrls.Add(String.Format("{0}&action=search&q={1}+{2:yyyy.MM.dd}", url, searchModel.SeriesTitle, - searchModel.AirDate)); - } + searchUrls.Add(String.Format("{0}&action=search&q={1}+S{2:00}E{3}", + url, seriesTitle, seasonNumber, episodeWildcard)); } return searchUrls; } + public override string Name + { + get { return "Nzbs.org"; } + } + + + protected override string NzbDownloadUrl(SyndicationItem item) + { + return item.Id; + } + protected override EpisodeParseResult CustomParser(SyndicationItem item, EpisodeParseResult currentResult) { if (currentResult != null) diff --git a/NzbDrone.Core/Providers/Indexer/NzbsRUs.cs b/NzbDrone.Core/Providers/Indexer/NzbsRUs.cs index c8bd86294..c621c7b7e 100644 --- a/NzbDrone.Core/Providers/Indexer/NzbsRUs.cs +++ b/NzbDrone.Core/Providers/Indexer/NzbsRUs.cs @@ -1,9 +1,9 @@ -using System.Collections.Generic; +using System; +using System.Collections.Generic; using System.ServiceModel.Syndication; using System.Text.RegularExpressions; using Ninject; using NzbDrone.Core.Model; -using NzbDrone.Core.Model.Search; using NzbDrone.Core.Providers.Core; namespace NzbDrone.Core.Providers.Indexer @@ -39,7 +39,23 @@ namespace NzbDrone.Core.Providers.Indexer return item.Links[0].Uri.ToString(); } - protected override IList GetSearchUrls(SearchModel searchModel) + + protected override IList GetEpisodeSearchUrls(string seriesTitle, int seasonNumber, int episodeNumber) + { + return new List(); + } + + protected override IList GetSeasonSearchUrls(string seriesTitle, int seasonNumber) + { + return new List(); + } + + protected override IList GetDailyEpisodeSearchUrls(string seriesTitle, DateTime date) + { + return new List(); + } + + protected override IList GetPartialSeasonSearchUrls(string seriesTitle, int seasonNumber, int episodeWildcard) { return new List(); } diff --git a/NzbDrone.Core/Providers/Jobs/BacklogSearchJob.cs b/NzbDrone.Core/Providers/Jobs/BacklogSearchJob.cs index 219f8964d..0c9703538 100644 --- a/NzbDrone.Core/Providers/Jobs/BacklogSearchJob.cs +++ b/NzbDrone.Core/Providers/Jobs/BacklogSearchJob.cs @@ -1,10 +1,7 @@ -using System; -using System.Collections.Generic; +using System.Collections.Generic; using System.Linq; using NLog; -using NzbDrone.Core.Model; using NzbDrone.Core.Model.Notification; -using NzbDrone.Core.Model.Search; using NzbDrone.Core.Repository; namespace NzbDrone.Core.Providers.Jobs diff --git a/NzbDrone.Core/Providers/Jobs/RecentBacklogSearchJob.cs b/NzbDrone.Core/Providers/Jobs/RecentBacklogSearchJob.cs index 801e138a9..9cb0ce204 100644 --- a/NzbDrone.Core/Providers/Jobs/RecentBacklogSearchJob.cs +++ b/NzbDrone.Core/Providers/Jobs/RecentBacklogSearchJob.cs @@ -1,11 +1,7 @@ using System; -using System.Collections.Generic; using System.Linq; using NLog; -using NzbDrone.Core.Model; using NzbDrone.Core.Model.Notification; -using NzbDrone.Core.Model.Search; -using NzbDrone.Core.Repository; namespace NzbDrone.Core.Providers.Jobs { diff --git a/NzbDrone.Web/Views/Series/Details.cshtml b/NzbDrone.Web/Views/Series/Details.cshtml index 4f37e5e76..bb01376e1 100644 --- a/NzbDrone.Web/Views/Series/Details.cshtml +++ b/NzbDrone.Web/Views/Series/Details.cshtml @@ -48,7 +48,7 @@ .searchImage:hover, .renameImage:hover, .ignoreEpisode:hover, .ignoreEpisodesMaster:hover { - background-color: #065EFE; + } #banner-container