Merge pull request #77 from DerSeegler/master

Add error handling to SetProgress calls
This commit is contained in:
DarkFighterLuke
2025-12-02 14:37:59 +01:00
committed by GitHub
2 changed files with 20 additions and 6 deletions
@@ -172,12 +172,19 @@ namespace Jellyfin.Plugin.TubeArchivistMetadata
{ {
long progress = (long)eventArgs.PlaybackPositionTicks / TimeSpan.TicksPerSecond; long progress = (long)eventArgs.PlaybackPositionTicks / TimeSpan.TicksPerSecond;
var videoId = Utils.GetVideoNameFromPath(eventArgs.Item.Path); var videoId = Utils.GetVideoNameFromPath(eventArgs.Item.Path);
try
{
var statusCode = await TubeArchivistApi.GetInstance().SetProgress(videoId, progress).ConfigureAwait(true); var statusCode = await TubeArchivistApi.GetInstance().SetProgress(videoId, progress).ConfigureAwait(true);
if (statusCode != System.Net.HttpStatusCode.OK) if (statusCode != System.Net.HttpStatusCode.OK)
{ {
Logger.LogCritical("{Message}", $"POST /video/{videoId}/progress returned {statusCode} for video {eventArgs.Item.Name} with progress {progress} seconds"); Logger.LogCritical("{Message}", $"POST /video/{videoId}/progress returned {statusCode} for video {eventArgs.Item.Name} with progress {progress} seconds");
} }
} }
catch (Exception ex)
{
Logger.LogCritical("An exception occurred while calling POST /video/{VideoId}/progress for for video {VideoName} with progress {Progress} seconds: {ExceptionMessage}", videoId, eventArgs.Item.Name, progress, ex.Message);
}
}
} }
private async void OnWatchedStatusChange(object? sender, UserDataSaveEventArgs eventArgs) private async void OnWatchedStatusChange(object? sender, UserDataSaveEventArgs eventArgs)
@@ -200,6 +200,8 @@ namespace Jellyfin.Plugin.TubeArchivistMetadata.Tasks
{ {
var playbackProgress = _userDataManager.GetUserData(user, video)?.PlaybackPositionTicks / TimeSpan.TicksPerSecond; var playbackProgress = _userDataManager.GetUserData(user, video)?.PlaybackPositionTicks / TimeSpan.TicksPerSecond;
if (playbackProgress != null) if (playbackProgress != null)
{
try
{ {
statusCode = await taApi.SetProgress(videoYTId, playbackProgress.Value).ConfigureAwait(true); statusCode = await taApi.SetProgress(videoYTId, playbackProgress.Value).ConfigureAwait(true);
if (statusCode != System.Net.HttpStatusCode.OK) if (statusCode != System.Net.HttpStatusCode.OK)
@@ -207,6 +209,11 @@ namespace Jellyfin.Plugin.TubeArchivistMetadata.Tasks
_logger.LogCritical("{Message}", $"POST /video/{videoYTId}/progress returned {statusCode} for video {video.Name} with progress {progress} seconds"); _logger.LogCritical("{Message}", $"POST /video/{videoYTId}/progress returned {statusCode} for video {video.Name} with progress {progress} seconds");
} }
} }
catch (Exception ex)
{
_logger.LogCritical("An exception occurred while calling POST /video/{VideoId}/progress for for video {VideoName} with progress {Progress} seconds: {ExceptionMessage}", videoYTId, videoYTId, playbackProgress.Value, ex.Message);
}
}
} }
} }