更新 IChineseNfoRegistry 和 ChineseNfoRegistry 类中的 Job 方法,将 tmdbId 参数更改为 path,并在 JobExecute 方法中增加路径、季号和集号的验证逻辑,改进日志记录以增强错误处理。
This commit is contained in:
@@ -3,7 +3,7 @@ namespace Interface.Jobs;
|
|||||||
public interface IChineseNfoRegistry
|
public interface IChineseNfoRegistry
|
||||||
{
|
{
|
||||||
void Job(
|
void Job(
|
||||||
string? tmdbId = null,
|
string? path = null,
|
||||||
string? seasonNumber = null,
|
string? seasonNumber = null,
|
||||||
string? episodeNumber = null,
|
string? episodeNumber = null,
|
||||||
bool ignoreLocked = false,
|
bool ignoreLocked = false,
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ public class ChineseNfoRegistry : Registry, IChineseNfoRegistry
|
|||||||
}
|
}
|
||||||
|
|
||||||
public async void Job(
|
public async void Job(
|
||||||
string? tmdbId = null,
|
string? path = null,
|
||||||
string? seasonNumber = null,
|
string? seasonNumber = null,
|
||||||
string? episodeNumber = null,
|
string? episodeNumber = null,
|
||||||
bool ignoreLocked = false,
|
bool ignoreLocked = false,
|
||||||
@@ -58,7 +58,7 @@ public class ChineseNfoRegistry : Registry, IChineseNfoRegistry
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
await JobExecute(tmdbId, seasonNumber, episodeNumber, ignoreLocked, ignoreCompleted);
|
await JobExecute(path, seasonNumber, episodeNumber, ignoreLocked, ignoreCompleted);
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
@@ -67,9 +67,9 @@ public class ChineseNfoRegistry : Registry, IChineseNfoRegistry
|
|||||||
}
|
}
|
||||||
|
|
||||||
private async Task JobExecute(
|
private async Task JobExecute(
|
||||||
string? tmdbId = null,
|
string? requestPath = null,
|
||||||
string? seasonNumber = null,
|
string? requestSeasonNumber = null,
|
||||||
string? episodeNumber = null,
|
string? requestEpisodeNumber = null,
|
||||||
bool ignoreLocked = false,
|
bool ignoreLocked = false,
|
||||||
bool ignoreCompleted = false)
|
bool ignoreCompleted = false)
|
||||||
{
|
{
|
||||||
@@ -95,8 +95,19 @@ public class ChineseNfoRegistry : Registry, IChineseNfoRegistry
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
foreach (var tv in tvNfos)
|
foreach (var tv in tvNfos)
|
||||||
{
|
{
|
||||||
|
if (!string.IsNullOrEmpty(requestPath))
|
||||||
|
{
|
||||||
|
if (!tv.Contains(requestPath))
|
||||||
|
{
|
||||||
|
_logger.LogInformation("ChineseNfoRegistry.Job() tv is not contains path");
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
await HandleTv(tv);
|
await HandleTv(tv);
|
||||||
@@ -326,6 +337,18 @@ public class ChineseNfoRegistry : Registry, IChineseNfoRegistry
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!string.IsNullOrEmpty(requestPath))
|
||||||
|
{
|
||||||
|
if (!string.IsNullOrEmpty(requestSeasonNumber))
|
||||||
|
{
|
||||||
|
if (seasonNumber != int.Parse(requestSeasonNumber))
|
||||||
|
{
|
||||||
|
_logger.LogInformation("ChineseNfoRegistry.Job() seasonNumber is not equal");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
var seasonInfo = await GetTmdbSeason(seasonNfo, tmdbId, seasonNumber);
|
var seasonInfo = await GetTmdbSeason(seasonNfo, tmdbId, seasonNumber);
|
||||||
|
|
||||||
if (seasonInfo == null)
|
if (seasonInfo == null)
|
||||||
@@ -473,6 +496,21 @@ public class ChineseNfoRegistry : Registry, IChineseNfoRegistry
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!string.IsNullOrEmpty(requestPath))
|
||||||
|
{
|
||||||
|
if (!string.IsNullOrEmpty(requestSeasonNumber))
|
||||||
|
{
|
||||||
|
if (!string.IsNullOrEmpty(requestEpisodeNumber))
|
||||||
|
{
|
||||||
|
if (seasonNumber != int.Parse(requestSeasonNumber) || episodeNumber != int.Parse(requestEpisodeNumber))
|
||||||
|
{
|
||||||
|
_logger.LogInformation("ChineseNfoRegistry.Job() episodeNumber is not equal");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
var episodeInfo = await GetTmdbEpisode(episodeNfo, tmdbId, seasonNumber, episodeNumber);
|
var episodeInfo = await GetTmdbEpisode(episodeNfo, tmdbId, seasonNumber, episodeNumber);
|
||||||
|
|
||||||
if (episodeInfo == null)
|
if (episodeInfo == null)
|
||||||
|
|||||||
@@ -116,15 +116,19 @@ public class JobTriggerController : BaseController
|
|||||||
|
|
||||||
var json = JsonNode.Parse(text);
|
var json = JsonNode.Parse(text);
|
||||||
|
|
||||||
|
var eventType = json?["eventType"]?.ToString();
|
||||||
|
|
||||||
|
if (eventType != "Download")
|
||||||
|
{
|
||||||
|
return "OK";
|
||||||
|
}
|
||||||
|
|
||||||
var tmdbId = json?["series"]?["tmdbId"]?.ToString();
|
var tmdbId = json?["series"]?["tmdbId"]?.ToString();
|
||||||
var seasonNumber = json?["episodes"]?[0]?["seasonNumber"]?.ToString();
|
var seasonNumber = json?["episodes"]?[0]?["seasonNumber"]?.ToString();
|
||||||
var episodeNumber = json?["episodes"]?[0]?["episodeNumber"]?.ToString();
|
var episodeNumber = json?["episodes"]?[0]?["episodeNumber"]?.ToString();
|
||||||
var path = json?["series"]?["path"]?.ToString();
|
var path = json?["series"]?["path"]?.ToString();
|
||||||
var eventType = json?["eventType"]?.ToString();
|
|
||||||
|
|
||||||
await WxNotify.SendCommonAsync($"SonarrChangedConvertChineseNfo: {tmdbId}, {seasonNumber}, {episodeNumber}, {path}, {eventType}");
|
_chineseNfoRegistry.Job(path: path, seasonNumber: seasonNumber, episodeNumber: episodeNumber, ignoreLocked: true, ignoreCompleted: true);
|
||||||
|
|
||||||
_chineseNfoRegistry.Job(ignoreLocked: true, ignoreCompleted: true);
|
|
||||||
|
|
||||||
return "OK";
|
return "OK";
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user