mirror of https://github.com/lidarr/Lidarr
Merge branch 'master' into quality
This commit is contained in:
commit
b40c6ba7b8
|
@ -344,7 +344,6 @@ namespace NzbDrone.Core.Test
|
||||||
//Act
|
//Act
|
||||||
var parseResults = Mocker.Resolve<Newznab>().FetchRss();
|
var parseResults = Mocker.Resolve<Newznab>().FetchRss();
|
||||||
|
|
||||||
parseResults.Should().HaveCount(1);
|
|
||||||
parseResults[0].Size.Should().Be(1183105773);
|
parseResults[0].Size.Should().Be(1183105773);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -354,13 +353,16 @@ namespace NzbDrone.Core.Test
|
||||||
WithConfiguredIndexers();
|
WithConfiguredIndexers();
|
||||||
|
|
||||||
Mocker.GetMock<HttpProvider>()
|
Mocker.GetMock<HttpProvider>()
|
||||||
.Setup(h => h.DownloadStream(It.IsAny<String>(), It.IsAny<NetworkCredential>()))
|
.Setup(h => h.DownloadStream("http://www.nzbindex.nl/rss/alt.binaries.teevee/?sort=agedesc&minsize=100&complete=1&max=50&more=1&q=%23a.b.teevee%40EFNet", It.IsAny<NetworkCredential>()))
|
||||||
|
.Returns(File.OpenRead(".\\Files\\Rss\\SizeParsing\\nzbindex.xml"));
|
||||||
|
|
||||||
|
Mocker.GetMock<HttpProvider>()
|
||||||
|
.Setup(h => h.DownloadStream("http://www.nzbindex.nl/rss/alt.binaries.hdtv/?sort=agedesc&minsize=100&complete=1&max=50&more=1&q=", It.IsAny<NetworkCredential>()))
|
||||||
.Returns(File.OpenRead(".\\Files\\Rss\\SizeParsing\\nzbindex.xml"));
|
.Returns(File.OpenRead(".\\Files\\Rss\\SizeParsing\\nzbindex.xml"));
|
||||||
|
|
||||||
//Act
|
//Act
|
||||||
var parseResults = Mocker.Resolve<NzbIndex>().FetchRss();
|
var parseResults = Mocker.Resolve<NzbIndex>().FetchRss();
|
||||||
|
|
||||||
parseResults.Should().HaveCount(1);
|
|
||||||
parseResults[0].Size.Should().Be(587328389);
|
parseResults[0].Size.Should().Be(587328389);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -370,13 +372,17 @@ namespace NzbDrone.Core.Test
|
||||||
WithConfiguredIndexers();
|
WithConfiguredIndexers();
|
||||||
|
|
||||||
Mocker.GetMock<HttpProvider>()
|
Mocker.GetMock<HttpProvider>()
|
||||||
.Setup(h => h.DownloadStream(It.IsAny<String>(), It.IsAny<NetworkCredential>()))
|
.Setup(h => h.DownloadStream("http://www.nzbclub.com/nzbfeed.aspx?ig=2&gid=102952&st=1&ns=1&q=%23a.b.teevee%40EFNet", It.IsAny<NetworkCredential>()))
|
||||||
|
.Returns(File.OpenRead(".\\Files\\Rss\\SizeParsing\\nzbclub.xml"));
|
||||||
|
|
||||||
|
Mocker.GetMock<HttpProvider>()
|
||||||
|
.Setup(h => h.DownloadStream("http://www.nzbclub.com/nzbfeed.aspx?ig=2&gid=5542&st=1&ns=1&q=", It.IsAny<NetworkCredential>()))
|
||||||
.Returns(File.OpenRead(".\\Files\\Rss\\SizeParsing\\nzbclub.xml"));
|
.Returns(File.OpenRead(".\\Files\\Rss\\SizeParsing\\nzbclub.xml"));
|
||||||
|
|
||||||
//Act
|
//Act
|
||||||
var parseResults = Mocker.Resolve<NzbClub>().FetchRss();
|
var parseResults = Mocker.Resolve<NzbClub>().FetchRss();
|
||||||
|
|
||||||
parseResults.Should().HaveCount(1);
|
parseResults.Should().HaveCount(2);
|
||||||
parseResults[0].Size.Should().Be(2652142305);
|
parseResults[0].Size.Should().Be(2652142305);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -465,38 +471,6 @@ namespace NzbDrone.Core.Test
|
||||||
ExceptionVerification.MarkInconclusive("(500) Internal Server Error.");
|
ExceptionVerification.MarkInconclusive("(500) Internal Server Error.");
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
|
||||||
public void title_preparse_nzbindex()
|
|
||||||
{
|
|
||||||
WithConfiguredIndexers();
|
|
||||||
|
|
||||||
Mocker.GetMock<HttpProvider>()
|
|
||||||
.Setup(h => h.DownloadStream(It.IsAny<String>(), It.IsAny<NetworkCredential>()))
|
|
||||||
.Returns(File.OpenRead(".\\Files\\Rss\\SizeParsing\\nzbindex.xml"));
|
|
||||||
|
|
||||||
//Act
|
|
||||||
var parseResults = Mocker.Resolve<NzbIndex>().FetchRss();
|
|
||||||
|
|
||||||
parseResults.Should().HaveCount(1);
|
|
||||||
parseResults[0].CleanTitle.Should().Be("britainsgotmoretalent");
|
|
||||||
}
|
|
||||||
|
|
||||||
[Test]
|
|
||||||
public void title_preparse_nzbclub()
|
|
||||||
{
|
|
||||||
WithConfiguredIndexers();
|
|
||||||
|
|
||||||
Mocker.GetMock<HttpProvider>()
|
|
||||||
.Setup(h => h.DownloadStream(It.IsAny<String>(), It.IsAny<NetworkCredential>()))
|
|
||||||
.Returns(File.OpenRead(".\\Files\\Rss\\SizeParsing\\nzbclub.xml"));
|
|
||||||
|
|
||||||
//Act
|
|
||||||
var parseResults = Mocker.Resolve<NzbIndex>().FetchRss();
|
|
||||||
|
|
||||||
parseResults.Should().HaveCount(1);
|
|
||||||
parseResults[0].CleanTitle.Should().Be("britainsgottalent");
|
|
||||||
}
|
|
||||||
|
|
||||||
[TestCase("wombles.xml", "de-de")]
|
[TestCase("wombles.xml", "de-de")]
|
||||||
public void dateTime_should_parse_when_using_other_cultures(string fileName, string culture)
|
public void dateTime_should_parse_when_using_other_cultures(string fileName, string culture)
|
||||||
{
|
{
|
||||||
|
@ -665,8 +639,12 @@ namespace NzbDrone.Core.Test
|
||||||
const string expectedString = "release";
|
const string expectedString = "release";
|
||||||
|
|
||||||
Mocker.GetMock<HttpProvider>()
|
Mocker.GetMock<HttpProvider>()
|
||||||
.Setup(h => h.DownloadStream(It.IsAny<String>(), It.IsAny<NetworkCredential>()))
|
.Setup(h => h.DownloadStream("http://www.nzbindex.nl/rss/alt.binaries.teevee/?sort=agedesc&minsize=100&complete=1&max=50&more=1&q=%23a.b.teevee%40EFNet", It.IsAny<NetworkCredential>()))
|
||||||
.Returns(File.OpenRead(".\\Files\\Rss\\" + fileName));
|
.Returns(File.OpenRead(".\\Files\\Rss\\nzbindex.xml"));
|
||||||
|
|
||||||
|
Mocker.GetMock<HttpProvider>()
|
||||||
|
.Setup(h => h.DownloadStream("http://www.nzbindex.nl/rss/alt.binaries.hdtv/?sort=agedesc&minsize=100&complete=1&max=50&more=1&q=", It.IsAny<NetworkCredential>()))
|
||||||
|
.Returns(File.OpenRead(".\\Files\\Rss\\nzbindex.xml"));
|
||||||
|
|
||||||
var parseResults = Mocker.Resolve<NzbIndex>().FetchRss();
|
var parseResults = Mocker.Resolve<NzbIndex>().FetchRss();
|
||||||
|
|
||||||
|
@ -685,7 +663,11 @@ namespace NzbDrone.Core.Test
|
||||||
const string expectedString = "nzb_view";
|
const string expectedString = "nzb_view";
|
||||||
|
|
||||||
Mocker.GetMock<HttpProvider>()
|
Mocker.GetMock<HttpProvider>()
|
||||||
.Setup(h => h.DownloadStream(It.IsAny<String>(), It.IsAny<NetworkCredential>()))
|
.Setup(h => h.DownloadStream("http://www.nzbclub.com/nzbfeed.aspx?ig=2&gid=102952&st=1&ns=1&q=%23a.b.teevee%40EFNet", It.IsAny<NetworkCredential>()))
|
||||||
|
.Returns(File.OpenRead(".\\Files\\Rss\\" + fileName));
|
||||||
|
|
||||||
|
Mocker.GetMock<HttpProvider>()
|
||||||
|
.Setup(h => h.DownloadStream("http://www.nzbclub.com/nzbfeed.aspx?ig=2&gid=5542&st=1&ns=1&q=", It.IsAny<NetworkCredential>()))
|
||||||
.Returns(File.OpenRead(".\\Files\\Rss\\" + fileName));
|
.Returns(File.OpenRead(".\\Files\\Rss\\" + fileName));
|
||||||
|
|
||||||
var parseResults = Mocker.Resolve<NzbClub>().FetchRss();
|
var parseResults = Mocker.Resolve<NzbClub>().FetchRss();
|
||||||
|
|
|
@ -386,5 +386,12 @@ namespace NzbDrone.Core.Test.ParserFixture
|
||||||
{
|
{
|
||||||
Parser.ParseReleaseGroup(title).Should().Be(expected);
|
Parser.ParseReleaseGroup(title).Should().Be(expected);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[TestCase("[112461]-[FULL]-[#a.b.teevee@EFNet]-[ 666.Park.Avenue.S01E03.720p.HDTV.X264-DIMENSION ]-[02/31] - \"the.devils.address.103.720p-dimension.par2\" yEnc", "666.Park.Avenue.S01E03.720p.HDTV.X264-DIMENSION")]
|
||||||
|
[TestCase("[112438]-[FULL]-[#a.b.teevee@EFNet]-[ Downton_Abbey.3x05.HDTV_x264-FoV ]-[01/26] - \"downton_abbey.3x05.hdtv_x264-fov.nfo\" yEnc", "Downton_Abbey.3x05.HDTV_x264-FoV")]
|
||||||
|
public void parse_header(string title, string expected)
|
||||||
|
{
|
||||||
|
Parser.ParseHeader(title).Should().Be(expected);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -74,8 +74,14 @@ namespace NzbDrone.Core
|
||||||
private static readonly Regex ReportSizeRegex = new Regex(@"(?<value>\d+\.\d{1,2}|\d+\,\d+\.\d{1,2})\W?(?<unit>GB|MB|GiB|MiB)",
|
private static readonly Regex ReportSizeRegex = new Regex(@"(?<value>\d+\.\d{1,2}|\d+\,\d+\.\d{1,2})\W?(?<unit>GB|MB|GiB|MiB)",
|
||||||
RegexOptions.IgnoreCase | RegexOptions.Compiled);
|
RegexOptions.IgnoreCase | RegexOptions.Compiled);
|
||||||
|
|
||||||
private static readonly Regex HeaderRegex = new Regex(@"(?:\[.+\]\-\[.+\]\-\[.+\]\-\[)(?<nzbTitle>.+)(?:\]\-.+)",
|
private static readonly Regex[] HeaderRegex = new[]
|
||||||
RegexOptions.IgnoreCase | RegexOptions.Compiled);
|
{
|
||||||
|
new Regex(@"(?:\[.+\]\-\[.+\]\-\[.+\]\-\[)(?<nzbTitle>.+)(?:\]\-.+)",
|
||||||
|
RegexOptions.IgnoreCase | RegexOptions.Compiled),
|
||||||
|
|
||||||
|
new Regex(@"(?:\[)(?<nzbTitle>.+)(?:\]\-.+)",
|
||||||
|
RegexOptions.IgnoreCase | RegexOptions.Compiled),
|
||||||
|
};
|
||||||
|
|
||||||
internal static EpisodeParseResult ParsePath(string path)
|
internal static EpisodeParseResult ParsePath(string path)
|
||||||
{
|
{
|
||||||
|
@ -480,10 +486,13 @@ namespace NzbDrone.Core
|
||||||
|
|
||||||
internal static string ParseHeader(string header)
|
internal static string ParseHeader(string header)
|
||||||
{
|
{
|
||||||
var match = HeaderRegex.Matches(header);
|
foreach(var regex in HeaderRegex)
|
||||||
|
{
|
||||||
|
var match = regex.Matches(header);
|
||||||
|
|
||||||
if (match.Count != 0)
|
if (match.Count != 0)
|
||||||
return match[0].Groups["nzbTitle"].Value;
|
return match[0].Groups["nzbTitle"].Value.Trim();
|
||||||
|
}
|
||||||
|
|
||||||
return header;
|
return header;
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,7 +23,8 @@ namespace NzbDrone.Core.Providers.Indexer
|
||||||
{
|
{
|
||||||
return new[]
|
return new[]
|
||||||
{
|
{
|
||||||
string.Format("http://www.nzbclub.com/nzbfeed.aspx?ig=2&gid=102952&st=1&ns=1&q=%23a.b.teevee%40EFNet")
|
String.Format("http://www.nzbclub.com/nzbfeed.aspx?ig=2&gid=102952&st=1&ns=1&q=%23a.b.teevee%40EFNet"),
|
||||||
|
String.Format("http://www.nzbclub.com/nzbfeed.aspx?ig=2&gid=5542&st=1&ns=1&q=")
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,7 +23,8 @@ namespace NzbDrone.Core.Providers.Indexer
|
||||||
{
|
{
|
||||||
return new[]
|
return new[]
|
||||||
{
|
{
|
||||||
string.Format("http://www.nzbindex.nl/rss/alt.binaries.teevee/?sort=agedesc&minsize=100&complete=1&max=50&more=1&q=%23a.b.teevee%40EFNet")
|
String.Format("http://www.nzbindex.nl/rss/alt.binaries.teevee/?sort=agedesc&minsize=100&complete=1&max=50&more=1&q=%23a.b.teevee%40EFNet"),
|
||||||
|
String.Format("http://www.nzbindex.nl/rss/alt.binaries.hdtv/?sort=agedesc&minsize=100&complete=1&max=50&more=1&q=")
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue