Skip to content

Commit 892eff5

Browse files
committed
fix to support decimal sequence numbers (like 2.1)
1 parent fe2baa5 commit 892eff5

1 file changed

Lines changed: 5 additions & 6 deletions

File tree

‎bookGrabber/Program.cs‎

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -50,12 +50,12 @@ static async Task Main(string[] args) {
5050
/// <param name="sequenceNumber"></param>
5151
/// <param name="bookTitle"></param>
5252
/// <returns></returns>
53-
private static string GetTitle(string author, string sequenceName, int sequenceNumber, string bookTitle) {
53+
private static string GetTitle(string author, string sequenceName, string sequenceNumber, string bookTitle) {
5454
var title = subDirTemplate
5555
.Replace("%f", author)
5656
.Replace("%t", bookTitle)
5757
.Replace("%s", string.IsNullOrEmpty(sequenceName) ? "" : sequenceName)
58-
.Replace("%n", sequenceNumber > 0 ? sequenceNumber.ToString() : "")
58+
.Replace("%n", string.IsNullOrEmpty(sequenceNumber) ? "" : sequenceNumber)
5959
.NormalizeSpaces();
6060
return title;
6161
}
@@ -76,19 +76,18 @@ private static async Task DownloadBook(string url, int maxDownloadThreads, strin
7676
var author = string.Empty;
7777
var bookTitle = string.Empty;
7878
var title = string.Empty;
79-
var sequenceNumber = 0;
79+
var sequenceNumber = string.Empty;
8080
var sequenceName = string.Empty;
8181

8282
var sequenceNameMatch = Regex.Match(content, @"<div class=""book_serie_block_title"">\s+.+>([^>]+)<\/a>");
8383
if (sequenceNameMatch.Success) {
8484
sequenceName = sequenceNameMatch.Groups[1].Value;
8585
}
86-
var sequences = Regex.Matches(content, @"<div class=""book_serie_block_item"">\s+<span class=""book_serie_block_item_index"">(\d+)\.<\/span>(\s+<a href=""([^""]+)"">)?");
86+
var sequences = Regex.Matches(content, @"<div class=""book_serie_block_item"">\s+<span class=""book_serie_block_item_index"">(\d+\.?\d*)\.<\/span>(\s+<a href=""([^""]+)"">)?");
8787
if (sequences.Count > 0) {
8888
for(var i = 0; i < sequences.Count; i++) {
8989
if (sequences[i].Groups[3].Success) continue;
90-
if (int.TryParse(sequences[i].Groups[1].Value, out var number))
91-
sequenceNumber = number;
90+
sequenceNumber = sequences[i].Groups[1].Value;
9291

9392
if (sequences.Count > i + 1) {
9493
nextBookUrl = sequences[i+1].Groups[3].Value;

0 commit comments

Comments
 (0)