diff --git a/Tranga/Chapter.cs b/Tranga/Chapter.cs
index 050d5e4..e85d057 100644
--- a/Tranga/Chapter.cs
+++ b/Tranga/Chapter.cs
@@ -20,16 +20,20 @@ public struct Chapter
public Chapter(string? name, string? volumeNumber, string? chapterNumber, string url)
{
this.name = name;
- this.volumeNumber = volumeNumber is { Length: > 0 } ? volumeNumber : "1";
+ this.volumeNumber = volumeNumber;
this.chapterNumber = chapterNumber;
this.url = url;
- string chapterName = string.Concat(LegalCharacters.Matches(name ?? ""));
NumberFormatInfo nfi = new NumberFormatInfo()
{
NumberDecimalSeparator = "."
};
sortNumber = decimal.Round(Convert.ToDecimal(this.volumeNumber) * Convert.ToDecimal(this.chapterNumber, nfi), 1)
.ToString(nfi);
- this.fileName = $"{chapterName} - V{volumeNumber}C{chapterNumber} - {sortNumber}";
+
+ string chapterName = string.Concat(LegalCharacters.Matches(name ?? ""));
+ string volStr = this.volumeNumber is not null ? $"Vol.{this.volumeNumber} " : "";
+ string chNumberStr = this.chapterNumber is not null ? $"Ch.{chapterNumber} " : "";
+ string chNameStr = chapterName.Length > 0 ? $"- {chapterName}" : "";
+ this.fileName = $"{volStr}{chNumberStr}{chNameStr}";
}
}
\ No newline at end of file
diff --git a/Tranga/Connector.cs b/Tranga/Connector.cs
index c706df9..47ed2cf 100644
--- a/Tranga/Connector.cs
+++ b/Tranga/Connector.cs
@@ -1,6 +1,7 @@
using System.IO.Compression;
using System.Net;
using System.Runtime.InteropServices;
+using System.Text.RegularExpressions;
using System.Xml.Linq;
using Logging;
using static System.IO.UnixFileMode;
@@ -111,7 +112,20 @@ public abstract class Connector
/// true if chapter is present
public bool CheckChapterIsDownloaded(Publication publication, Chapter chapter)
{
- return File.Exists(GetArchiveFilePath(publication, chapter));
+ Regex legalCharacters = new Regex(@"([A-z]*[0-9]* *\.*-*,*\]*\[*'*\'*\)*\(*~*!*)*");
+ string oldFilePath = Path.Join(downloadLocation, publication.folderName, $"{string.Concat(legalCharacters.Matches(chapter.name ?? ""))} - V{chapter.volumeNumber}C{chapter.chapterNumber} - {chapter.sortNumber}.cbz");
+ string oldFilePath2 = Path.Join(downloadLocation, publication.folderName, $"{string.Concat(legalCharacters.Matches(chapter.name ?? ""))} - VC{chapter.chapterNumber} - {chapter.sortNumber}.cbz");
+ string newFilePath = GetArchiveFilePath(publication, chapter);
+ if (File.Exists(oldFilePath))
+ {
+ logger?.WriteLine(this.GetType().ToString(), $"Moving old file {oldFilePath} -> {newFilePath}");
+ File.Move(oldFilePath, newFilePath);
+ }else if (File.Exists(oldFilePath2))
+ {
+ logger?.WriteLine(this.GetType().ToString(), $"Moving old file {oldFilePath2} -> {newFilePath}");
+ File.Move(oldFilePath2, newFilePath);
+ }
+ return File.Exists(newFilePath);
}
///
@@ -120,7 +134,7 @@ public abstract class Connector
/// Filepath
protected string GetArchiveFilePath(Publication publication, Chapter chapter)
{
- return Path.Join(downloadLocation, publication.folderName, $"{chapter.fileName}.cbz");
+ return Path.Join(downloadLocation, publication.folderName, $"{publication.folderName} - {chapter.fileName}.cbz");
}
///