From 12f96a5504339317b96955aea8d441df000bbe69 Mon Sep 17 00:00:00 2001 From: Christoffer Green Date: Mon, 11 Oct 2021 17:17:37 +0200 Subject: [PATCH] Improve comic-downloader parsing (#650) Sometimes comic-downloader will have filenames like spawn-chapter-123. Previously we did not support the -chapter- part, this patch adds support for it. --- API.Tests/Parser/ComicParserTests.cs | 3 +++ API/Parser/Parser.cs | 8 ++++---- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/API.Tests/Parser/ComicParserTests.cs b/API.Tests/Parser/ComicParserTests.cs index c35d8f05c..37969d80d 100644 --- a/API.Tests/Parser/ComicParserTests.cs +++ b/API.Tests/Parser/ComicParserTests.cs @@ -40,6 +40,7 @@ namespace API.Tests.Parser [InlineData("Batman Wayne Family Adventures - Ep. 001 - Moving In", "Batman Wayne Family Adventures")] [InlineData("Saga 001 (2012) (Digital) (Empire-Zone).cbr", "Saga")] [InlineData("spawn-123", "spawn")] + [InlineData("spawn-chapter-123", "spawn")] [InlineData("Spawn 062 (1997) (digital) (TLK-EMPIRE-HD).cbr", "Spawn")] [InlineData("Batman Beyond 04 (of 6) (1999)", "Batman Beyond")] [InlineData("Batman Beyond 001 (2012)", "Batman Beyond")] @@ -79,6 +80,7 @@ namespace API.Tests.Parser [InlineData("Invincible 033.5 - Marvel Team-Up 14 (2006) (digital) (Minutemen-Slayer)", "0")] [InlineData("Cyberpunk 2077 - Trauma Team 04.cbz", "0")] [InlineData("spawn-123", "0")] + [InlineData("spawn-chapter-123", "0")] [InlineData("Spawn 062 (1997) (digital) (TLK-EMPIRE-HD).cbr", "0")] [InlineData("Batman Beyond 04 (of 6) (1999)", "0")] [InlineData("Batman Beyond 001 (2012)", "0")] @@ -117,6 +119,7 @@ namespace API.Tests.Parser [InlineData("Batman Wayne Family Adventures - Ep. 014 - Moving In", "14")] [InlineData("Saga 001 (2012) (Digital) (Empire-Zone)", "1")] [InlineData("spawn-123", "123")] + [InlineData("spawn-chapter-123", "123")] [InlineData("Spawn 062 (1997) (digital) (TLK-EMPIRE-HD).cbr", "62")] [InlineData("Batman Beyond 04 (of 6) (1999)", "4")] [InlineData("Invincible 052 (c2c) (2008) (Minutemen-TheCouple)", "52")] diff --git a/API/Parser/Parser.cs b/API/Parser/Parser.cs index 100e831bd..9bd2aab82 100644 --- a/API/Parser/Parser.cs +++ b/API/Parser/Parser.cs @@ -278,9 +278,9 @@ namespace API.Parser new Regex( @"^(?.*)(?: |_)(?!\(\d{4}|\d{4}-\d{2}\))\(", MatchOptions, RegexTimeout), - // spawn-123 (from https://github.com/Girbons/comics-downloader) + // spawn-123, spawn-chapter-123 (from https://github.com/Girbons/comics-downloader) new Regex( - @"^(?.+?)-(?\d+)", + @"^(?.+?)-(chapter-)?(?\d+)", MatchOptions, RegexTimeout), // MUST BE LAST: Batman & Daredevil - King of New York new Regex( @@ -348,9 +348,9 @@ namespace API.Parser new Regex( @"^(?!Vol)(?.+?)( |_)i(ssue)( |_) #(?\d*)", MatchOptions, RegexTimeout), - // spawn-123 (from https://github.com/Girbons/comics-downloader ) + // spawn-123, spawn-chapter-123 (from https://github.com/Girbons/comics-downloader) new Regex( - @"^(?.+?)-(?\d+)", + @"^(?.+?)-(chapter-)?(?\d+)", MatchOptions, RegexTimeout), // Cyberpunk 2077 - Your Voice 01 // new Regex(