From 64bbf8a9b5630748b6ef41c02a2e676e45882595 Mon Sep 17 00:00:00 2001 From: Mark McDowall Date: Wed, 20 Apr 2011 16:29:12 -0700 Subject: [PATCH] Newzbin override for getting proper and quality. --- NzbDrone.Core/Parser.cs | 2 +- .../Providers/Indexer/IndexerProviderBase.cs | 12 ++++++++++-- NzbDrone.Core/Providers/Indexer/NewzbinProvider.cs | 12 ++++++++++++ 3 files changed, 23 insertions(+), 3 deletions(-) diff --git a/NzbDrone.Core/Parser.cs b/NzbDrone.Core/Parser.cs index fda84e562..957847dec 100644 --- a/NzbDrone.Core/Parser.cs +++ b/NzbDrone.Core/Parser.cs @@ -206,7 +206,7 @@ namespace NzbDrone.Core return title.ToLower().Contains("proper"); } - private static QualityTypes ParseQuality(string name) + internal static QualityTypes ParseQuality(string name) { Logger.Trace("Trying to parse quality for {0}", name); diff --git a/NzbDrone.Core/Providers/Indexer/IndexerProviderBase.cs b/NzbDrone.Core/Providers/Indexer/IndexerProviderBase.cs index 93ef5b2b4..3633191e1 100644 --- a/NzbDrone.Core/Providers/Indexer/IndexerProviderBase.cs +++ b/NzbDrone.Core/Providers/Indexer/IndexerProviderBase.cs @@ -42,7 +42,6 @@ namespace NzbDrone.Core.Providers.Indexer /// public abstract string Name { get; } - /// /// Generates direct link to download an NZB /// @@ -50,7 +49,6 @@ namespace NzbDrone.Core.Providers.Indexer /// Download link URL protected abstract string NzbDownloadUrl(SyndicationItem item); - /// /// Parses the RSS feed item and. /// @@ -74,6 +72,16 @@ namespace NzbDrone.Core.Providers.Indexer return null; } + /// + /// This method can be overwritten to provide indexer specific info parsing + /// + /// RSS item that needs to be parsed + /// Result of the built in parse function. + /// + protected virtual EpisodeParseResult CustomParser(SyndicationItem item, EpisodeParseResult currentResult) + { + return currentResult; + } /// /// Fetches RSS feed and process each news item. diff --git a/NzbDrone.Core/Providers/Indexer/NewzbinProvider.cs b/NzbDrone.Core/Providers/Indexer/NewzbinProvider.cs index 87c71cdd6..00d26ed8f 100644 --- a/NzbDrone.Core/Providers/Indexer/NewzbinProvider.cs +++ b/NzbDrone.Core/Providers/Indexer/NewzbinProvider.cs @@ -1,4 +1,5 @@ using System.ServiceModel.Syndication; +using NzbDrone.Core.Model; using NzbDrone.Core.Providers.Core; using SubSonic.Repository; @@ -32,5 +33,16 @@ namespace NzbDrone.Core.Providers.Indexer { return item.Id; } + + protected override EpisodeParseResult CustomParser(SyndicationItem item, EpisodeParseResult currentResult) + { + var quality = Parser.ParseQuality(item.Summary.Text); + var proper = Parser.ParseProper(item.Summary.Text); + + currentResult.Quality = quality; + currentResult.Proper = proper; + + return currentResult; + } } } \ No newline at end of file