diff --git a/Jellyfin.Plugin.TubeArchivistMetadata/Configuration/PluginConfiguration.cs b/Jellyfin.Plugin.TubeArchivistMetadata/Configuration/PluginConfiguration.cs
index e946fba..ce10eef 100644
--- a/Jellyfin.Plugin.TubeArchivistMetadata/Configuration/PluginConfiguration.cs
+++ b/Jellyfin.Plugin.TubeArchivistMetadata/Configuration/PluginConfiguration.cs
@@ -119,7 +119,7 @@ namespace Jellyfin.Plugin.TubeArchivistMetadata.Configuration
{
get
{
- _logger.LogDebug("JFUsernamesTo configured: {Message}", string.Join(", ", _jfUsernamesTo));
+ _logger.LogInformation("JFUsernamesTo configured: {Message}", string.Join(", ", _jfUsernamesTo));
return string.Join(", ", _jfUsernamesTo);
}
@@ -138,7 +138,7 @@ namespace Jellyfin.Plugin.TubeArchivistMetadata.Configuration
}
}
- _logger.LogDebug("Set JFUsernamesTo to: {Message}", string.Join(", ", _jfUsernamesTo));
+ _logger.LogInformation("Set JFUsernamesTo to: {Message}", string.Join(", ", _jfUsernamesTo));
}
}
diff --git a/Jellyfin.Plugin.TubeArchivistMetadata/Plugin.cs b/Jellyfin.Plugin.TubeArchivistMetadata/Plugin.cs
index 3e3e95d..4fd566f 100644
--- a/Jellyfin.Plugin.TubeArchivistMetadata/Plugin.cs
+++ b/Jellyfin.Plugin.TubeArchivistMetadata/Plugin.cs
@@ -38,7 +38,6 @@ namespace Jellyfin.Plugin.TubeArchivistMetadata
/// Instance of the interface.
/// Instance of the interface.
/// Instance of the interface.
- /// Instance of the interface.
/// Instance of the interface.
/// Instance of the interface.
public Plugin(
@@ -47,7 +46,6 @@ namespace Jellyfin.Plugin.TubeArchivistMetadata
ILogger logger,
ISessionManager sessionManager,
ILibraryManager libraryManager,
- ITaskManager taskManager,
IUserManager userManager,
IUserDataManager userDataManager)
: base(applicationPaths, xmlSerializer)
@@ -67,24 +65,6 @@ namespace Jellyfin.Plugin.TubeArchivistMetadata
_userDataManager = userDataManager;
userDataManager.UserDataSaved += OnWatchedStatusChange;
- var taToJellyfinProgressSyncTask = new TAToJellyfinProgressSyncTask(logger, libraryManager, userManager, userDataManager);
- var jfToTubearchivistProgressSyncTask = new JFToTubearchivistProgressSyncTask(logger, libraryManager, userManager, userDataManager);
- var isTAJFTaskPresent = taskManager.ScheduledTasks.Any(t => t.Name.Equals(taToJellyfinProgressSyncTask.Name, StringComparison.Ordinal));
- if (Instance!.Configuration.TAJFSync && !isTAJFTaskPresent)
- {
- logger.LogInformation("Queueing task {TaskName}.", taToJellyfinProgressSyncTask.Name);
- taskManager.AddTasks([taToJellyfinProgressSyncTask]);
- taskManager.Execute();
- }
-
- var isJFTATaskPresent = taskManager.ScheduledTasks.Any(t => t.Name.Equals(jfToTubearchivistProgressSyncTask.Name, StringComparison.Ordinal));
- if (Instance!.Configuration.JFTASync && !isJFTATaskPresent)
- {
- logger.LogInformation("Queueing task {TaskName}.", jfToTubearchivistProgressSyncTask.Name);
- taskManager.AddTasks([jfToTubearchivistProgressSyncTask]);
- taskManager.Execute();
- }
-
logger.LogInformation("{Message}", "Collection display name: " + Instance?.Configuration.CollectionTitle);
logger.LogInformation("{Message}", "TubeArchivist API URL: " + Instance?.Configuration.TubeArchivistUrl);
logger.LogInformation("{Message}", "Pinging TubeArchivist API...");
@@ -173,6 +153,12 @@ namespace Jellyfin.Plugin.TubeArchivistMetadata
private async void OnPlaybackProgress(object? sender, PlaybackProgressEventArgs eventArgs)
{
+ if (eventArgs == null || eventArgs.Item.Id == Guid.Empty)
+ {
+ Logger.LogDebug("Skipping progress synchronization: PlaybackProgress event triggered with null or empty Guid.");
+ return;
+ }
+
if (Instance!.Configuration.JFTASync && eventArgs.Users.Any(u => Instance!.Configuration.JFUsernameFrom.Equals(u.Username, StringComparison.Ordinal)))
{
BaseItem? season = LibraryManager.GetItemById(eventArgs.Item.ParentId);
@@ -193,6 +179,12 @@ namespace Jellyfin.Plugin.TubeArchivistMetadata
private async void OnWatchedStatusChange(object? sender, UserDataSaveEventArgs eventArgs)
{
+ if (eventArgs == null || eventArgs.Item.Id == Guid.Empty)
+ {
+ Logger.LogDebug("Skipping watched status synchronization: WatchedStatusChange event triggered with null or empty Guid.");
+ return;
+ }
+
var user = _userManager.GetUserById(eventArgs.UserId);
if (Configuration.JFTASync && user != null && Configuration.GetJFUsernamesToArray().Contains(user!.Username))
{
diff --git a/Jellyfin.Plugin.TubeArchivistMetadata/Providers/EpisodeImageProvider.cs b/Jellyfin.Plugin.TubeArchivistMetadata/Providers/EpisodeImageProvider.cs
index 9454d4a..fa00c01 100644
--- a/Jellyfin.Plugin.TubeArchivistMetadata/Providers/EpisodeImageProvider.cs
+++ b/Jellyfin.Plugin.TubeArchivistMetadata/Providers/EpisodeImageProvider.cs
@@ -62,8 +62,8 @@ namespace Jellyfin.Plugin.TubeArchivistMetadata.Providers
var taApi = TubeArchivistApi.GetInstance();
var videoTAId = Utils.GetVideoNameFromPath(item.Path);
var video = await taApi.GetVideo(videoTAId).ConfigureAwait(true);
- _logger.LogInformation("{Message}", string.Format(CultureInfo.CurrentCulture, "Getting images for video: {0} ({1})", video?.Title, videoTAId));
- _logger.LogInformation("{Message}", "Thumb URI: " + video?.VidThumbUrl);
+ _logger.LogDebug("{Message}", string.Format(CultureInfo.CurrentCulture, "Getting images for video: {0} ({1})", video?.Title, videoTAId));
+ _logger.LogDebug("{Message}", "Thumb URI: " + video?.VidThumbUrl);
if (video != null)
{
diff --git a/Jellyfin.Plugin.TubeArchivistMetadata/Providers/EpisodeMetadataProvider.cs b/Jellyfin.Plugin.TubeArchivistMetadata/Providers/EpisodeMetadataProvider.cs
index a5f1f38..d19acb1 100644
--- a/Jellyfin.Plugin.TubeArchivistMetadata/Providers/EpisodeMetadataProvider.cs
+++ b/Jellyfin.Plugin.TubeArchivistMetadata/Providers/EpisodeMetadataProvider.cs
@@ -53,8 +53,8 @@ namespace Jellyfin.Plugin.TubeArchivistMetadata.Providers
var taApi = TubeArchivistApi.GetInstance();
var videoTAId = Utils.GetVideoNameFromPath(info.Path);
var video = await taApi.GetVideo(videoTAId).ConfigureAwait(true);
- _logger.LogInformation("{Message}", string.Format(CultureInfo.CurrentCulture, "Getting metadata for video: {0} ({1})", video?.Title, videoTAId));
- _logger.LogInformation("{Message}", "Received metadata: \n" + JsonConvert.SerializeObject(video));
+ _logger.LogDebug("{Message}", string.Format(CultureInfo.CurrentCulture, "Getting metadata for video: {0} ({1})", video?.Title, videoTAId));
+ _logger.LogDebug("{Message}", "Received metadata: \n" + JsonConvert.SerializeObject(video));
if (video != null)
{
diff --git a/Jellyfin.Plugin.TubeArchivistMetadata/Providers/SeriesImageProvider.cs b/Jellyfin.Plugin.TubeArchivistMetadata/Providers/SeriesImageProvider.cs
index e67e8a7..6fef96a 100644
--- a/Jellyfin.Plugin.TubeArchivistMetadata/Providers/SeriesImageProvider.cs
+++ b/Jellyfin.Plugin.TubeArchivistMetadata/Providers/SeriesImageProvider.cs
@@ -60,10 +60,10 @@ namespace Jellyfin.Plugin.TubeArchivistMetadata.Providers
var taApi = TubeArchivistApi.GetInstance();
var channelTAId = Utils.GetChannelNameFromPath(item.Path);
var channel = await taApi.GetChannel(channelTAId).ConfigureAwait(true);
- _logger.LogInformation("{Message}", string.Format(CultureInfo.CurrentCulture, "Getting images for channel: {0} ({1})", channel?.Name, channelTAId));
- _logger.LogInformation("{Message}", "Thumb URI: " + channel?.ThumbUrl);
- _logger.LogInformation("{Message}", "TVArt URI: " + channel?.TvartUrl);
- _logger.LogInformation("{Message}", "Banner URI: " + channel?.BannerUrl);
+ _logger.LogDebug("{Message}", string.Format(CultureInfo.CurrentCulture, "Getting images for channel: {0} ({1})", channel?.Name, channelTAId));
+ _logger.LogDebug("{Message}", "Thumb URI: " + channel?.ThumbUrl);
+ _logger.LogDebug("{Message}", "TVArt URI: " + channel?.TvartUrl);
+ _logger.LogDebug("{Message}", "Banner URI: " + channel?.BannerUrl);
if (channel != null)
{
diff --git a/Jellyfin.Plugin.TubeArchivistMetadata/Providers/SeriesMetadataProvider.cs b/Jellyfin.Plugin.TubeArchivistMetadata/Providers/SeriesMetadataProvider.cs
index 269ce4f..d44a847 100644
--- a/Jellyfin.Plugin.TubeArchivistMetadata/Providers/SeriesMetadataProvider.cs
+++ b/Jellyfin.Plugin.TubeArchivistMetadata/Providers/SeriesMetadataProvider.cs
@@ -52,8 +52,8 @@ namespace Jellyfin.Plugin.TubeArchivistMetadata.Providers
var taApi = TubeArchivistApi.GetInstance();
var channelTAId = Utils.GetChannelNameFromPath(info.Path);
var channel = await taApi.GetChannel(channelTAId).ConfigureAwait(true);
- _logger.LogInformation("{Message}", string.Format(CultureInfo.CurrentCulture, "Getting metadata for channel: {0} ({1})", channel?.Name, channelTAId));
- _logger.LogInformation("{Message}", "Received metadata: \n" + JsonConvert.SerializeObject(channel));
+ _logger.LogDebug("{Message}", string.Format(CultureInfo.CurrentCulture, "Getting metadata for channel: {0} ({1})", channel?.Name, channelTAId));
+ _logger.LogDebug("{Message}", "Received metadata: \n" + JsonConvert.SerializeObject(channel));
if (channel != null)
{
diff --git a/Jellyfin.Plugin.TubeArchivistMetadata/Tasks/JFToTubeArchivistProgressSyncTask.cs b/Jellyfin.Plugin.TubeArchivistMetadata/Tasks/JFToTubeArchivistProgressSyncTask.cs
index 01d9d33..741496a 100644
--- a/Jellyfin.Plugin.TubeArchivistMetadata/Tasks/JFToTubeArchivistProgressSyncTask.cs
+++ b/Jellyfin.Plugin.TubeArchivistMetadata/Tasks/JFToTubeArchivistProgressSyncTask.cs
@@ -92,7 +92,7 @@ namespace Jellyfin.Plugin.TubeArchivistMetadata.Tasks
{
IncludeItemTypes = new[] { BaseItemKind.Series }
});
- _logger.LogInformation("Analyzing collection {Id} with name {Name}", collectionItem.Id, collectionItem.Name);
+ _logger.LogDebug("Analyzing collection {Id} with name {Name}", collectionItem.Id, collectionItem.Name);
_logger.LogDebug("Found {Message} channels", channels.Count);
foreach (Series channel in channels)
@@ -116,7 +116,7 @@ namespace Jellyfin.Plugin.TubeArchivistMetadata.Tasks
}
}
- _logger.LogInformation("Found a total of {VideosCount} videos", videosCount);
+ _logger.LogDebug("Found a total of {VideosCount} videos", videosCount);
var processedVideosCount = 0;
if (collectionItem == null)
@@ -153,7 +153,7 @@ namespace Jellyfin.Plugin.TubeArchivistMetadata.Tasks
foreach (Episode video in videos)
{
var videoYTId = Utils.GetVideoNameFromPath(video.Path);
- _logger.LogInformation("{VideoYtId}", videoYTId);
+ _logger.LogDebug("{VideoYtId}", videoYTId);
HttpStatusCode statusCode;
if (!isChannelCheckedForWatched && channel.IsPlayed(user))
@@ -181,7 +181,7 @@ namespace Jellyfin.Plugin.TubeArchivistMetadata.Tasks
_logger.LogCritical("{Message}", $"POST /watched returned {statusCode} for video {video.Name} ({videoYTId}) with wacthed status {isVideoPlayed}");
}
- _logger.LogInformation("{Message}", isVideoPlayed);
+ _logger.LogDebug("{Message}", isVideoPlayed);
if (!isVideoPlayed)
{
var playbackProgress = _userDataManager.GetUserData(user, video)?.PlaybackPositionTicks / TimeSpan.TicksPerSecond;
diff --git a/Jellyfin.Plugin.TubeArchivistMetadata/Tasks/TAToJellyfinProgressSyncTask.cs b/Jellyfin.Plugin.TubeArchivistMetadata/Tasks/TAToJellyfinProgressSyncTask.cs
index 543988d..6a75245 100644
--- a/Jellyfin.Plugin.TubeArchivistMetadata/Tasks/TAToJellyfinProgressSyncTask.cs
+++ b/Jellyfin.Plugin.TubeArchivistMetadata/Tasks/TAToJellyfinProgressSyncTask.cs
@@ -92,7 +92,7 @@ namespace Jellyfin.Plugin.TubeArchivistMetadata.Tasks
{
IncludeItemTypes = new[] { BaseItemKind.Series }
});
- _logger.LogInformation("Analyzing collection {Id} with name {Name}", collectionItem.Id, collectionItem.Name);
+ _logger.LogDebug("Analyzing collection {Id} with name {Name}", collectionItem.Id, collectionItem.Name);
_logger.LogDebug("Found {Message} channels", channels.Count);
foreach (Series channel in channels)
@@ -117,7 +117,7 @@ namespace Jellyfin.Plugin.TubeArchivistMetadata.Tasks
}
}
- _logger.LogInformation("Found a total of {VideosCount} videos", videosCount);
+ _logger.LogDebug("Found a total of {VideosCount} videos", videosCount);
var processedVideosCount = 0;
foreach (var jfUsername in Plugin.Instance!.Configuration.GetJFUsernamesToArray())
@@ -125,7 +125,7 @@ namespace Jellyfin.Plugin.TubeArchivistMetadata.Tasks
var user = _userManager.GetUserByName(jfUsername);
if (user == null)
{
- _logger.LogInformation("{Message}", $"Jellyfin user with username {jfUsername} not found");
+ _logger.LogDebug("{Message}", $"Jellyfin user with username {jfUsername} not found");
continue;
}
diff --git a/Jellyfin.Plugin.TubeArchivistMetadata/TubeArchivist/TubeArchivistApi.cs b/Jellyfin.Plugin.TubeArchivistMetadata/TubeArchivist/TubeArchivistApi.cs
index 18e4672..fc10f6b 100644
--- a/Jellyfin.Plugin.TubeArchivistMetadata/TubeArchivist/TubeArchivistApi.cs
+++ b/Jellyfin.Plugin.TubeArchivistMetadata/TubeArchivist/TubeArchivistApi.cs
@@ -73,11 +73,11 @@ namespace Jellyfin.Plugin.TubeArchivistMetadata.TubeArchivist
while (response.StatusCode == HttpStatusCode.Moved)
{
url = response.Headers.Location;
- _logger.LogInformation("{Message}", "Received redirect to: " + url);
+ _logger.LogDebug("{Message}", "Received redirect to: " + url);
response = await client.GetAsync(url).ConfigureAwait(true);
}
- _logger.LogInformation("{Message}", url + ": " + response.StatusCode);
+ _logger.LogDebug("{Message}", url + ": " + response.StatusCode);
if (response.IsSuccessStatusCode)
{
@@ -103,16 +103,16 @@ namespace Jellyfin.Plugin.TubeArchivistMetadata.TubeArchivist
while (response.StatusCode == HttpStatusCode.Moved)
{
url = response.Headers.Location;
- _logger.LogInformation("{Message}", "Received redirect to: " + url);
+ _logger.LogDebug("{Message}", "Received redirect to: " + url);
response = await client.GetAsync(url).ConfigureAwait(true);
}
- _logger.LogInformation("{Message}", url + ": " + response.StatusCode);
+ _logger.LogDebug("{Message}", url + ": " + response.StatusCode);
if (response.IsSuccessStatusCode)
{
string rawData = await response.Content.ReadAsStringAsync().ConfigureAwait(true);
- _logger.LogInformation("{Message}", rawData);
+ _logger.LogDebug("{Message}", rawData);
video = JsonConvert.DeserializeObject