Compare commits

..

No commits in common. "cc8453d4a88af01479df80751c1483c8b8a2e37e" and "23e5c4a7b13be64966a38b2624c80e9f75c91193" have entirely different histories.

3 changed files with 7 additions and 20 deletions

View File

@ -23,11 +23,10 @@ public class UpdateMetadata : Job
protected override IEnumerable<Job> ExecuteReturnSubTasksInternal(JobBoss jobBoss) protected override IEnumerable<Job> ExecuteReturnSubTasksInternal(JobBoss jobBoss)
{ {
//Retrieve new Metadata
Manga? possibleUpdatedManga = mangaConnector.GetMangaFromId(manga.publicationId); Manga? possibleUpdatedManga = mangaConnector.GetMangaFromId(manga.publicationId);
if (possibleUpdatedManga is { } updatedManga) if (possibleUpdatedManga is { } updatedManga)
{ {
if(updatedManga.Equals(this.manga))//Check if anything changed if(updatedManga.Equals(this.manga))
return Array.Empty<Job>(); return Array.Empty<Job>();
this.manga.UpdateMetadata(updatedManga); this.manga.UpdateMetadata(updatedManga);

View File

@ -44,7 +44,7 @@ public struct Manga
public float latestChapterDownloaded { get; set; } public float latestChapterDownloaded { get; set; }
public float latestChapterAvailable { get; set; } public float latestChapterAvailable { get; set; }
private static readonly Regex LegalCharacters = new (@"[A-Za-zÀ-ÖØ-öø-ÿ0-9 \.\-,'\'\)\(~!\+]*"); private static readonly Regex LegalCharacters = new (@"[A-Z]*[a-z]*[0-9]* *\.*-*,*'*\'*\)*\(*~*!*");
[JsonConstructor] [JsonConstructor]
public Manga(string sortName, List<string> authors, string? description, Dictionary<string,string> altTitles, string[] tags, string? coverUrl, string? coverFileNameInCache, Dictionary<string,string>? links, int? year, string? originalLanguage, string status, string publicationId, ReleaseStatusByte releaseStatus = 0, string? websiteUrl = null, string? folderName = null, float? ignoreChaptersBelow = 0) public Manga(string sortName, List<string> authors, string? description, Dictionary<string,string> altTitles, string[] tags, string? coverUrl, string? coverFileNameInCache, Dictionary<string,string>? links, int? year, string? originalLanguage, string status, string publicationId, ReleaseStatusByte releaseStatus = 0, string? websiteUrl = null, string? folderName = null, float? ignoreChaptersBelow = 0)
@ -77,7 +77,7 @@ public struct Manga
this.sortName = newManga.sortName; this.sortName = newManga.sortName;
this.description = newManga.description; this.description = newManga.description;
foreach (string author in newManga.authors) foreach (string author in newManga.authors)
if(!this.authors.Contains(author)) if(this.authors.Contains(author))
this.authors.Add(author); this.authors.Add(author);
this.status = newManga.status; this.status = newManga.status;
this.year = newManga.year; this.year = newManga.year;
@ -93,7 +93,7 @@ public struct Manga
this.releaseStatus == compareManga.releaseStatus && this.releaseStatus == compareManga.releaseStatus &&
this.sortName == compareManga.sortName && this.sortName == compareManga.sortName &&
this.latestChapterAvailable.Equals(compareManga.latestChapterAvailable) && this.latestChapterAvailable.Equals(compareManga.latestChapterAvailable) &&
this.tags.SequenceEqual(compareManga.tags); this.tags.Equals(compareManga.tags);
} }
public override string ToString() public override string ToString()

View File

@ -59,26 +59,14 @@ public abstract class MangaConnector : GlobalBase
{ {
Log($"Getting new Chapters for {manga}"); Log($"Getting new Chapters for {manga}");
Chapter[] allChapters = this.GetChapters(manga, language); Chapter[] allChapters = this.GetChapters(manga, language);
if (allChapters.Length < 1)
return Array.Empty<Chapter>();
Log($"Checking for duplicates {manga}"); Log($"Checking for duplicates {manga}");
List<Chapter> newChaptersList = allChapters.Where(nChapter => float.TryParse(nChapter.chapterNumber, numberFormatDecimalPoint, out float chapterNumber) List<Chapter> newChaptersList = allChapters.Where(nChapter => float.TryParse(nChapter.chapterNumber, numberFormatDecimalPoint, out float chapterNumber)
&& chapterNumber > manga.ignoreChaptersBelow && chapterNumber > manga.ignoreChaptersBelow
&& !nChapter.CheckChapterIsDownloaded(settings.downloadLocation)).ToList(); && !nChapter.CheckChapterIsDownloaded(settings.downloadLocation)).ToList();
Log($"{newChaptersList.Count} new chapters. {manga}"); Log($"{newChaptersList.Count} new chapters. {manga}");
try Chapter latestChapterAvailable =
{ allChapters.MaxBy(chapter => Convert.ToSingle(chapter.chapterNumber, numberFormatDecimalPoint));
Chapter latestChapterAvailable = manga.latestChapterAvailable = Convert.ToSingle(latestChapterAvailable.chapterNumber, numberFormatDecimalPoint);
allChapters.MaxBy(chapter => Convert.ToSingle(chapter.chapterNumber, numberFormatDecimalPoint));
manga.latestChapterAvailable =
Convert.ToSingle(latestChapterAvailable.chapterNumber, numberFormatDecimalPoint);
}
catch (Exception e)
{
Log(e.ToString());
Log($"Failed getting new Chapters for {manga}");
}
return newChaptersList.ToArray(); return newChaptersList.ToArray();
} }