Fixed header parsing
This commit is contained in:
parent
c91ff9be3e
commit
fae0cadbec
|
@ -453,5 +453,12 @@ namespace NzbDrone.Core.Test
|
|||
{
|
||||
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)",
|
||||
RegexOptions.IgnoreCase | RegexOptions.Compiled);
|
||||
|
||||
private static readonly Regex HeaderRegex = new Regex(@"(?:\[.+\]\-\[.+\]\-\[.+\]\-\[)(?<nzbTitle>.+)(?:\]\-.+)",
|
||||
RegexOptions.IgnoreCase | RegexOptions.Compiled);
|
||||
private static readonly Regex[] HeaderRegex = new[]
|
||||
{
|
||||
new Regex(@"(?:\[.+\]\-\[.+\]\-\[.+\]\-\[)(?<nzbTitle>.+)(?:\]\-.+)",
|
||||
RegexOptions.IgnoreCase | RegexOptions.Compiled),
|
||||
|
||||
new Regex(@"(?:\[)(?<nzbTitle>.+)(?:\]\-.+)",
|
||||
RegexOptions.IgnoreCase | RegexOptions.Compiled),
|
||||
};
|
||||
|
||||
internal static EpisodeParseResult ParsePath(string path)
|
||||
{
|
||||
|
@ -480,10 +486,13 @@ namespace NzbDrone.Core
|
|||
|
||||
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)
|
||||
return match[0].Groups["nzbTitle"].Value;
|
||||
if (match.Count != 0)
|
||||
return match[0].Groups["nzbTitle"].Value.Trim();
|
||||
}
|
||||
|
||||
return header;
|
||||
}
|
||||
|
|
|
@ -24,7 +24,7 @@ namespace NzbDrone.Core.Providers.Indexer
|
|||
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=5542&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=")
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
|
@ -24,7 +24,7 @@ namespace NzbDrone.Core.Providers.Indexer
|
|||
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.hdtv/?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