chore: wrap itemYTId stuff in try catch

This commit is contained in:
wolffshots
2024-10-22 15:11:50 +02:00
committed by Jadon Wolffs
parent ce8aea629b
commit 2fee654efe
@@ -178,17 +178,25 @@ namespace Jellyfin.Plugin.TubeArchivistMetadata
var isPlayed = eventArgs.Item.IsPlayed(user); var isPlayed = eventArgs.Item.IsPlayed(user);
Logger.LogDebug("User {UserId} changed watched status to {Status} for the item {ItemName}", eventArgs.UserId, isPlayed, eventArgs.Item.Name); Logger.LogDebug("User {UserId} changed watched status to {Status} for the item {ItemName}", eventArgs.UserId, isPlayed, eventArgs.Item.Name);
string itemYTId; string itemYTId;
if (eventArgs.Item is Series) try
{ {
itemYTId = Utils.GetChannelNameFromPath(eventArgs.Item.Path); if (eventArgs.Item is Series)
{
itemYTId = Utils.GetChannelNameFromPath(eventArgs.Item.Path);
}
else if (eventArgs.Item is Episode)
{
itemYTId = Utils.GetVideoNameFromPath(eventArgs.Item.Path); // Potentially problematic line for Series
}
else
{
return;
}
} }
else if (eventArgs.Item is Episode) catch (Exception ex)
{ {
itemYTId = Utils.GetVideoNameFromPath(eventArgs.Item.Path); Logger.LogError(ex, "Error while processing item path: {ItemPath}", eventArgs.Item.Path ?? "null");
} return; // Exit the method if there's an error
else
{
return;
} }
var statusCode = await TubeArchivistApi.GetInstance().SetWatchedStatus(itemYTId, isPlayed).ConfigureAwait(true); var statusCode = await TubeArchivistApi.GetInstance().SetWatchedStatus(itemYTId, isPlayed).ConfigureAwait(true);