1
All checks were successful
Docker Build & Deploy / Build Docker Image (push) Successful in 21s
Docker Build & Deploy / Deploy to Production (push) Successful in 4s

This commit is contained in:
孙诚
2025-03-13 17:20:34 +08:00
parent 08ce048614
commit 79b118ce9b

View File

@@ -1,6 +1,7 @@
using System.Net; using System.Net;
using System.Text.Json.Nodes; using System.Text.Json.Nodes;
using System.Xml; using System.Xml;
using Core;
using FluentScheduler; using FluentScheduler;
using Interface.Jobs; using Interface.Jobs;
using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Configuration;
@@ -58,6 +59,10 @@ public class ChineseNfoRegistry : Registry, IChineseNfoRegistry
return; return;
} }
var successCount = 0;
var failedCount = 0;
var skippedCount = 0;
// 扫描 tvshow.nfo 文件 // 扫描 tvshow.nfo 文件
var tvShowFiles = Directory.GetFiles(tvFolder, "tvshow.nfo", SearchOption.AllDirectories); var tvShowFiles = Directory.GetFiles(tvFolder, "tvshow.nfo", SearchOption.AllDirectories);
@@ -105,6 +110,7 @@ public class ChineseNfoRegistry : Registry, IChineseNfoRegistry
var completedNode = episodeXml.SelectSingleNode("//completed"); var completedNode = episodeXml.SelectSingleNode("//completed");
if (completedNode != null && ignoreCompleted == false) if (completedNode != null && ignoreCompleted == false)
{ {
skippedCount++;
Console.WriteLine($"{seasonFile} & 已完成"); Console.WriteLine($"{seasonFile} & 已完成");
continue; continue;
} }
@@ -113,6 +119,7 @@ public class ChineseNfoRegistry : Registry, IChineseNfoRegistry
var lockedNode = episodeXml.SelectSingleNode("//lockdata"); var lockedNode = episodeXml.SelectSingleNode("//lockdata");
if (lockedNode != null && lockedNode.InnerText == "true" && ignoreLocked == false) if (lockedNode != null && lockedNode.InnerText == "true" && ignoreLocked == false)
{ {
skippedCount++;
Console.WriteLine($"{seasonFile} & 已锁定"); Console.WriteLine($"{seasonFile} & 已锁定");
continue; continue;
} }
@@ -121,6 +128,7 @@ public class ChineseNfoRegistry : Registry, IChineseNfoRegistry
var seasonNode = episodeXml.SelectSingleNode("//season"); var seasonNode = episodeXml.SelectSingleNode("//season");
if (seasonNode == null) if (seasonNode == null)
{ {
failedCount++;
Console.WriteLine($"{seasonFile} & 未找到 season"); Console.WriteLine($"{seasonFile} & 未找到 season");
continue; continue;
} }
@@ -129,18 +137,21 @@ public class ChineseNfoRegistry : Registry, IChineseNfoRegistry
var episodeNode = episodeXml.SelectSingleNode("//episode"); var episodeNode = episodeXml.SelectSingleNode("//episode");
if (episodeNode == null) if (episodeNode == null)
{ {
failedCount++;
Console.WriteLine($"{seasonFile} & 未找到 episode"); Console.WriteLine($"{seasonFile} & 未找到 episode");
continue; continue;
} }
if (!int.TryParse(seasonNode.InnerText, out var season)) if (!int.TryParse(seasonNode.InnerText, out var season))
{ {
failedCount++;
Console.WriteLine($"{seasonFile} & season 不是数字"); Console.WriteLine($"{seasonFile} & season 不是数字");
continue; continue;
} }
if (!int.TryParse(episodeNode.InnerText, out var episode)) if (!int.TryParse(episodeNode.InnerText, out var episode))
{ {
failedCount++;
Console.WriteLine($"{seasonFile} & episode 不是数字"); Console.WriteLine($"{seasonFile} & episode 不是数字");
continue; continue;
} }
@@ -149,6 +160,7 @@ public class ChineseNfoRegistry : Registry, IChineseNfoRegistry
var titleNode = episodeXml.SelectSingleNode("//title"); var titleNode = episodeXml.SelectSingleNode("//title");
if (titleNode == null) if (titleNode == null)
{ {
failedCount++;
Console.WriteLine($"{seasonFile} & 未找到 title"); Console.WriteLine($"{seasonFile} & 未找到 title");
continue; continue;
} }
@@ -157,6 +169,7 @@ public class ChineseNfoRegistry : Registry, IChineseNfoRegistry
if (json == null) if (json == null)
{ {
failedCount++;
continue; continue;
} }
@@ -190,10 +203,13 @@ public class ChineseNfoRegistry : Registry, IChineseNfoRegistry
if (!isUpdate) if (!isUpdate)
{ {
skippedCount++;
Console.WriteLine($"{seasonFile} & 无更新"); Console.WriteLine($"{seasonFile} & 无更新");
continue; continue;
} }
successCount++;
// 添加一个已完成节点 // 添加一个已完成节点
if (completedNode == null) if (completedNode == null)
{ {
@@ -227,6 +243,8 @@ public class ChineseNfoRegistry : Registry, IChineseNfoRegistry
await Task.Delay(10000); await Task.Delay(10000);
} }
} }
await WxNotify.SendCommonAsync($"ChineseNfoRegistry.Job() success: {successCount}, failed: {failedCount}, skipped: {skippedCount}");
} }
private async Task<JsonObject?> GetTmdbEpisode(int tmdbId, int season, int episode) private async Task<JsonObject?> GetTmdbEpisode(int tmdbId, int season, int episode)