limited newzbin search to English only.

pull/6/head
kay.one 14 years ago
parent 555e62fd17
commit cd96d546e8

@ -60,16 +60,20 @@ namespace NzbDrone.Core.Test
public void newzbin_rss_fetch() public void newzbin_rss_fetch()
{ {
var mocker = new AutoMoqer(); var mocker = new AutoMoqer();
mocker.Resolve<HttpProvider>();
mocker.GetMock<HttpProvider>()
.Setup(h => h.DownloadStream(It.IsAny<String>(), It.IsAny<NetworkCredential>()))
.Returns(File.OpenRead(".\\Files\\Rss\\newzbin.xml"));
var fakeSettings = Builder<IndexerSetting>.CreateNew().Build(); var fakeSettings = Builder<IndexerSetting>.CreateNew().Build();
mocker.GetMock<IndexerProvider>() mocker.GetMock<IndexerProvider>()
.Setup(c => c.GetSettings(It.IsAny<Type>())) .Setup(c => c.GetSettings(It.IsAny<Type>()))
.Returns(fakeSettings); .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 newzbinProvider = mocker.Resolve<Newzbin>();
var parseResults = newzbinProvider.FetchRss(); var parseResults = newzbinProvider.FetchRss();
@ -84,8 +88,7 @@ namespace NzbDrone.Core.Test
parseResults.Should().OnlyContain(s => s.Indexer == newzbinProvider.Name); parseResults.Should().OnlyContain(s => s.Indexer == newzbinProvider.Name);
parseResults.Should().OnlyContain(s => !String.IsNullOrEmpty(s.NzbTitle)); parseResults.Should().OnlyContain(s => !String.IsNullOrEmpty(s.NzbTitle));
ExceptionVerification.IgnoreWarns();
ExceptionVerification.ExcpectedWarns(1);
} }
@ -179,8 +182,8 @@ namespace NzbDrone.Core.Test
result.Should().OnlyContain(r => r.EpisodeNumbers.Contains(23)); result.Should().OnlyContain(r => r.EpisodeNumbers.Contains(23));
} }
[TestCase("simpsons",21,23)] [TestCase("simpsons", 21, 23)]
[TestCase("Hawaii Five-0", 1, 5)] [TestCase("Hawaii Five-0 2010", 1, 5)]
public void newzbin_search_returns_valid_results(string title, int season, int episode) public void newzbin_search_returns_valid_results(string title, int season, int episode)
{ {
var mocker = new AutoMoqer(); var mocker = new AutoMoqer();
@ -198,7 +201,7 @@ namespace NzbDrone.Core.Test
var result = mocker.Resolve<Newzbin>().FetchEpisode(title, season, episode); var result = mocker.Resolve<Newzbin>().FetchEpisode(title, season, episode);
result.Should().NotBeEmpty(); 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.SeasonNumber == season);
result.Should().OnlyContain(r => r.EpisodeNumbers.Contains(episode)); result.Should().OnlyContain(r => r.EpisodeNumbers.Contains(episode));
} }

@ -16,13 +16,15 @@ namespace NzbDrone.Core.Providers.Indexer
{ {
} }
private const string UrlParams = "feed=rss&hauth=1&ps_rb_language=4096";
protected override string[] Urls protected override string[] Urls
{ {
get get
{ {
return new[] 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) 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 public override string Name

Loading…
Cancel
Save