diff --git a/src/Service/Jobs/ChineseNfoRegistry.cs b/src/Service/Jobs/ChineseNfoRegistry.cs index 33b018b..de9f03b 100644 --- a/src/Service/Jobs/ChineseNfoRegistry.cs +++ b/src/Service/Jobs/ChineseNfoRegistry.cs @@ -122,47 +122,20 @@ public class ChineseNfoRegistry : Registry, IChineseNfoRegistry continue; } - var seasonNfos = Directory.GetFiles(Path.GetDirectoryName(tv) ?? string.Empty, "season.nfo", SearchOption.AllDirectories); + var sseasons = Directory.GetDirectories(Path.GetDirectoryName(tv) ?? string.Empty, "Season *", SearchOption.AllDirectories); + var sseasonsNumbers = sseasons.Select(x => x.Split("Season ", StringSplitOptions.None)[1]).Select(int.Parse).ToList(); - // 如果seasonNfos为空,则创建 - if (seasonNfos.Length == 0) + foreach (var seasonNumber in sseasonsNumbers) { - var sseasons = Directory.GetDirectories(Path.GetDirectoryName(tv) ?? string.Empty, "Season *", SearchOption.AllDirectories); + ctn.seasonNfoPath = Path.Combine(Path.GetDirectoryName(tv) ?? string.Empty, $"Season {seasonNumber}", "season.nfo"); - var sseasonsNumbers = sseasons.Select(x => x.Split("Season ", StringSplitOptions.None)[1]).Select(int.Parse).ToList(); - - foreach (var seasonNumber in sseasonsNumbers) - { - var seasonNfo = Path.Combine(Path.GetDirectoryName(tv) ?? string.Empty, $"Season {seasonNumber}", "season.nfo"); - - await File.WriteAllTextAsync(seasonNfo, string.Format( -""" - - - - - - {0} - -""" - , seasonNumber) - ); - - seasonNfos = seasonNfos.Append(seasonNfo).ToArray(); - } - } - - foreach (var season in seasonNfos) - { - ctn.seasonNfoPath = season; - - if (await HandleSeason() == false) + if (File.Exists(ctn.seasonNfoPath) && await HandleSeason() == false) { continue; } var episodeNfos = Directory - .GetFiles(Path.GetDirectoryName(season) ?? string.Empty, "*.nfo", SearchOption.AllDirectories) + .GetFiles(Path.GetDirectoryName(ctn.seasonNfoPath) ?? string.Empty, "*.nfo", SearchOption.AllDirectories) .Where(x => !x.EndsWith("season.nfo")) .ToList();