更新TMDB
This commit is contained in:
parent
447aaf12e7
commit
546544b911
@ -2,5 +2,6 @@
|
|||||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003APath_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F94e5a9ba04d74002870fbeeec71ff78cca738_003F85_003Fce11ac0c_003FPath_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003APath_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F94e5a9ba04d74002870fbeeec71ff78cca738_003F85_003Fce11ac0c_003FPath_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ARawInfoPanel_005FScriptMethods_002Egenerated_002Ecs_002Fl_003AC_0021_003FUsers_003Flianzefeng_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E2_003Fresharper_002Dhost_003FSourcesCache_003F9fdf5fe7bab299c9c5ee4ca6784782ae9851b9b_003FRawInfoPanel_005FScriptMethods_002Egenerated_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ARawInfoPanel_005FScriptMethods_002Egenerated_002Ecs_002Fl_003AC_0021_003FUsers_003Flianzefeng_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E2_003Fresharper_002Dhost_003FSourcesCache_003F9fdf5fe7bab299c9c5ee4ca6784782ae9851b9b_003FRawInfoPanel_005FScriptMethods_002Egenerated_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AThrowHelper_002Ecs_002Fl_003AC_0021_003FUsers_003Flianzefeng_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E2_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fa03380083db34a2faee436e29e06a72ae8e910_003Fa8_003Fec982e59_003FThrowHelper_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AThrowHelper_002Ecs_002Fl_003AC_0021_003FUsers_003Flianzefeng_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E2_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fa03380083db34a2faee436e29e06a72ae8e910_003Fa8_003Fec982e59_003FThrowHelper_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ATMDbClient_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F0c3532d6bbaa48c3a27ccb9eb789e88055a00_003Fe0_003F63a8d0e4_003FTMDbClient_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ATreeItem_002Ecs_002Fl_003AC_0021_003FUsers_003Flianzefeng_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E2_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F1c378f459c054fecaf4484a0fa6d44c055a800_003F1d_003Fbc7bd422_003FTreeItem_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ATreeItem_002Ecs_002Fl_003AC_0021_003FUsers_003Flianzefeng_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E2_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F1c378f459c054fecaf4484a0fa6d44c055a800_003F1d_003Fbc7bd422_003FTreeItem_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ATree_002Ecs_002Fl_003AC_0021_003FUsers_003Flianzefeng_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E2_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F1c378f459c054fecaf4484a0fa6d44c055a800_003F9d_003Fbcfb64ab_003FTree_002Ecs/@EntryIndexedValue">ForceIncluded</s:String></wpf:ResourceDictionary>
|
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ATree_002Ecs_002Fl_003AC_0021_003FUsers_003Flianzefeng_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E2_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F1c378f459c054fecaf4484a0fa6d44c055a800_003F9d_003Fbcfb64ab_003FTree_002Ecs/@EntryIndexedValue">ForceIncluded</s:String></wpf:ResourceDictionary>
|
||||||
@ -45,7 +45,6 @@ public static class ItemFields
|
|||||||
public static string Key_Episode => "Episode";
|
public static string Key_Episode => "Episode";
|
||||||
public static string Key_Year => "Year";
|
public static string Key_Year => "Year";
|
||||||
|
|
||||||
public static string Key_EpisodeNum => "EpisodeNum";
|
|
||||||
public static string Key_TMDBID => "TMDBID";
|
public static string Key_TMDBID => "TMDBID";
|
||||||
|
|
||||||
public static ItemType Type(this Item item)
|
public static ItemType Type(this Item item)
|
||||||
|
|||||||
@ -19,9 +19,18 @@ public class RawParser(Configs configs) : ItemParser
|
|||||||
var result = parts.ToList();
|
var result = parts.ToList();
|
||||||
foreach (var regex in config.TokenFilterRules.Regexes)
|
foreach (var regex in config.TokenFilterRules.Regexes)
|
||||||
{
|
{
|
||||||
result.RemoveAll(part => string.IsNullOrEmpty(part.Trim()) || Regex.Match(part.Trim(), regex).Success);
|
result = result.Select(part =>
|
||||||
|
{
|
||||||
|
var match = Regex.Match(part.Trim(), regex);
|
||||||
|
if (match.Success)
|
||||||
|
{
|
||||||
|
return part.Replace(match.Value, "").Trim();
|
||||||
|
}
|
||||||
|
|
||||||
|
return part.Trim();
|
||||||
|
}).ToList();
|
||||||
}
|
}
|
||||||
return result;
|
return result.Where(part => !string.IsNullOrEmpty(part)).ToList();
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<string> GetParts(Item item)
|
private List<string> GetParts(Item item)
|
||||||
|
|||||||
@ -20,7 +20,7 @@ public class TMDBParser(Configs configs) : ItemParser
|
|||||||
|
|
||||||
private TMDbClient _client;
|
private TMDbClient _client;
|
||||||
|
|
||||||
private async Task<SearchTv> QueryTMDB(string title)
|
private async Task<SearchTv> QueryTMDB(string title, int year)
|
||||||
{
|
{
|
||||||
if (string.IsNullOrEmpty(title)) return null;
|
if (string.IsNullOrEmpty(title)) return null;
|
||||||
|
|
||||||
@ -29,7 +29,7 @@ public class TMDBParser(Configs configs) : ItemParser
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
var results = (await GetTMDbClient().SearchTvShowAsync(title, language: "zh-CN")).Results;
|
var results = (await GetTMDbClient().SearchTvShowAsync(title, language: "zh-CN", firstAirDateYear:year)).Results;
|
||||||
result = results.FirstOrDefault();
|
result = results.FirstOrDefault();
|
||||||
_cache[title] = result;
|
_cache[title] = result;
|
||||||
return result;
|
return result;
|
||||||
@ -58,34 +58,40 @@ public class TMDBParser(Configs configs) : ItemParser
|
|||||||
|
|
||||||
public async Task Parse(TreeNode node)
|
public async Task Parse(TreeNode node)
|
||||||
{
|
{
|
||||||
// if (!node.TryGetValue(ItemFields.Key_RawTitle, out var rawTitle, out _))
|
if (node.TryGetValue(ItemFields.Key_Title, out _, out _)) return;
|
||||||
// {
|
|
||||||
// if (!DoRawParse(node))
|
if (!node.TryGetValue(ItemFields.Key_RawTitle, out var rawTitle, out _))
|
||||||
// {
|
{
|
||||||
// return false;
|
return;
|
||||||
// }
|
}
|
||||||
// node.TryGetValue(ItemFields.Key_RawTitle, out rawTitle, out _);
|
|
||||||
// }
|
if (string.IsNullOrEmpty(rawTitle))
|
||||||
//
|
{
|
||||||
// if (string.IsNullOrEmpty(rawTitle))
|
return ;
|
||||||
// {
|
}
|
||||||
// return false;
|
|
||||||
// }
|
int year = 0;
|
||||||
//
|
if (node.TryGetValue(ItemFields.Key_Year, out var yearStr, out _))
|
||||||
// var result = await QueryTMDB(rawTitle);
|
{
|
||||||
// if (result == null)
|
if (int.TryParse(yearStr, out var yearValue))
|
||||||
// {
|
{
|
||||||
// GD.PrintErr($"找不到对应的TV:{rawTitle}");
|
year = yearValue;
|
||||||
// return false;
|
}
|
||||||
// }
|
}
|
||||||
//
|
|
||||||
// if (result.FirstAirDate != null)
|
var result = await QueryTMDB(rawTitle, year);
|
||||||
// {
|
if (result == null)
|
||||||
// node.Info.SetYear(result.FirstAirDate.Value.Year);
|
{
|
||||||
// }
|
GD.PrintErr($"找不到对应的TV:{rawTitle}");
|
||||||
//
|
return;
|
||||||
// node.Info.SetTitleIfNotExist(result.Name);
|
}
|
||||||
//
|
|
||||||
// return true;
|
if (result.FirstAirDate != null)
|
||||||
|
{
|
||||||
|
node.Info.Info[ItemFields.Key_Year] = result.FirstAirDate.Value.Year.ToString();
|
||||||
|
}
|
||||||
|
|
||||||
|
node.Info.Info[ItemFields.Key_Title] = result.Name;
|
||||||
|
node.Info.Info[ItemFields.Key_TMDBID] = result.Id.ToString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user