limited newzbin search to English only.

pull/4/head
kay.one 13 years ago
parent 555e62fd17
commit cd96d546e8

@ -21,7 +21,7 @@ namespace NzbDrone.Core.Test
// ReSharper disable InconsistentNaming
public class IndexerTests : TestBase
{
[TestCase("nzbsorg.xml", 0)]
[TestCase("nzbsrus.xml", 6)]
[TestCase("newzbin.xml", 1)]
@ -60,16 +60,20 @@ namespace NzbDrone.Core.Test
public void newzbin_rss_fetch()
{
var mocker = new AutoMoqer();
mocker.GetMock<HttpProvider>()
.Setup(h => h.DownloadStream(It.IsAny<String>(), It.IsAny<NetworkCredential>()))
.Returns(File.OpenRead(".\\Files\\Rss\\newzbin.xml"));
mocker.Resolve<HttpProvider>();
var fakeSettings = Builder<IndexerSetting>.CreateNew().Build();
mocker.GetMock<IndexerProvider>()
.Setup(c => c.GetSettings(It.IsAny<Type>()))
.Returns(fakeSettings);
mocker.GetMock<ConfigProvider>()
.SetupGet(c => c.NewzbinUsername)
.Returns("nzbdrone");
mocker.GetMock<ConfigProvider>()
.SetupGet(c => c.NewzbinPassword)
.Returns("smartar39865");
var newzbinProvider = mocker.Resolve<Newzbin>();
var parseResults = newzbinProvider.FetchRss();
@ -84,11 +88,10 @@ namespace NzbDrone.Core.Test
parseResults.Should().OnlyContain(s => s.Indexer == newzbinProvider.Name);
parseResults.Should().OnlyContain(s => !String.IsNullOrEmpty(s.NzbTitle));
ExceptionVerification.ExcpectedWarns(1);
ExceptionVerification.IgnoreWarns();
}
[TestCase("Adventure.Inc.S03E19.DVDRip.XviD-OSiTV", 3, 19, QualityTypes.DVD)]
public void custome_parser_partial_success(string title, int season, int episode, QualityTypes quality)
{
@ -179,8 +182,8 @@ namespace NzbDrone.Core.Test
result.Should().OnlyContain(r => r.EpisodeNumbers.Contains(23));
}
[TestCase("simpsons",21,23)]
[TestCase("Hawaii Five-0", 1, 5)]
[TestCase("simpsons", 21, 23)]
[TestCase("Hawaii Five-0 2010", 1, 5)]
public void newzbin_search_returns_valid_results(string title, int season, int episode)
{
var mocker = new AutoMoqer();
@ -198,7 +201,7 @@ namespace NzbDrone.Core.Test
var result = mocker.Resolve<Newzbin>().FetchEpisode(title, season, episode);
result.Should().NotBeEmpty();
result.Should().OnlyContain(r => r.CleanTitle == title);
result.Should().OnlyContain(r => r.CleanTitle == Parser.NormalizeTitle(title));
result.Should().OnlyContain(r => r.SeasonNumber == season);
result.Should().OnlyContain(r => r.EpisodeNumbers.Contains(episode));
}

@ -10,19 +10,21 @@ namespace NzbDrone.Core.Providers.Indexer
{
public class Newzbin : IndexerBase
{
[Inject]
[Inject]
public Newzbin(HttpProvider httpProvider, ConfigProvider configProvider)
: base(httpProvider, configProvider)
{
}
private const string UrlParams = "feed=rss&hauth=1&ps_rb_language=4096";
protected override string[] Urls
{
get
{
return new[]
{
"http://www.newzbin.com/browse/category/p/tv?feed=rss&hauth=1"
"http://www.newzbin.com/browse/category/p/tv?" + UrlParams
};
}
}
@ -38,7 +40,7 @@ namespace NzbDrone.Core.Providers.Indexer
protected override IList<string> GetSearchUrls(string seriesTitle, int seasonNumber, int episodeNumber)
{
return new List<string> { String.Format(@"http://www.newzbin.com/search/query/?q={0}+{1}x{2:00}&fpn=p&searchaction=Go&category=8&feed=rss&hauth=1", GetQueryTitle(seriesTitle), seasonNumber, episodeNumber) };
return new List<string> { String.Format(@"http://www.newzbin.com/search/query/?q={0}+{1}x{2:00}&fpn=p&searchaction=Go&category=8&{3}", GetQueryTitle(seriesTitle), seasonNumber, episodeNumber, UrlParams) };
}
public override string Name

Loading…
Cancel
Save