From 43a7d6239e8a624a715695c256165d1f7765ab24 Mon Sep 17 00:00:00 2001 From: Mark McDowall Date: Wed, 20 Feb 2013 23:07:34 -0800 Subject: [PATCH] Moved indexers to ObjectDb --- NzbDrone.Core.Test/CentralDispatchFixture.cs | 5 +- .../IndexerTests/IndexerFixture.cs | 28 +++--- .../IndexerTests/NzbxFixture.cs | 2 +- .../IndexerServiceTest.cs} | 69 ++++++-------- NzbDrone.Core.Test/NzbDrone.Core.Test.csproj | 2 +- .../CheckReportFixture.cs | 1 - .../PerformSearchFixture.cs | 1 - .../EpisodeSearchTests/CheckReportFixture.cs | 1 - .../PerformSearchFixture.cs | 1 - .../CheckReportFixture.cs | 1 - .../PerformSearchFixture.cs | 1 - .../SearchTests/PerformSearchTestBase.cs | 5 +- .../ProviderTests/SearchTests/TestSearch.cs | 7 +- NzbDrone.Core/ContainerExtentions.cs | 2 +- NzbDrone.Core/Indexers/Indexer.cs | 13 +++ NzbDrone.Core/Indexers/IndexerRepository.cs | 27 ++++++ NzbDrone.Core/Indexers/IndexerService.cs | 87 ++++++++++++++++++ .../Providers}/FileSharingTalk.cs | 6 +- .../Providers}/IndexerBase.cs | 2 +- .../Indexer => Indexers/Providers}/Newznab.cs | 6 +- .../Indexer => Indexers/Providers}/NzbClub.cs | 5 +- .../Providers}/NzbIndex.cs | 5 +- .../Indexer => Indexers/Providers}/NzbsRUs.cs | 5 +- .../Indexer => Indexers/Providers}/Nzbx.cs | 4 +- .../Providers}/Omgwtfnzbs.cs | 3 +- .../Providers}/SyndicationFeedXmlReader.cs | 4 +- .../Indexer => Indexers/Providers}/Wombles.cs | 6 +- NzbDrone.Core/Jobs/RssSyncJob.cs | 10 +- NzbDrone.Core/NzbDrone.Core.csproj | 25 ++--- NzbDrone.Core/Providers/IndexerProvider.cs | 85 ----------------- .../Providers/Search/DailyEpisodeSearch.cs | 7 +- .../Providers/Search/EpisodeSearch.cs | 7 +- .../Providers/Search/PartialSeasonSearch.cs | 7 +- NzbDrone.Core/Providers/Search/SearchBase.cs | 7 +- NzbDrone.Core/Repository/IndexerDefinition.cs | 18 ---- SqlCe/NzbDrone.SqlCe.dll | Bin 4096 -> 4096 bytes 36 files changed, 238 insertions(+), 227 deletions(-) rename NzbDrone.Core.Test/{ProviderTests/IndexerProviderTest.cs => Indexers/IndexerServiceTest.cs} (84%) create mode 100644 NzbDrone.Core/Indexers/Indexer.cs create mode 100644 NzbDrone.Core/Indexers/IndexerRepository.cs create mode 100644 NzbDrone.Core/Indexers/IndexerService.cs rename NzbDrone.Core/{Providers/Indexer => Indexers/Providers}/FileSharingTalk.cs (96%) rename NzbDrone.Core/{Providers/Indexer => Indexers/Providers}/IndexerBase.cs (99%) rename NzbDrone.Core/{Providers/Indexer => Indexers/Providers}/Newznab.cs (97%) rename NzbDrone.Core/{Providers/Indexer => Indexers/Providers}/NzbClub.cs (97%) rename NzbDrone.Core/{Providers/Indexer => Indexers/Providers}/NzbIndex.cs (97%) rename NzbDrone.Core/{Providers/Indexer => Indexers/Providers}/NzbsRUs.cs (97%) rename NzbDrone.Core/{Providers/Indexer => Indexers/Providers}/Nzbx.cs (98%) rename NzbDrone.Core/{Providers/Indexer => Indexers/Providers}/Omgwtfnzbs.cs (98%) rename NzbDrone.Core/{Providers/Indexer => Indexers/Providers}/SyndicationFeedXmlReader.cs (97%) rename NzbDrone.Core/{Providers/Indexer => Indexers/Providers}/Wombles.cs (95%) delete mode 100644 NzbDrone.Core/Providers/IndexerProvider.cs delete mode 100644 NzbDrone.Core/Repository/IndexerDefinition.cs diff --git a/NzbDrone.Core.Test/CentralDispatchFixture.cs b/NzbDrone.Core.Test/CentralDispatchFixture.cs index c71abf97b..10c016a3c 100644 --- a/NzbDrone.Core.Test/CentralDispatchFixture.cs +++ b/NzbDrone.Core.Test/CentralDispatchFixture.cs @@ -7,10 +7,11 @@ using FluentAssertions; using NCrunch.Framework; using NUnit.Framework; using NzbDrone.Common; +using NzbDrone.Core.Indexers; +using NzbDrone.Core.Indexers.Providers; using NzbDrone.Core.Jobs; using NzbDrone.Core.Providers; using NzbDrone.Core.Providers.ExternalNotification; -using NzbDrone.Core.Providers.Indexer; using NzbDrone.Core.Providers.Metadata; using NzbDrone.Core.Test.Framework; @@ -112,7 +113,7 @@ namespace NzbDrone.Core.Test [Test] public void indexers_are_initialized() { - kernel.Resolve().All().Select(c => c.IndexProviderType).Should().BeEquivalentTo(indexers); + kernel.Resolve().All().Select(c => c.Type).Should().BeEquivalentTo(indexers); } [Test] diff --git a/NzbDrone.Core.Test/IndexerTests/IndexerFixture.cs b/NzbDrone.Core.Test/IndexerTests/IndexerFixture.cs index 1de402224..e4fb2ae3b 100644 --- a/NzbDrone.Core.Test/IndexerTests/IndexerFixture.cs +++ b/NzbDrone.Core.Test/IndexerTests/IndexerFixture.cs @@ -10,13 +10,15 @@ using FluentAssertions; using Moq; using NUnit.Framework; using NzbDrone.Common; +using NzbDrone.Core.Indexers; +using NzbDrone.Core.Indexers.Providers; using NzbDrone.Core.Model; using NzbDrone.Core.Providers; using NzbDrone.Core.Providers.Core; -using NzbDrone.Core.Providers.Indexer; using NzbDrone.Core.Repository; using NzbDrone.Core.Repository.Quality; using NzbDrone.Core.Test.Framework; +using NzbDrone.Core.Test.Indexers; using NzbDrone.Core.Test.ProviderTests; using NzbDrone.Test.Common; @@ -54,8 +56,8 @@ namespace NzbDrone.Core.Test.IndexerTests .Setup(h => h.DownloadStream(It.IsAny(), It.IsAny())) .Returns(OpenRead("Files", "Rss", fileName)); - var fakeSettings = Builder.CreateNew().Build(); - Mocker.GetMock() + var fakeSettings = Builder.CreateNew().Build(); + Mocker.GetMock() .Setup(c => c.GetSettings(It.IsAny())) .Returns(fakeSettings); @@ -75,7 +77,7 @@ namespace NzbDrone.Core.Test.IndexerTests } [Test] - public void custome_parser_partial_success() + public void custom_parser_partial_success() { const string title = "Adventure.Inc.S03E19.DVDRip.XviD-OSiTV"; const int season = 3; @@ -84,8 +86,8 @@ namespace NzbDrone.Core.Test.IndexerTests const string summary = "My fake summary"; - var fakeSettings = Builder.CreateNew().Build(); - Mocker.GetMock() + var fakeSettings = Builder.CreateNew().Build(); + Mocker.GetMock() .Setup(c => c.GetSettings(It.IsAny())) .Returns(fakeSettings); @@ -104,12 +106,12 @@ namespace NzbDrone.Core.Test.IndexerTests } [TestCase("Adventure.Inc.DVDRip.XviD-OSiTV")] - public void custome_parser_full_parse(string title) + public void custom_parser_full_parse(string title) { const string summary = "My fake summary"; - var fakeSettings = Builder.CreateNew().Build(); - Mocker.GetMock() + var fakeSettings = Builder.CreateNew().Build(); + Mocker.GetMock() .Setup(c => c.GetSettings(It.IsAny())) .Returns(fakeSettings); @@ -275,8 +277,8 @@ namespace NzbDrone.Core.Test.IndexerTests .Setup(h => h.DownloadStream(It.IsAny(), It.IsAny())) .Returns(OpenRead("Files", "Rss", "newznab.xml")); - var fakeSettings = Builder.CreateNew().Build(); - Mocker.GetMock() + var fakeSettings = Builder.CreateNew().Build(); + Mocker.GetMock() .Setup(c => c.GetSettings(It.IsAny())) .Returns(fakeSettings); @@ -306,8 +308,8 @@ namespace NzbDrone.Core.Test.IndexerTests .Setup(h => h.DownloadStream(It.IsAny(), It.IsAny())) .Returns(OpenRead("Files", "Rss", "" + fileName)); - var fakeSettings = Builder.CreateNew().Build(); - Mocker.GetMock() + var fakeSettings = Builder.CreateNew().Build(); + Mocker.GetMock() .Setup(c => c.GetSettings(It.IsAny())) .Returns(fakeSettings); diff --git a/NzbDrone.Core.Test/IndexerTests/NzbxFixture.cs b/NzbDrone.Core.Test/IndexerTests/NzbxFixture.cs index 3f4f836cd..77c734682 100644 --- a/NzbDrone.Core.Test/IndexerTests/NzbxFixture.cs +++ b/NzbDrone.Core.Test/IndexerTests/NzbxFixture.cs @@ -10,10 +10,10 @@ using FluentAssertions; using Moq; using NUnit.Framework; using NzbDrone.Common; +using NzbDrone.Core.Indexers.Providers; using NzbDrone.Core.Model; using NzbDrone.Core.Providers; using NzbDrone.Core.Providers.Core; -using NzbDrone.Core.Providers.Indexer; using NzbDrone.Core.Repository; using NzbDrone.Core.Repository.Quality; using NzbDrone.Core.Test.Framework; diff --git a/NzbDrone.Core.Test/ProviderTests/IndexerProviderTest.cs b/NzbDrone.Core.Test/Indexers/IndexerServiceTest.cs similarity index 84% rename from NzbDrone.Core.Test/ProviderTests/IndexerProviderTest.cs rename to NzbDrone.Core.Test/Indexers/IndexerServiceTest.cs index 8dacb9ecd..015820033 100644 --- a/NzbDrone.Core.Test/ProviderTests/IndexerProviderTest.cs +++ b/NzbDrone.Core.Test/Indexers/IndexerServiceTest.cs @@ -4,94 +4,77 @@ using System; using System.Collections.Generic; using System.Net; using System.ServiceModel.Syndication; - using FluentAssertions; +using Moq; using NUnit.Framework; using NzbDrone.Common; +using NzbDrone.Core.Indexers; +using NzbDrone.Core.Indexers.Providers; using NzbDrone.Core.Model; using NzbDrone.Core.Providers; using NzbDrone.Core.Providers.Core; -using NzbDrone.Core.Providers.Indexer; using NzbDrone.Core.Test.Framework; using NzbDrone.Test.Common.AutoMoq; -namespace NzbDrone.Core.Test.ProviderTests +namespace NzbDrone.Core.Test.Indexers { [TestFixture] // ReSharper disable InconsistentNaming - public class IndexerProviderTest : SqlCeTest + public class IndexerServiceTest : CoreTest { [Test] public void Init_indexer_test() { - WithRealDb(); - Mocker.SetConstant>(new List { Mocker.Resolve() }); - var indexerProvider = Mocker.Resolve(); - var settings = indexerProvider.GetSettings(typeof(MockIndexer)); - settings.Enable = true; - indexerProvider.SaveSettings(settings); + //Mocker.GetMock() + // .Setup(s => s.Find(typeof(MockIndexer))) + // .Returns() - - indexerProvider.All(); + Mocker.Resolve(); - - indexerProvider.All().Should().HaveCount(1); - indexerProvider.GetEnabledIndexers().Should().HaveCount(1); + Mocker.GetMock() + .Verify(v => v.Insert(It.IsAny()), Times.Once()); } [Test] - public void Init_indexer_with_disabled_job() + public void getEnabled_should_not_return_any_when_no_indexers_are_enabled() { - WithRealDb(); - Mocker.SetConstant>(new List { Mocker.Resolve() }); - var indexerProvider = Mocker.Resolve(); + Mocker.GetMock() + .Setup(s => s.All()) + .Returns(new List {new Indexer {OID = 1, Type = "", Enable = false, Name = "Fake Indexer"}}); - var settings = indexerProvider.GetSettings(typeof(MockIndexer)); - settings.Enable = false; - indexerProvider.SaveSettings(settings); - - - - indexerProvider.All().Should().HaveCount(1); - indexerProvider.GetEnabledIndexers().Should().BeEmpty(); + Mocker.Resolve().GetEnabledIndexers().Should().BeEmpty(); } [Test] public void Init_indexer_should_enable_indexer_that_is_enabled_by_default() { - WithRealDb(); - Mocker.SetConstant>(new List { Mocker.Resolve() }); - var indexerProvider = Mocker.Resolve(); + Mocker.Resolve(); + Mocker.GetMock() + .Verify(v => v.Insert(It.Is(indexer => indexer.Enable)), Times.Once()); - - indexerProvider.All(); - indexerProvider.All().Should().HaveCount(1); - indexerProvider.GetEnabledIndexers().Should().HaveCount(1); - indexerProvider.GetSettings(typeof(DefaultEnabledIndexer)).Enable.Should().BeTrue(); + Mocker.GetMock() + .Verify(v => v.Insert(It.Is(indexer => !indexer.Enable)), Times.Never()); } [Test] public void Init_indexer_should_not_enable_indexer_that_is_not_enabled_by_default() { - WithRealDb(); - Mocker.SetConstant>(new List { Mocker.Resolve() }); - var indexerProvider = Mocker.Resolve(); + Mocker.Resolve(); + Mocker.GetMock() + .Verify(v => v.Insert(It.Is(indexer => indexer.Enable)), Times.Never()); - - indexerProvider.All(); - indexerProvider.All().Should().HaveCount(1); - indexerProvider.GetEnabledIndexers().Should().HaveCount(0); - indexerProvider.GetSettings(typeof(MockIndexer)).Enable.Should().BeFalse(); + Mocker.GetMock() + .Verify(v => v.Insert(It.Is(indexer => !indexer.Enable)), Times.Once()); } } diff --git a/NzbDrone.Core.Test/NzbDrone.Core.Test.csproj b/NzbDrone.Core.Test/NzbDrone.Core.Test.csproj index a51792ca9..04ba1583a 100644 --- a/NzbDrone.Core.Test/NzbDrone.Core.Test.csproj +++ b/NzbDrone.Core.Test/NzbDrone.Core.Test.csproj @@ -247,7 +247,7 @@ - + diff --git a/NzbDrone.Core.Test/ProviderTests/SearchTests/DailyEpisodeSearchTests/CheckReportFixture.cs b/NzbDrone.Core.Test/ProviderTests/SearchTests/DailyEpisodeSearchTests/CheckReportFixture.cs index c3c89e2cc..c17b55f33 100644 --- a/NzbDrone.Core.Test/ProviderTests/SearchTests/DailyEpisodeSearchTests/CheckReportFixture.cs +++ b/NzbDrone.Core.Test/ProviderTests/SearchTests/DailyEpisodeSearchTests/CheckReportFixture.cs @@ -9,7 +9,6 @@ using NzbDrone.Core.Tv; using NzbDrone.Core.Model; using NzbDrone.Core.Model.Notification; using NzbDrone.Core.Providers; -using NzbDrone.Core.Providers.Indexer; using NzbDrone.Core.Providers.Search; using NzbDrone.Core.Repository; using NzbDrone.Core.Repository.Search; diff --git a/NzbDrone.Core.Test/ProviderTests/SearchTests/DailyEpisodeSearchTests/PerformSearchFixture.cs b/NzbDrone.Core.Test/ProviderTests/SearchTests/DailyEpisodeSearchTests/PerformSearchFixture.cs index 29c9a6c68..049f170f2 100644 --- a/NzbDrone.Core.Test/ProviderTests/SearchTests/DailyEpisodeSearchTests/PerformSearchFixture.cs +++ b/NzbDrone.Core.Test/ProviderTests/SearchTests/DailyEpisodeSearchTests/PerformSearchFixture.cs @@ -9,7 +9,6 @@ using NzbDrone.Core.Tv; using NzbDrone.Core.Model; using NzbDrone.Core.Model.Notification; using NzbDrone.Core.Providers; -using NzbDrone.Core.Providers.Indexer; using NzbDrone.Core.Providers.Search; using NzbDrone.Core.Repository; using NzbDrone.Test.Common; diff --git a/NzbDrone.Core.Test/ProviderTests/SearchTests/EpisodeSearchTests/CheckReportFixture.cs b/NzbDrone.Core.Test/ProviderTests/SearchTests/EpisodeSearchTests/CheckReportFixture.cs index ae7eb9904..68e86b7a1 100644 --- a/NzbDrone.Core.Test/ProviderTests/SearchTests/EpisodeSearchTests/CheckReportFixture.cs +++ b/NzbDrone.Core.Test/ProviderTests/SearchTests/EpisodeSearchTests/CheckReportFixture.cs @@ -9,7 +9,6 @@ using NzbDrone.Core.Tv; using NzbDrone.Core.Model; using NzbDrone.Core.Model.Notification; using NzbDrone.Core.Providers; -using NzbDrone.Core.Providers.Indexer; using NzbDrone.Core.Providers.Search; using NzbDrone.Core.Repository; using NzbDrone.Core.Repository.Search; diff --git a/NzbDrone.Core.Test/ProviderTests/SearchTests/EpisodeSearchTests/PerformSearchFixture.cs b/NzbDrone.Core.Test/ProviderTests/SearchTests/EpisodeSearchTests/PerformSearchFixture.cs index a3ad9282c..7a78cf37c 100644 --- a/NzbDrone.Core.Test/ProviderTests/SearchTests/EpisodeSearchTests/PerformSearchFixture.cs +++ b/NzbDrone.Core.Test/ProviderTests/SearchTests/EpisodeSearchTests/PerformSearchFixture.cs @@ -9,7 +9,6 @@ using NzbDrone.Core.Tv; using NzbDrone.Core.Model; using NzbDrone.Core.Model.Notification; using NzbDrone.Core.Providers; -using NzbDrone.Core.Providers.Indexer; using NzbDrone.Core.Providers.Search; using NzbDrone.Core.Repository; using NzbDrone.Test.Common; diff --git a/NzbDrone.Core.Test/ProviderTests/SearchTests/PartialSeasonSearchTests/CheckReportFixture.cs b/NzbDrone.Core.Test/ProviderTests/SearchTests/PartialSeasonSearchTests/CheckReportFixture.cs index 6901d69d3..7ff08d54b 100644 --- a/NzbDrone.Core.Test/ProviderTests/SearchTests/PartialSeasonSearchTests/CheckReportFixture.cs +++ b/NzbDrone.Core.Test/ProviderTests/SearchTests/PartialSeasonSearchTests/CheckReportFixture.cs @@ -9,7 +9,6 @@ using NzbDrone.Core.Tv; using NzbDrone.Core.Model; using NzbDrone.Core.Model.Notification; using NzbDrone.Core.Providers; -using NzbDrone.Core.Providers.Indexer; using NzbDrone.Core.Providers.Search; using NzbDrone.Core.Repository; using NzbDrone.Core.Repository.Search; diff --git a/NzbDrone.Core.Test/ProviderTests/SearchTests/PartialSeasonSearchTests/PerformSearchFixture.cs b/NzbDrone.Core.Test/ProviderTests/SearchTests/PartialSeasonSearchTests/PerformSearchFixture.cs index 596321904..99f9987fb 100644 --- a/NzbDrone.Core.Test/ProviderTests/SearchTests/PartialSeasonSearchTests/PerformSearchFixture.cs +++ b/NzbDrone.Core.Test/ProviderTests/SearchTests/PartialSeasonSearchTests/PerformSearchFixture.cs @@ -9,7 +9,6 @@ using NzbDrone.Core.Tv; using NzbDrone.Core.Model; using NzbDrone.Core.Model.Notification; using NzbDrone.Core.Providers; -using NzbDrone.Core.Providers.Indexer; using NzbDrone.Core.Providers.Search; using NzbDrone.Core.Repository; using NzbDrone.Test.Common; diff --git a/NzbDrone.Core.Test/ProviderTests/SearchTests/PerformSearchTestBase.cs b/NzbDrone.Core.Test/ProviderTests/SearchTests/PerformSearchTestBase.cs index 43bdd0f33..4b96e196b 100644 --- a/NzbDrone.Core.Test/ProviderTests/SearchTests/PerformSearchTestBase.cs +++ b/NzbDrone.Core.Test/ProviderTests/SearchTests/PerformSearchTestBase.cs @@ -5,11 +5,12 @@ using System.Text; using FizzWare.NBuilder; using Moq; using NUnit.Framework; +using NzbDrone.Core.Indexers; +using NzbDrone.Core.Indexers.Providers; using NzbDrone.Core.Tv; using NzbDrone.Core.Model; using NzbDrone.Core.Model.Notification; using NzbDrone.Core.Providers; -using NzbDrone.Core.Providers.Indexer; using NzbDrone.Core.Repository; using NzbDrone.Test.Common; @@ -56,7 +57,7 @@ namespace NzbDrone.Core.Test.ProviderTests.SearchTests _indexer2 = new Mock(); _indexers = new List { _indexer1.Object, _indexer2.Object }; - Mocker.GetMock() + Mocker.GetMock() .Setup(c => c.GetEnabledIndexers()) .Returns(_indexers); } diff --git a/NzbDrone.Core.Test/ProviderTests/SearchTests/TestSearch.cs b/NzbDrone.Core.Test/ProviderTests/SearchTests/TestSearch.cs index 2ed66672a..5c7b1c12c 100644 --- a/NzbDrone.Core.Test/ProviderTests/SearchTests/TestSearch.cs +++ b/NzbDrone.Core.Test/ProviderTests/SearchTests/TestSearch.cs @@ -4,6 +4,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; using NLog; +using NzbDrone.Core.Indexers; using NzbDrone.Core.Tv; using NzbDrone.Core.Model; using NzbDrone.Core.Providers; @@ -18,9 +19,9 @@ namespace NzbDrone.Core.Test.ProviderTests.SearchTests private static readonly Logger logger = LogManager.GetCurrentClassLogger(); public TestSearch(ISeriesService seriesService, EpisodeService episodeService, DownloadProvider downloadProvider, - IndexerProvider indexerProvider, SceneMappingProvider sceneMappingProvider, + IndexerService indexerService, SceneMappingProvider sceneMappingProvider, AllowedDownloadSpecification allowedDownloadSpecification, SearchHistoryProvider searchHistoryProvider,ISeriesRepository seriesRepository) - : base(seriesService, seriesRepository, episodeService, downloadProvider, indexerProvider, sceneMappingProvider, + : base(seriesService, seriesRepository, episodeService, downloadProvider, indexerService, sceneMappingProvider, allowedDownloadSpecification, searchHistoryProvider) { } @@ -38,7 +39,7 @@ namespace NzbDrone.Core.Test.ProviderTests.SearchTests var seasonNumber = options.Episode.SeasonNumber; var episodeNumber = options.Episode.EpisodeNumber; - Parallel.ForEach(_indexerProvider.GetEnabledIndexers(), indexer => + Parallel.ForEach(_indexerService.GetEnabledIndexers(), indexer => { try { diff --git a/NzbDrone.Core/ContainerExtentions.cs b/NzbDrone.Core/ContainerExtentions.cs index 23b9c128c..11faff3bb 100644 --- a/NzbDrone.Core/ContainerExtentions.cs +++ b/NzbDrone.Core/ContainerExtentions.cs @@ -6,9 +6,9 @@ using Autofac.Core; using NLog; using NzbDrone.Common; using NzbDrone.Core.Datastore; +using NzbDrone.Core.Indexers.Providers; using NzbDrone.Core.Instrumentation; using NzbDrone.Core.Providers.ExternalNotification; -using NzbDrone.Core.Providers.Indexer; using NzbDrone.Core.Providers.Metadata; using NzbDrone.Core.Providers.Search; using PetaPoco; diff --git a/NzbDrone.Core/Indexers/Indexer.cs b/NzbDrone.Core/Indexers/Indexer.cs new file mode 100644 index 000000000..4f263da98 --- /dev/null +++ b/NzbDrone.Core/Indexers/Indexer.cs @@ -0,0 +1,13 @@ +using System; +using NzbDrone.Core.Datastore; +using PetaPoco; + +namespace NzbDrone.Core.Indexers +{ + public class Indexer : ModelBase + { + public Boolean Enable { get; set; } + public String Type { get; set; } + public String Name { get; set; } + } +} \ No newline at end of file diff --git a/NzbDrone.Core/Indexers/IndexerRepository.cs b/NzbDrone.Core/Indexers/IndexerRepository.cs new file mode 100644 index 000000000..405fa5f44 --- /dev/null +++ b/NzbDrone.Core/Indexers/IndexerRepository.cs @@ -0,0 +1,27 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using NzbDrone.Core.Datastore; +using NzbDrone.Core.Tv; + +namespace NzbDrone.Core.Indexers +{ + public interface IIndexerRepository : IBasicRepository + { + Indexer Find(Type type); + } + + public class IndexerRepository : BasicRepository, IIndexerRepository + { + public IndexerRepository(IObjectDatabase objectDatabase) + : base(objectDatabase) + { + } + + public Indexer Find(Type type) + { + return Queryable.Single(i => i.Type == type.ToString()); + } + } +} diff --git a/NzbDrone.Core/Indexers/IndexerService.cs b/NzbDrone.Core/Indexers/IndexerService.cs new file mode 100644 index 000000000..8e36d10a6 --- /dev/null +++ b/NzbDrone.Core/Indexers/IndexerService.cs @@ -0,0 +1,87 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using NLog; +using NzbDrone.Core.Indexers.Providers; +using PetaPoco; + +namespace NzbDrone.Core.Indexers +{ + public interface IIndexerService + { + List All(); + List GetEnabledIndexers(); + void SaveSettings(Indexer indexer); + Indexer GetSettings(Type type); + } + + public class IndexerService : IIndexerService + { + private readonly IIndexerRepository _indexerRepository; + + private static readonly Logger Logger = LogManager.GetCurrentClassLogger(); + + private IList _indexers; + + public IndexerService(IIndexerRepository indexerRepository, IEnumerable indexers) + { + _indexerRepository = indexerRepository; + _indexers = indexers.ToList(); + InitializeIndexers(); + } + + public List All() + { + return _indexerRepository.All().ToList(); + } + + public List GetEnabledIndexers() + { + var all = All(); + return _indexers.Where(i => all.Exists(c => c.Type == i.GetType().ToString() && c.Enable)).ToList(); + } + + public void SaveSettings(Indexer indexer) + { + if (indexer.OID == 0) + { + Logger.Debug("Adding Indexer definitions for {0}", indexer.Name); + _indexerRepository.Insert(indexer); + } + else + { + Logger.Debug("Updating Indexer definitions for {0}", indexer.Name); + _indexerRepository.Update(indexer); + } + } + + public Indexer GetSettings(Type type) + { + return _indexerRepository.Find(type); + } + + private void InitializeIndexers() + { + Logger.Debug("Initializing indexers. Count {0}", _indexers.Count); + + + var currentIndexers = All(); + + foreach (var feedProvider in _indexers) + { + IndexerBase indexerLocal = feedProvider; + if (!currentIndexers.Exists(c => c.Type == indexerLocal.GetType().ToString())) + { + var settings = new Indexer + { + Enable = indexerLocal.EnabledByDefault, + Type = indexerLocal.GetType().ToString(), + Name = indexerLocal.Name + }; + + SaveSettings(settings); + } + } + } + } +} \ No newline at end of file diff --git a/NzbDrone.Core/Providers/Indexer/FileSharingTalk.cs b/NzbDrone.Core/Indexers/Providers/FileSharingTalk.cs similarity index 96% rename from NzbDrone.Core/Providers/Indexer/FileSharingTalk.cs rename to NzbDrone.Core/Indexers/Providers/FileSharingTalk.cs index 7c710d11d..ea39aa99a 100644 --- a/NzbDrone.Core/Providers/Indexer/FileSharingTalk.cs +++ b/NzbDrone.Core/Indexers/Providers/FileSharingTalk.cs @@ -1,12 +1,12 @@ -using System; +using System.Linq; +using System; using System.Collections.Generic; using System.ServiceModel.Syndication; -using System.Text.RegularExpressions; using NzbDrone.Common; using NzbDrone.Core.Model; using NzbDrone.Core.Providers.Core; -namespace NzbDrone.Core.Providers.Indexer +namespace NzbDrone.Core.Indexers.Providers { public class FileSharingTalk : IndexerBase { diff --git a/NzbDrone.Core/Providers/Indexer/IndexerBase.cs b/NzbDrone.Core/Indexers/Providers/IndexerBase.cs similarity index 99% rename from NzbDrone.Core/Providers/Indexer/IndexerBase.cs rename to NzbDrone.Core/Indexers/Providers/IndexerBase.cs index 9d8172b40..4051e1302 100644 --- a/NzbDrone.Core/Providers/Indexer/IndexerBase.cs +++ b/NzbDrone.Core/Indexers/Providers/IndexerBase.cs @@ -9,7 +9,7 @@ using NzbDrone.Common; using NzbDrone.Core.Model; using NzbDrone.Core.Providers.Core; -namespace NzbDrone.Core.Providers.Indexer +namespace NzbDrone.Core.Indexers.Providers { public abstract class IndexerBase { diff --git a/NzbDrone.Core/Providers/Indexer/Newznab.cs b/NzbDrone.Core/Indexers/Providers/Newznab.cs similarity index 97% rename from NzbDrone.Core/Providers/Indexer/Newznab.cs rename to NzbDrone.Core/Indexers/Providers/Newznab.cs index 93491621e..ef464c3df 100644 --- a/NzbDrone.Core/Providers/Indexer/Newznab.cs +++ b/NzbDrone.Core/Indexers/Providers/Newznab.cs @@ -1,12 +1,14 @@ -using System; +using System.Linq; +using System; using System.Collections.Generic; using System.ServiceModel.Syndication; using System.Text.RegularExpressions; using NzbDrone.Common; using NzbDrone.Core.Model; +using NzbDrone.Core.Providers; using NzbDrone.Core.Providers.Core; -namespace NzbDrone.Core.Providers.Indexer +namespace NzbDrone.Core.Indexers.Providers { public class Newznab : IndexerBase { diff --git a/NzbDrone.Core/Providers/Indexer/NzbClub.cs b/NzbDrone.Core/Indexers/Providers/NzbClub.cs similarity index 97% rename from NzbDrone.Core/Providers/Indexer/NzbClub.cs rename to NzbDrone.Core/Indexers/Providers/NzbClub.cs index 607c3efad..922903534 100644 --- a/NzbDrone.Core/Providers/Indexer/NzbClub.cs +++ b/NzbDrone.Core/Indexers/Providers/NzbClub.cs @@ -1,4 +1,5 @@ -using System; +using System.Linq; +using System; using System.Collections.Generic; using System.ServiceModel.Syndication; using System.Text.RegularExpressions; @@ -6,7 +7,7 @@ using NzbDrone.Common; using NzbDrone.Core.Model; using NzbDrone.Core.Providers.Core; -namespace NzbDrone.Core.Providers.Indexer +namespace NzbDrone.Core.Indexers.Providers { public class NzbClub : IndexerBase { diff --git a/NzbDrone.Core/Providers/Indexer/NzbIndex.cs b/NzbDrone.Core/Indexers/Providers/NzbIndex.cs similarity index 97% rename from NzbDrone.Core/Providers/Indexer/NzbIndex.cs rename to NzbDrone.Core/Indexers/Providers/NzbIndex.cs index 390da4c50..049b5ae3a 100644 --- a/NzbDrone.Core/Providers/Indexer/NzbIndex.cs +++ b/NzbDrone.Core/Indexers/Providers/NzbIndex.cs @@ -1,4 +1,5 @@ -using System; +using System.Linq; +using System; using System.Collections.Generic; using System.ServiceModel.Syndication; using System.Text.RegularExpressions; @@ -6,7 +7,7 @@ using NzbDrone.Common; using NzbDrone.Core.Model; using NzbDrone.Core.Providers.Core; -namespace NzbDrone.Core.Providers.Indexer +namespace NzbDrone.Core.Indexers.Providers { public class NzbIndex : IndexerBase { diff --git a/NzbDrone.Core/Providers/Indexer/NzbsRUs.cs b/NzbDrone.Core/Indexers/Providers/NzbsRUs.cs similarity index 97% rename from NzbDrone.Core/Providers/Indexer/NzbsRUs.cs rename to NzbDrone.Core/Indexers/Providers/NzbsRUs.cs index ccd61fd5b..565fdeb38 100644 --- a/NzbDrone.Core/Providers/Indexer/NzbsRUs.cs +++ b/NzbDrone.Core/Indexers/Providers/NzbsRUs.cs @@ -1,4 +1,5 @@ -using System; +using System.Linq; +using System; using System.Collections.Generic; using System.ServiceModel.Syndication; using System.Text.RegularExpressions; @@ -6,7 +7,7 @@ using NzbDrone.Common; using NzbDrone.Core.Model; using NzbDrone.Core.Providers.Core; -namespace NzbDrone.Core.Providers.Indexer +namespace NzbDrone.Core.Indexers.Providers { public class NzbsRUs : IndexerBase { diff --git a/NzbDrone.Core/Providers/Indexer/Nzbx.cs b/NzbDrone.Core/Indexers/Providers/Nzbx.cs similarity index 98% rename from NzbDrone.Core/Providers/Indexer/Nzbx.cs rename to NzbDrone.Core/Indexers/Providers/Nzbx.cs index 5604808ac..1ffd9f2cd 100644 --- a/NzbDrone.Core/Providers/Indexer/Nzbx.cs +++ b/NzbDrone.Core/Indexers/Providers/Nzbx.cs @@ -3,15 +3,13 @@ using System.Collections.Generic; using System.Linq; using System.Net; using System.ServiceModel.Syndication; -using System.Text; -using System.Text.RegularExpressions; using Newtonsoft.Json; using NzbDrone.Common; using NzbDrone.Core.Model; using NzbDrone.Core.Model.Nzbx; using NzbDrone.Core.Providers.Core; -namespace NzbDrone.Core.Providers.Indexer +namespace NzbDrone.Core.Indexers.Providers { class Nzbx : IndexerBase { diff --git a/NzbDrone.Core/Providers/Indexer/Omgwtfnzbs.cs b/NzbDrone.Core/Indexers/Providers/Omgwtfnzbs.cs similarity index 98% rename from NzbDrone.Core/Providers/Indexer/Omgwtfnzbs.cs rename to NzbDrone.Core/Indexers/Providers/Omgwtfnzbs.cs index a97b6d63a..73adaaf38 100644 --- a/NzbDrone.Core/Providers/Indexer/Omgwtfnzbs.cs +++ b/NzbDrone.Core/Indexers/Providers/Omgwtfnzbs.cs @@ -2,13 +2,12 @@ using System.Collections.Generic; using System.Linq; using System.ServiceModel.Syndication; -using System.Text; using System.Text.RegularExpressions; using NzbDrone.Common; using NzbDrone.Core.Model; using NzbDrone.Core.Providers.Core; -namespace NzbDrone.Core.Providers.Indexer +namespace NzbDrone.Core.Indexers.Providers { class Omgwtfnzbs : IndexerBase { diff --git a/NzbDrone.Core/Providers/Indexer/SyndicationFeedXmlReader.cs b/NzbDrone.Core/Indexers/Providers/SyndicationFeedXmlReader.cs similarity index 97% rename from NzbDrone.Core/Providers/Indexer/SyndicationFeedXmlReader.cs rename to NzbDrone.Core/Indexers/Providers/SyndicationFeedXmlReader.cs index 5d8e7123b..6f21848fc 100644 --- a/NzbDrone.Core/Providers/Indexer/SyndicationFeedXmlReader.cs +++ b/NzbDrone.Core/Indexers/Providers/SyndicationFeedXmlReader.cs @@ -2,8 +2,6 @@ //https://connect.microsoft.com/VisualStudio/feedback/details/325421/syndicationfeed-load-fails-to-parse-datetime-against-a-real-world-feeds-ie7-can-read using System; -using System.Collections.Generic; -using System.Diagnostics; using System.Globalization; using System.IO; using System.Linq; @@ -13,7 +11,7 @@ using System.Threading; using System.Xml; using NLog; -namespace NzbDrone.Core.Providers.Indexer +namespace NzbDrone.Core.Indexers.Providers { public class SyndicationFeedXmlReader : XmlTextReader { diff --git a/NzbDrone.Core/Providers/Indexer/Wombles.cs b/NzbDrone.Core/Indexers/Providers/Wombles.cs similarity index 95% rename from NzbDrone.Core/Providers/Indexer/Wombles.cs rename to NzbDrone.Core/Indexers/Providers/Wombles.cs index f61906e37..1a45df14c 100644 --- a/NzbDrone.Core/Providers/Indexer/Wombles.cs +++ b/NzbDrone.Core/Indexers/Providers/Wombles.cs @@ -1,12 +1,12 @@ -using System; +using System.Linq; +using System; using System.Collections.Generic; using System.ServiceModel.Syndication; -using System.Text.RegularExpressions; using NzbDrone.Common; using NzbDrone.Core.Model; using NzbDrone.Core.Providers.Core; -namespace NzbDrone.Core.Providers.Indexer +namespace NzbDrone.Core.Indexers.Providers { public class Wombles : IndexerBase { diff --git a/NzbDrone.Core/Jobs/RssSyncJob.cs b/NzbDrone.Core/Jobs/RssSyncJob.cs index 7557c30b8..d7d2e6e1e 100644 --- a/NzbDrone.Core/Jobs/RssSyncJob.cs +++ b/NzbDrone.Core/Jobs/RssSyncJob.cs @@ -3,19 +3,19 @@ using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using NLog; +using NzbDrone.Core.Indexers; using NzbDrone.Core.Model; using NzbDrone.Core.Model.Notification; using NzbDrone.Core.Providers; using NzbDrone.Core.Providers.Core; using NzbDrone.Core.DecisionEngine; -using NzbDrone.Core.Providers.Indexer; namespace NzbDrone.Core.Jobs { public class RssSyncJob : IJob { private readonly DownloadProvider _downloadProvider; - private readonly IndexerProvider _indexerProvider; + private readonly IndexerService _indexerService; private readonly MonitoredEpisodeSpecification _isMonitoredEpisodeSpecification; private readonly AllowedDownloadSpecification _allowedDownloadSpecification; private readonly UpgradeHistorySpecification _upgradeHistorySpecification; @@ -24,12 +24,12 @@ namespace NzbDrone.Core.Jobs private static readonly Logger Logger = LogManager.GetCurrentClassLogger(); - public RssSyncJob(DownloadProvider downloadProvider, IndexerProvider indexerProvider, + public RssSyncJob(DownloadProvider downloadProvider, IndexerService indexerService, MonitoredEpisodeSpecification isMonitoredEpisodeSpecification, AllowedDownloadSpecification allowedDownloadSpecification, UpgradeHistorySpecification upgradeHistorySpecification, ConfigProvider configProvider) { _downloadProvider = downloadProvider; - _indexerProvider = indexerProvider; + _indexerService = indexerService; _isMonitoredEpisodeSpecification = isMonitoredEpisodeSpecification; _allowedDownloadSpecification = allowedDownloadSpecification; _upgradeHistorySpecification = upgradeHistorySpecification; @@ -52,7 +52,7 @@ namespace NzbDrone.Core.Jobs notification.CurrentMessage = "Fetching RSS"; - Parallel.ForEach(_indexerProvider.GetEnabledIndexers(), indexer => + Parallel.ForEach(_indexerService.GetEnabledIndexers(), indexer => { try { diff --git a/NzbDrone.Core/NzbDrone.Core.csproj b/NzbDrone.Core/NzbDrone.Core.csproj index 5c319928a..1f79cc4f7 100644 --- a/NzbDrone.Core/NzbDrone.Core.csproj +++ b/NzbDrone.Core/NzbDrone.Core.csproj @@ -268,6 +268,7 @@ + @@ -340,13 +341,13 @@ - + - - - - - + + + + + @@ -490,19 +491,19 @@ Code - + Code - + Code - + Code - + Code - + Code @@ -576,7 +577,7 @@ - + diff --git a/NzbDrone.Core/Providers/IndexerProvider.cs b/NzbDrone.Core/Providers/IndexerProvider.cs deleted file mode 100644 index acb487fe3..000000000 --- a/NzbDrone.Core/Providers/IndexerProvider.cs +++ /dev/null @@ -1,85 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using NLog; -using NzbDrone.Core.Providers.Indexer; -using NzbDrone.Core.Repository; -using PetaPoco; - -namespace NzbDrone.Core.Providers -{ - public class IndexerProvider - { - private static readonly Logger Logger = LogManager.GetCurrentClassLogger(); - private readonly IDatabase _database; - - private IList _indexers; - - public IndexerProvider(IDatabase database, IEnumerable indexers) - { - _database = database; - _indexers = indexers.ToList(); - InitializeIndexers(); - - } - - public IndexerProvider() - { - - } - - public virtual IList GetEnabledIndexers() - { - var all = All(); - return _indexers.Where(i => all.Exists(c => c.IndexProviderType == i.GetType().ToString() && c.Enable)).ToList(); - } - - public virtual List All() - { - return _database.Fetch(); - } - - public virtual void SaveSettings(IndexerDefinition definitions) - { - if (definitions.Id == 0) - { - Logger.Debug("Adding Indexer definitions for {0}", definitions.Name); - _database.Insert(definitions); - } - else - { - Logger.Debug("Updating Indexer definitions for {0}", definitions.Name); - _database.Update(definitions); - } - } - - public virtual IndexerDefinition GetSettings(Type type) - { - return _database.Single("WHERE IndexProviderType = @0", type.ToString()); - } - - private void InitializeIndexers() - { - Logger.Debug("Initializing indexers. Count {0}", _indexers.Count); - - - var currentIndexers = All(); - - foreach (var feedProvider in _indexers) - { - IndexerBase indexerLocal = feedProvider; - if (!currentIndexers.Exists(c => c.IndexProviderType == indexerLocal.GetType().ToString())) - { - var settings = new IndexerDefinition - { - Enable = indexerLocal.EnabledByDefault, - IndexProviderType = indexerLocal.GetType().ToString(), - Name = indexerLocal.Name - }; - - SaveSettings(settings); - } - } - } - } -} \ No newline at end of file diff --git a/NzbDrone.Core/Providers/Search/DailyEpisodeSearch.cs b/NzbDrone.Core/Providers/Search/DailyEpisodeSearch.cs index 52d0a45fe..c488af420 100644 --- a/NzbDrone.Core/Providers/Search/DailyEpisodeSearch.cs +++ b/NzbDrone.Core/Providers/Search/DailyEpisodeSearch.cs @@ -4,6 +4,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; using NLog; +using NzbDrone.Core.Indexers; using NzbDrone.Core.Tv; using NzbDrone.Core.Model; using NzbDrone.Core.Model.Notification; @@ -18,10 +19,10 @@ namespace NzbDrone.Core.Providers.Search private readonly ISeriesRepository _seriesRepository; private static readonly Logger logger = LogManager.GetCurrentClassLogger(); - public DailyEpisodeSearch(ISeriesService seriesService, EpisodeService episodeService, DownloadProvider downloadProvider, IndexerProvider indexerProvider, + public DailyEpisodeSearch(ISeriesService seriesService, EpisodeService episodeService, DownloadProvider downloadProvider, IndexerService indexerService, SceneMappingProvider sceneMappingProvider, AllowedDownloadSpecification allowedDownloadSpecification, SearchHistoryProvider searchHistoryProvider, ISeriesRepository seriesRepository) - : base(seriesService, seriesRepository, episodeService, downloadProvider, indexerProvider, sceneMappingProvider, + : base(seriesService, seriesRepository, episodeService, downloadProvider, indexerService, sceneMappingProvider, allowedDownloadSpecification, searchHistoryProvider) { _seriesRepository = seriesRepository; @@ -41,7 +42,7 @@ namespace NzbDrone.Core.Providers.Search var reports = new List(); var title = GetSearchTitle(series); - Parallel.ForEach(_indexerProvider.GetEnabledIndexers(), indexer => + Parallel.ForEach(_indexerService.GetEnabledIndexers(), indexer => { try { diff --git a/NzbDrone.Core/Providers/Search/EpisodeSearch.cs b/NzbDrone.Core/Providers/Search/EpisodeSearch.cs index 787bbd036..bf09c8c2a 100644 --- a/NzbDrone.Core/Providers/Search/EpisodeSearch.cs +++ b/NzbDrone.Core/Providers/Search/EpisodeSearch.cs @@ -4,6 +4,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; using NLog; +using NzbDrone.Core.Indexers; using NzbDrone.Core.Tv; using NzbDrone.Core.Model; using NzbDrone.Core.Model.Notification; @@ -17,10 +18,10 @@ namespace NzbDrone.Core.Providers.Search { private static readonly Logger logger = LogManager.GetCurrentClassLogger(); - public EpisodeSearch(ISeriesService seriesService, EpisodeService episodeService, DownloadProvider downloadProvider, IndexerProvider indexerProvider, + public EpisodeSearch(ISeriesService seriesService, EpisodeService episodeService, DownloadProvider downloadProvider, IndexerService indexerService, SceneMappingProvider sceneMappingProvider, AllowedDownloadSpecification allowedDownloadSpecification, SearchHistoryProvider searchHistoryProvider, ISeriesRepository seriesRepository) - : base(seriesService,seriesRepository, episodeService, downloadProvider, indexerProvider, sceneMappingProvider, + : base(seriesService,seriesRepository, episodeService, downloadProvider, indexerService, sceneMappingProvider, allowedDownloadSpecification, searchHistoryProvider) { } @@ -55,7 +56,7 @@ namespace NzbDrone.Core.Providers.Search } } - Parallel.ForEach(_indexerProvider.GetEnabledIndexers(), indexer => + Parallel.ForEach(_indexerService.GetEnabledIndexers(), indexer => { try { diff --git a/NzbDrone.Core/Providers/Search/PartialSeasonSearch.cs b/NzbDrone.Core/Providers/Search/PartialSeasonSearch.cs index b90931d05..080dc8172 100644 --- a/NzbDrone.Core/Providers/Search/PartialSeasonSearch.cs +++ b/NzbDrone.Core/Providers/Search/PartialSeasonSearch.cs @@ -4,6 +4,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; using NLog; +using NzbDrone.Core.Indexers; using NzbDrone.Core.Tv; using NzbDrone.Core.Model; using NzbDrone.Core.Model.Notification; @@ -17,10 +18,10 @@ namespace NzbDrone.Core.Providers.Search { private static readonly Logger logger = LogManager.GetCurrentClassLogger(); - public PartialSeasonSearch(ISeriesService seriesService, EpisodeService episodeService, DownloadProvider downloadProvider, IndexerProvider indexerProvider, + public PartialSeasonSearch(ISeriesService seriesService, EpisodeService episodeService, DownloadProvider downloadProvider, IndexerService indexerService, SceneMappingProvider sceneMappingProvider, AllowedDownloadSpecification allowedDownloadSpecification, SearchHistoryProvider searchHistoryProvider,ISeriesRepository seriesRepository) - : base(seriesService, seriesRepository, episodeService, downloadProvider, indexerProvider, sceneMappingProvider, + : base(seriesService, seriesRepository, episodeService, downloadProvider, indexerService, sceneMappingProvider, allowedDownloadSpecification, searchHistoryProvider) { } @@ -54,7 +55,7 @@ namespace NzbDrone.Core.Providers.Search { var prefix = p; - Parallel.ForEach(_indexerProvider.GetEnabledIndexers(), indexer => + Parallel.ForEach(_indexerService.GetEnabledIndexers(), indexer => { try { diff --git a/NzbDrone.Core/Providers/Search/SearchBase.cs b/NzbDrone.Core/Providers/Search/SearchBase.cs index b7ede3587..801ae5bb5 100644 --- a/NzbDrone.Core/Providers/Search/SearchBase.cs +++ b/NzbDrone.Core/Providers/Search/SearchBase.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.Linq; using System.Text.RegularExpressions; using NLog; +using NzbDrone.Core.Indexers; using NzbDrone.Core.Tv; using NzbDrone.Core.Model; using NzbDrone.Core.Model.Notification; @@ -17,7 +18,7 @@ namespace NzbDrone.Core.Providers.Search private readonly ISeriesRepository _seriesRepository; protected readonly EpisodeService _episodeService; protected readonly DownloadProvider _downloadProvider; - protected readonly IndexerProvider _indexerProvider; + protected readonly IndexerService _indexerService; protected readonly SceneMappingProvider _sceneMappingProvider; protected readonly AllowedDownloadSpecification _allowedDownloadSpecification; protected readonly SearchHistoryProvider _searchHistoryProvider; @@ -25,7 +26,7 @@ namespace NzbDrone.Core.Providers.Search private static readonly Logger logger = LogManager.GetCurrentClassLogger(); protected SearchBase(ISeriesService seriesService,ISeriesRepository seriesRepository, EpisodeService episodeService, DownloadProvider downloadProvider, - IndexerProvider indexerProvider, SceneMappingProvider sceneMappingProvider, + IndexerService indexerService, SceneMappingProvider sceneMappingProvider, AllowedDownloadSpecification allowedDownloadSpecification, SearchHistoryProvider searchHistoryProvider) { @@ -33,7 +34,7 @@ namespace NzbDrone.Core.Providers.Search _seriesRepository = seriesRepository; _episodeService = episodeService; _downloadProvider = downloadProvider; - _indexerProvider = indexerProvider; + _indexerService = indexerService; _sceneMappingProvider = sceneMappingProvider; _allowedDownloadSpecification = allowedDownloadSpecification; _searchHistoryProvider = searchHistoryProvider; diff --git a/NzbDrone.Core/Repository/IndexerDefinition.cs b/NzbDrone.Core/Repository/IndexerDefinition.cs deleted file mode 100644 index f32879cc7..000000000 --- a/NzbDrone.Core/Repository/IndexerDefinition.cs +++ /dev/null @@ -1,18 +0,0 @@ -using System; -using PetaPoco; - -namespace NzbDrone.Core.Repository -{ - [TableName("IndexerDefinitions")] - [PrimaryKey("Id", autoIncrement = true)] - public class IndexerDefinition - { - public int Id { get; set; } - - public Boolean Enable { get; set; } - - public String IndexProviderType { get; set; } - - public String Name { get; set; } - } -} \ No newline at end of file diff --git a/SqlCe/NzbDrone.SqlCe.dll b/SqlCe/NzbDrone.SqlCe.dll index e97d5fce656f545a365b90919028ce1782e4cff7..79b0def7443e895362b175b7ff43b14d47ec85fc 100644 GIT binary patch delta 118 zcmZorXi%8Y!94wt>c(zEHUSAv?vTxa8+;p1<^6aeyJY|5Gi)b3fs%m?K)?jVGK>ri zYgB=loq-`J*d_R=Si5x7`T5>+-UUpX`QTazNKLX;OlWaxQE`lKVo`RCOHqD7Qhr5@ ROKREVOYE;VpWv`y2LQ1ZDyIMd delta 110 zcmZorXi%8Y!F=bS;>K=6HUZ5!`VtHN7rVFfEP8&gK)?jVGK>ri zYgB=loq-`J*d=(|AFalDU#I$PD9F3c7M<1uQj=^I<5HAgkd$8$