diff --git a/NzbDrone.Core.Test/IndexerTests.cs b/NzbDrone.Core.Test/IndexerTests.cs index 91c8eea95..05e0fc562 100644 --- a/NzbDrone.Core.Test/IndexerTests.cs +++ b/NzbDrone.Core.Test/IndexerTests.cs @@ -440,6 +440,24 @@ namespace NzbDrone.Core.Test parseResults.Should().NotContain(s => s.NzbUrl.Contains("details")); } + [Test] + public void nzbmatrix_should_use_age_from_custom() + { + WithConfiguredIndexers(); + + var expectedAge = DateTime.Now.Subtract(new DateTime(2011, 4, 25, 15, 6, 58)).Days; + + Mocker.GetMock() + .Setup(h => h.DownloadStream(It.IsAny(), It.IsAny())) + .Returns(File.OpenRead(".\\Files\\Rss\\SizeParsing\\nzbmatrix.xml")); + + //Act + var parseResults = Mocker.Resolve().FetchRss(); + + parseResults.Should().HaveCount(1); + parseResults[0].Age.Should().Be(expectedAge); + } + private static void Mark500Inconclusive() { ExceptionVerification.MarkInconclusive(typeof(WebException)); diff --git a/NzbDrone.Core/Providers/Indexer/NzbMatrix.cs b/NzbDrone.Core/Providers/Indexer/NzbMatrix.cs index 3aa45e0be..1efadfc3f 100644 --- a/NzbDrone.Core/Providers/Indexer/NzbMatrix.cs +++ b/NzbDrone.Core/Providers/Indexer/NzbMatrix.cs @@ -107,6 +107,9 @@ namespace NzbDrone.Core.Providers.Indexer { var sizeString = Regex.Match(item.Summary.Text, @"Size: \d+\.\d{1,2} \w{2}
", RegexOptions.IgnoreCase).Value; currentResult.Size = Parser.GetReportSize(sizeString); + + var ageString = Regex.Match(item.Summary.Text, @"(?<=\Added\:\<\/b\>\s)(?.+?)(?=\
)", RegexOptions.Compiled | RegexOptions.IgnoreCase).Value; + currentResult.Age = DateTime.Now.Subtract(DateTime.Parse(ageString)).Days; } return currentResult;