Fixed: Removed Womble indexer.

This commit is contained in:
Taloth Saldono 2017-02-21 17:03:10 +01:00
parent 060b9f6fd1
commit 2855090005
12 changed files with 29 additions and 226 deletions

View File

@ -1,78 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title>Womble's NZB Index</title>
<link>http://indexer.local/</link>
<description>NZB Index</description>
<webMaster>my.email@internet.me</webMaster>
<ttl>15</ttl>
<item>
<title>One.Child.S01E01.720p.HDTV.x264-TLA</title>
<link>http://indexer.local/nzb/bb4/One.Child.S01E01.720p.HDTV.x264-TLA.nzb</link>
<description>
One.Child.S01E01.720p.HDTV.x264-TLA
(Size:956 Mb)
</description>
<category>tv-hd</category>
<pubDate>2/17/2016 11:03:52 PM</pubDate>
<guid isPermaLink="true">http://indexer.local/nzb/bb4/One.Child.S01E01.720p.HDTV.x264-TLA.nzb</guid>
<enclosure url="http://indexer.local/nzb/bb4/One.Child.S01E01.720p.HDTV.x264-TLA.nzb" length="2048" type="text/xml" />
</item>
<item>
<title>Midsomer.Murders.S18E06.Harvest.Of.Souls.HDTV.x264-ORGANiC</title>
<link>http://indexer.local/nzb/17c/Midsomer.Murders.S18E06.Harvest.Of.Souls.HDTV.x264-ORGANiC.nzb</link>
<description>
Midsomer.Murders.S18E06.Harvest.Of.Souls.HDTV.x264-ORGANiC
(Size:730 Mb)
</description>
<category>tv-sd</category>
<pubDate>2/17/2016 10:55:33 PM</pubDate>
<guid isPermaLink="true">http://indexer.local/nzb/17c/Midsomer.Murders.S18E06.Harvest.Of.Souls.HDTV.x264-ORGANiC.nzb</guid>
<enclosure url="http://indexer.local/nzb/17c/Midsomer.Murders.S18E06.Harvest.Of.Souls.HDTV.x264-ORGANiC.nzb" length="2048" type="text/xml" />
</item>
<item>
<title>Forget.and.Forgive.2014.HDTV.x264-SQUEAK</title>
<link>http://indexer.local/nzb/f3f/Forget.and.Forgive.2014.HDTV.x264-SQUEAK.nzb</link>
<description>
Forget.and.Forgive.2014.HDTV.x264-SQUEAK
(Size:719 Mb)
</description>
<category>tv-sd</category>
<pubDate>2/17/2016 10:25:28 PM</pubDate>
<guid isPermaLink="true">http://indexer.local/nzb/f3f/Forget.and.Forgive.2014.HDTV.x264-SQUEAK.nzb</guid>
<enclosure url="http://indexer.local/nzb/f3f/Forget.and.Forgive.2014.HDTV.x264-SQUEAK.nzb" length="2048" type="text/xml" />
</item>
<item>
<title>National.Geographic.The.Lakeshore.Killers.HDTV.x264-SQUEAK</title>
<link>http://indexer.local/nzb/828/National.Geographic.The.Lakeshore.Killers.HDTV.x264-SQUEAK.nzb</link>
<description>
National.Geographic.The.Lakeshore.Killers.HDTV.x264-SQUEAK
(Size:436 Mb)
</description>
<category>tv-sd</category>
<pubDate>2/17/2016 10:20:36 PM</pubDate>
<guid isPermaLink="true">http://indexer.local/nzb/828/National.Geographic.The.Lakeshore.Killers.HDTV.x264-SQUEAK.nzb</guid>
<enclosure url="http://indexer.local/nzb/828/National.Geographic.The.Lakeshore.Killers.HDTV.x264-SQUEAK.nzb" length="2048" type="text/xml" />
</item>
<item>
<title>Desert.Lands.of.The.Middle.East.E01.Turkeys.Harsh.Paradise.HDTV.x264-SQUEAK</title>
<link>http://indexer.local/nzb/210/Desert.Lands.of.The.Middle.East.E01.Turkeys.Harsh.Paradise.HDTV.x264-SQUEAK.nzb</link>
<description>
Desert.Lands.of.The.Middle.East.E01.Turkeys.Harsh.Paradise.HDTV.x264-SQUEAK
(Size:460 Mb)
</description>
<category>tv-sd</category>
<pubDate>2/17/2016 10:18:29 PM</pubDate>
<guid isPermaLink="true">http://indexer.local/nzb/210/Desert.Lands.of.The.Middle.East.E01.Turkeys.Harsh.Paradise.HDTV.x264-SQUEAK.nzb</guid>
<enclosure url="http://indexer.local/nzb/210/Desert.Lands.of.The.Middle.East.E01.Turkeys.Harsh.Paradise.HDTV.x264-SQUEAK.nzb" length="2048" type="text/xml" />
</item>
</channel>
</rss>

View File

@ -5,7 +5,6 @@ using NUnit.Framework;
using NzbDrone.Core.Indexers;
using NzbDrone.Core.Indexers.Newznab;
using NzbDrone.Core.Indexers.Omgwtfnzbs;
using NzbDrone.Core.Indexers.Wombles;
using NzbDrone.Core.Lifecycle;
using NzbDrone.Core.Test.Framework;
@ -22,7 +21,6 @@ namespace NzbDrone.Core.Test.IndexerTests
_indexers.Add(Mocker.Resolve<Newznab>());
_indexers.Add(Mocker.Resolve<Omgwtfnzbs>());
_indexers.Add(Mocker.Resolve<Wombles>());
Mocker.SetConstant<IEnumerable<IIndexer>>(_indexers);
}
@ -44,4 +42,4 @@ namespace NzbDrone.Core.Test.IndexerTests
AllStoredModels.Should().NotContain(c => c.Id == existingIndexers.Id);
}
}
}
}

View File

@ -5,7 +5,6 @@ using NUnit.Framework;
using NzbDrone.Common.Extensions;
using NzbDrone.Core.Indexers;
using NzbDrone.Core.Indexers.Nyaa;
using NzbDrone.Core.Indexers.Wombles;
using NzbDrone.Core.IndexerSearch.Definitions;
using NzbDrone.Core.Parser.Model;
using NzbDrone.Core.Test.Framework;
@ -39,22 +38,6 @@ namespace NzbDrone.Core.Test.IndexerTests.IntegrationTests
};
}
[Test]
public void wombles_fetch_recent()
{
var indexer = Mocker.Resolve<Wombles>();
indexer.Definition = new IndexerDefinition
{
Name = "MyIndexer",
Settings = NullConfig.Instance
};
var result = indexer.FetchRecent();
ValidateResult(result);
}
[Test]
public void nyaa_fetch_recent()
{

View File

@ -1,59 +0,0 @@
using System;
using System.Linq;
using FluentAssertions;
using Moq;
using NUnit.Framework;
using NzbDrone.Common.Http;
using NzbDrone.Core.Indexers;
using NzbDrone.Core.Indexers.Wombles;
using NzbDrone.Core.Test.Framework;
using NzbDrone.Core.ThingiProvider;
namespace NzbDrone.Core.Test.IndexerTests.WomblesTests
{
[TestFixture]
public class TorrentRssIndexerFixture : CoreTest<Wombles>
{
[SetUp]
public void Setup()
{
Subject.Definition = new IndexerDefinition()
{
Name = "Wombles",
Settings = new NullConfig(),
};
}
private void GivenRecentFeedResponse(string rssXmlFile)
{
var recentFeed = ReadAllText(@"Files/Indexers/" + rssXmlFile);
Mocker.GetMock<IHttpClient>()
.Setup(o => o.Execute(It.IsAny<HttpRequest>()))
.Returns<HttpRequest>(r => new HttpResponse(r, new HttpHeader(), recentFeed));
}
[Test]
public void should_parse_recent_feed_from_wombles()
{
GivenRecentFeedResponse("Wombles/wombles.xml");
var releases = Subject.FetchRecent();
releases.Should().HaveCount(5);
var releaseInfo = releases.First();
releaseInfo.Title.Should().Be("One.Child.S01E01.720p.HDTV.x264-TLA");
releaseInfo.DownloadProtocol.Should().Be(DownloadProtocol.Usenet);
releaseInfo.DownloadUrl.Should().Be("http://indexer.local/nzb/bb4/One.Child.S01E01.720p.HDTV.x264-TLA.nzb");
releaseInfo.InfoUrl.Should().BeNullOrEmpty();
releaseInfo.CommentUrl.Should().BeNullOrEmpty();
releaseInfo.Indexer.Should().Be(Subject.Definition.Name);
releaseInfo.PublishDate.Should().Be(DateTime.Parse("2016-02-17 23:03:52 +0000").ToUniversalTime());
releaseInfo.Size.Should().Be(956*1024*1024);
}
}
}

View File

@ -268,7 +268,6 @@
<Compile Include="IndexerTests\TorrentleechTests\TorrentleechFixture.cs" />
<Compile Include="IndexerTests\TorrentRssIndexerTests\TorrentRssIndexerFixture.cs" />
<Compile Include="IndexerTests\TorrentRssIndexerTests\TestTorrentRssIndexer.cs" />
<Compile Include="IndexerTests\WomblesTests\WomblesFixture.cs" />
<Compile Include="IndexerTests\XElementExtensionsFixture.cs" />
<Compile Include="Instrumentation\DatabaseTargetFixture.cs" />
<Compile Include="JobTests\JobRepositoryFixture.cs" />
@ -536,10 +535,6 @@
<Content Include="Files\Indexers\Torznab\torznab_tpb.xml">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Include="Files\Indexers\Wombles\wombles.xml">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
<SubType>Designer</SubType>
</Content>
<Content Include="Files\Indexers\BitMeTv\BitMeTv.xml">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>

View File

@ -0,0 +1,14 @@
using FluentMigrator;
using NzbDrone.Core.Datastore.Migration.Framework;
namespace NzbDrone.Core.Datastore.Migration
{
[Migration(107)]
public class remove_wombles : NzbDroneMigrationBase
{
protected override void MainDbUpgrade()
{
Execute.Sql("DELETE FROM Indexers WHERE Implementation = 'Wombles';");
}
}
}

View File

@ -1,32 +0,0 @@
using NLog;
using NzbDrone.Common.Http;
using NzbDrone.Core.Configuration;
using NzbDrone.Core.Parser;
using NzbDrone.Core.ThingiProvider;
namespace NzbDrone.Core.Indexers.Wombles
{
public class Wombles : HttpIndexerBase<NullConfig>
{
public override string Name => "Womble's";
public override DownloadProtocol Protocol => DownloadProtocol.Usenet;
public override bool SupportsSearch => false;
public override IParseIndexerResponse GetParser()
{
return new WomblesRssParser();
}
public override IIndexerRequestGenerator GetRequestGenerator()
{
return new RssIndexerRequestGenerator("http://newshost.co.za/rss/?sec=TV&fr=false");
}
public Wombles(IHttpClient httpClient, IIndexerStatusService indexerStatusService, IConfigService configService, IParsingService parsingService, Logger logger)
: base(httpClient, indexerStatusService, configService, parsingService, logger)
{
}
}
}

View File

@ -1,20 +0,0 @@
using System;
using System.Xml.Linq;
namespace NzbDrone.Core.Indexers.Wombles
{
public class WomblesRssParser : RssParser
{
public WomblesRssParser()
{
ParseSizeInDescription = true;
}
protected override DateTime GetPublishDate(XElement item)
{
var dateString = item.TryGetValue("pubDate") + " +0000";
return XElementExtensions.ParseDate(dateString);
}
}
}

View File

@ -249,6 +249,7 @@
<Compile Include="Datastore\Migration\068_add_release_restrictions.cs" />
<Compile Include="Datastore\Migration\069_quality_proper.cs" />
<Compile Include="Datastore\Migration\070_delay_profile.cs" />
<Compile Include="Datastore\Migration\107_remove_wombles.cs" />
<Compile Include="Datastore\Migration\106_update_btn_url.cs" />
<Compile Include="Datastore\Migration\096_disable_kickass.cs" />
<Compile Include="Datastore\Migration\095_add_additional_episodes_index.cs" />
@ -671,8 +672,6 @@
<Compile Include="Indexers\Torznab\TorznabException.cs" />
<Compile Include="Indexers\Torznab\TorznabRssParser.cs" />
<Compile Include="Indexers\Torznab\TorznabSettings.cs" />
<Compile Include="Indexers\Wombles\Wombles.cs" />
<Compile Include="Indexers\Wombles\WomblesRssParser.cs" />
<Compile Include="Indexers\XElementExtensions.cs" />
<Compile Include="IndexerSearch\Definitions\AnimeEpisodeSearchCriteria.cs" />
<Compile Include="IndexerSearch\Definitions\DailyEpisodeSearchCriteria.cs" />

View File

@ -9,6 +9,7 @@ namespace NzbDrone.Integration.Test.ApiTests
public class IndexerFixture : IntegrationTest
{
[Test]
[Ignore("Need mock Newznab to test")]
public void should_have_built_in_indexer()
{
var indexers = Indexers.All();
@ -18,4 +19,4 @@ namespace NzbDrone.Integration.Test.ApiTests
indexers.Where(c => c.ConfigContract == typeof(NullConfig).Name).Should().OnlyContain(c => c.EnableRss);
}
}
}
}

View File

@ -7,6 +7,7 @@ using System.Net;
namespace NzbDrone.Integration.Test.ApiTests
{
[TestFixture]
[Ignore("Need mock Newznab to test")]
public class ReleaseFixture : IntegrationTest
{
[Test]
@ -36,8 +37,8 @@ namespace NzbDrone.Integration.Test.ApiTests
// But if it didn't accept it, it would return NotFound.
// TODO: Maybe we should create a full mock Newznab server endpoint.
//var result = Releases.Post(new ReleaseResource { Guid = releases.First().Guid });
//result.Guid.Should().Be(releases.First().Guid);
//result.Guid.Should().Be(releases.First().Guid);
var result = Releases.Post(new ReleaseResource { Guid = releases.First().Guid }, HttpStatusCode.InternalServerError);
}
@ -55,4 +56,4 @@ namespace NzbDrone.Integration.Test.ApiTests
return true;
}
}
}
}

View File

@ -1,5 +1,6 @@
using System.Collections.Generic;
using NLog;
using NzbDrone.Core.Indexers.Newznab;
using NzbDrone.Test.Common;
namespace NzbDrone.Integration.Test
@ -24,15 +25,15 @@ namespace NzbDrone.Integration.Test
protected override void InitializeTestTarget()
{
// Add Wombles
Indexers.Post(new Api.Indexers.IndexerResource
{
EnableRss = true,
ConfigContract = "NullConfig",
Implementation = "Wombles",
Name = "Wombles",
EnableRss = false,
EnableSearch = false,
ConfigContract = nameof(NewznabSettings),
Implementation = nameof(Newznab),
Name = "NewznabTest",
Protocol = Core.Indexers.DownloadProtocol.Usenet,
Fields = new List<Api.ClientSchema.Field>()
Fields = Api.ClientSchema.SchemaBuilder.ToSchema(new NewznabSettings())
});
}