diff --git a/Tranga/MangaConnectors/MangaDex.cs b/Tranga/MangaConnectors/MangaDex.cs index a50e445..3b097c4 100644 --- a/Tranga/MangaConnectors/MangaDex.cs +++ b/Tranga/MangaConnectors/MangaDex.cs @@ -111,7 +111,7 @@ public class MangaDex : MangaConnector string description = descriptionNode!.AsObject().ContainsKey("en") switch { true => descriptionNode.AsObject()["en"]!.GetValue(), - false => descriptionNode.AsObject().First().Value!.GetValue() + false => descriptionNode.AsObject().FirstOrDefault().Value?.GetValue() ?? "" }; Dictionary linksDict = new(); @@ -122,14 +122,14 @@ public class MangaDex : MangaConnector string? originalLanguage = attributes.TryGetPropertyValue("originalLanguage", out JsonNode? originalLanguageNode) switch { - true => originalLanguageNode!.GetValue(), + true => originalLanguageNode?.GetValue(), false => null }; Manga.ReleaseStatusByte status = Manga.ReleaseStatusByte.Unreleased; if (attributes.TryGetPropertyValue("status", out JsonNode? statusNode)) { - status = statusNode!.GetValue().ToLower() switch + status = statusNode?.GetValue().ToLower() switch { "ongoing" => Manga.ReleaseStatusByte.Continuing, "completed" => Manga.ReleaseStatusByte.Completed, @@ -141,7 +141,7 @@ public class MangaDex : MangaConnector int? year = attributes.TryGetPropertyValue("year", out JsonNode? yearNode) switch { - true => yearNode!.GetValue(), + true => yearNode?.GetValue(), false => null }; diff --git a/Tranga/MangaConnectors/RequestType.cs b/Tranga/MangaConnectors/RequestType.cs index eb89b42..47d4086 100644 --- a/Tranga/MangaConnectors/RequestType.cs +++ b/Tranga/MangaConnectors/RequestType.cs @@ -6,7 +6,6 @@ public enum RequestType : byte MangaDexFeed = 1, MangaImage = 2, MangaCover = 3, - MangaDexAuthor = 4, MangaDexImage = 5, MangaInfo = 6 } \ No newline at end of file diff --git a/Tranga/TrangaSettings.cs b/Tranga/TrangaSettings.cs index 596ab36..2ad9492 100644 --- a/Tranga/TrangaSettings.cs +++ b/Tranga/TrangaSettings.cs @@ -1,4 +1,6 @@ using System.Runtime.InteropServices; +using System.Text.Json.Nodes; +using System.Text.RegularExpressions; using Newtonsoft.Json; using Tranga.LibraryConnectors; using Tranga.MangaConnectors; @@ -19,7 +21,7 @@ public class TrangaSettings [JsonIgnore] public string jobsFolderPath => Path.Join(workingDirectory, "jobs"); [JsonIgnore] public string coverImageCache => Path.Join(workingDirectory, "imageCache"); [JsonIgnore] internal static readonly string DefaultUserAgent = $"Tranga ({Enum.GetName(Environment.OSVersion.Platform)}; {(Environment.Is64BitOperatingSystem ? "x64" : "")}) / 1.0"; - public ushort? version { get; } = 1; + public ushort? version { get; } = 2; public bool aprilFoolsMode { get; private set; } = true; [JsonIgnore]internal static readonly Dictionary DefaultRequestLimits = new () { @@ -28,7 +30,6 @@ public class TrangaSettings {RequestType.MangaDexImage, 40}, {RequestType.MangaImage, 60}, {RequestType.MangaCover, 250}, - {RequestType.MangaDexAuthor, 250}, {RequestType.Default, 60} }; @@ -44,6 +45,7 @@ public class TrangaSettings {//Load from settings file FileStream lockFile = File.Create(lockFilePath,0, FileOptions.DeleteOnClose); //lock settingsfile string settingsStr = File.ReadAllText(sfp); + settingsStr = Regex.Replace(settingsStr, @"""MangaDexAuthor"": [0-9]+,", "");//https://github.com/C9Glax/tranga/pull/161 Remove sometime in the future :3 TrangaSettings settings = JsonConvert.DeserializeObject(settingsStr)!; this.requestLimits = settings.requestLimits; this.userAgent = settings.userAgent;