From 233595baace3a36ba21f4c5a66b0a6ddb70759a4 Mon Sep 17 00:00:00 2001 From: DarkFighterLuke Date: Fri, 6 Sep 2024 13:46:11 +0200 Subject: [PATCH] Implement JF->TA watched status synchronization --- .../Configuration/PluginConfiguration.cs | 7 + .../Configuration/configPage.html | 9 + .../Plugin.cs | 10 +- .../JFToTubeArchivistProgressSyncTask.cs | 31 +++- .../Tasks/JFToTubeArchivistWatchedSyncTask.cs | 169 ++++++++++++++++++ .../TubeArchivist/Additional/Watched.cs | 33 ++++ .../TubeArchivist/TubeArchivistApi.cs | 19 +- 7 files changed, 275 insertions(+), 3 deletions(-) create mode 100644 Jellyfin.Plugin.TubeArchivistMetadata/Tasks/JFToTubeArchivistWatchedSyncTask.cs create mode 100644 Jellyfin.Plugin.TubeArchivistMetadata/TubeArchivist/Additional/Watched.cs diff --git a/Jellyfin.Plugin.TubeArchivistMetadata/Configuration/PluginConfiguration.cs b/Jellyfin.Plugin.TubeArchivistMetadata/Configuration/PluginConfiguration.cs index 1e96e3e..5b21c00 100644 --- a/Jellyfin.Plugin.TubeArchivistMetadata/Configuration/PluginConfiguration.cs +++ b/Jellyfin.Plugin.TubeArchivistMetadata/Configuration/PluginConfiguration.cs @@ -41,6 +41,7 @@ namespace Jellyfin.Plugin.TubeArchivistMetadata.Configuration TAJFSync = false; _jfUsernamesTo = new HashSet(); TAJFTaskInterval = 1; + JFTAWatchedTaskInterval = 1; } /// @@ -135,6 +136,12 @@ namespace Jellyfin.Plugin.TubeArchivistMetadata.Configuration /// public int TAJFTaskInterval { get; set; } + /// + /// Gets or sets the interval in seconds at which the Jellyfin to TubeArchivist watched statuses synchronization task should run. + /// It requires Jellyfin server restart to take effect. + /// + public int JFTAWatchedTaskInterval { get; set; } + /// /// Gets the playback progress owners Jellyfin usernames to synchronize data from TubeArchivist. /// diff --git a/Jellyfin.Plugin.TubeArchivistMetadata/Configuration/configPage.html b/Jellyfin.Plugin.TubeArchivistMetadata/Configuration/configPage.html index d4e07d5..84b2798 100644 --- a/Jellyfin.Plugin.TubeArchivistMetadata/Configuration/configPage.html +++ b/Jellyfin.Plugin.TubeArchivistMetadata/Configuration/configPage.html @@ -58,6 +58,13 @@
This is the Jellyfin username to synchronize data from on TubeArchivist
+
+ + +
This is the Jellyfin to TubeArchivist watched statuses + synchronization interval in seconds (Jellyfin restart required).
+