From fa69f4488f4257adf8945357e2f0070df08e93f8 Mon Sep 17 00:00:00 2001 From: glax Date: Thu, 20 Jul 2023 18:13:22 +0200 Subject: [PATCH 1/3] Removed UpdateLibraryTask (deprecated). Libraries will be updated on new Chapters downloaded. Added Migrator, for future file-changes --- API/RequestHandler.cs | 8 +++---- Tranga/Migrate.cs | 27 +++++++++++++++++++++++ Tranga/TaskManager.cs | 1 + Tranga/TrangaSettings.cs | 1 + Tranga/TrangaTasks/UpdateLibrariesTask.cs | 3 +++ 5 files changed, 36 insertions(+), 4 deletions(-) create mode 100644 Tranga/Migrate.cs diff --git a/API/RequestHandler.cs b/API/RequestHandler.cs index ba9b401..4efb59b 100644 --- a/API/RequestHandler.cs +++ b/API/RequestHandler.cs @@ -21,7 +21,7 @@ public class RequestHandler new(HttpMethod.Get, "/Tasks/Types", Array.Empty()), new(HttpMethod.Post, "/Tasks/CreateMonitorTask", new[] { "connectorName", "internalId", "reoccurrenceTime", "language?" }), - new(HttpMethod.Post, "/Tasks/CreateUpdateLibraryTask", new[] { "reoccurrenceTime" }), + //DEPRECATED new(HttpMethod.Post, "/Tasks/CreateUpdateLibraryTask", new[] { "reoccurrenceTime" }), new(HttpMethod.Post, "/Tasks/CreateDownloadChaptersTask", new[] { "connectorName", "internalId", "chapters", "language?" }), new(HttpMethod.Get, "/Tasks", new[] { "taskType", "connectorName?", "publicationId?" }), @@ -162,11 +162,11 @@ public class RequestHandler return; _taskManager.AddTask(new MonitorPublicationTask(connectorName1, (Publication)publication1, TimeSpan.Parse(reoccurrenceTime1), language1 ?? "en")); break; - case "/Tasks/CreateUpdateLibraryTask": - variables.TryGetValue("reoccurrenceTime", out string? reoccurrenceTime2); + case "/Tasks/CreateUpdateLibraryTask": // DEPRECATED + /*variables.TryGetValue("reoccurrenceTime", out string? reoccurrenceTime2); if (reoccurrenceTime2 is null) return; - _taskManager.AddTask(new UpdateLibrariesTask(TimeSpan.Parse(reoccurrenceTime2))); + _taskManager.AddTask(new UpdateLibrariesTask(TimeSpan.Parse(reoccurrenceTime2)));*/ break; case "/Tasks/CreateDownloadChaptersTask": variables.TryGetValue("connectorName", out string? connectorName2); diff --git a/Tranga/Migrate.cs b/Tranga/Migrate.cs new file mode 100644 index 0000000..9eceeae --- /dev/null +++ b/Tranga/Migrate.cs @@ -0,0 +1,27 @@ +using Newtonsoft.Json; + +namespace Tranga; + +public static class Migrate +{ + private static readonly ushort CurrentVersion = 16; + public static void Files(TrangaSettings settings) + { + settings.version ??= 15; + switch (settings.version) + { + case 15: + RemoveUpdateLibraryTask(settings); + break; + } + + settings.version = CurrentVersion; + settings.ExportSettings(); + } + + private static void RemoveUpdateLibraryTask(TrangaSettings settings) + { + List tasks = JsonConvert.DeserializeObject>(settings.tasksFilePath)!; + tasks.RemoveAll(t => t.task == TrangaTask.Task.UpdateLibraries); + } +} \ No newline at end of file diff --git a/Tranga/TaskManager.cs b/Tranga/TaskManager.cs index d1f5437..383ab2d 100644 --- a/Tranga/TaskManager.cs +++ b/Tranga/TaskManager.cs @@ -37,6 +37,7 @@ public class TaskManager }; this.settings = settings; + Migrate.Files(settings); ImportData(); ExportDataAndSettings(); Thread taskChecker = new(TaskCheckerThread); diff --git a/Tranga/TrangaSettings.cs b/Tranga/TrangaSettings.cs index 086dad5..d272477 100644 --- a/Tranga/TrangaSettings.cs +++ b/Tranga/TrangaSettings.cs @@ -15,6 +15,7 @@ public class TrangaSettings [JsonIgnore] public string coverImageCache => Path.Join(workingDirectory, "imageCache"); public HashSet libraryManagers { get; } public HashSet notificationManagers { get; } + public ushort? version { get; set; } public TrangaSettings(string downloadLocation, string workingDirectory, HashSet? libraryManagers, HashSet? notificationManagers) diff --git a/Tranga/TrangaTasks/UpdateLibrariesTask.cs b/Tranga/TrangaTasks/UpdateLibrariesTask.cs index 545ac9e..2ecf6f2 100644 --- a/Tranga/TrangaTasks/UpdateLibrariesTask.cs +++ b/Tranga/TrangaTasks/UpdateLibrariesTask.cs @@ -3,6 +3,9 @@ using Logging; namespace Tranga.TrangaTasks; +/// +/// LEGACY DEPRECATED +/// public class UpdateLibrariesTask : TrangaTask { public UpdateLibrariesTask(TimeSpan reoccurrence) : base(Task.UpdateLibraries, reoccurrence) -- 2.45.2 From 02c99348963a320034230bb61ed958ba12e31166 Mon Sep 17 00:00:00 2001 From: glax Date: Fri, 21 Jul 2023 00:09:51 +0200 Subject: [PATCH 2/3] change context back to API --- .github/workflows/docker-image.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml index 1af1a70..5ba0bea 100644 --- a/.github/workflows/docker-image.yml +++ b/.github/workflows/docker-image.yml @@ -37,7 +37,7 @@ jobs: - name: Build and push API uses: docker/build-push-action@v4.1.1 with: - context: ./ + context: ./API file: ./API/Dockerfile #platforms: linux/amd64,linux/arm64,linux/riscv64,linux/ppc64le,linux/s390x,linux/386,linux/mips64le,linux/mips64,linux/arm/v7,linux/arm/v6 platforms: linux/amd64,linux/arm/v7,linux/arm64 -- 2.45.2 From 3cb254079494996e780e4a4bbb92978447923171 Mon Sep 17 00:00:00 2001 From: glax Date: Fri, 21 Jul 2023 00:09:59 +0200 Subject: [PATCH 3/3] debugging --- API/Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/API/Dockerfile b/API/Dockerfile index 23e3804..72bcf61 100644 --- a/API/Dockerfile +++ b/API/Dockerfile @@ -3,6 +3,7 @@ FROM mcr.microsoft.com/dotnet/sdk:7.0 as build-env WORKDIR /src COPY . /src/ +RUN ls -l /src RUN dotnet restore /src/API/API.csproj RUN dotnet publish -c Release -o /publish -- 2.45.2