mirror of
https://github.com/91270/MeiamSubtitles.git
synced 2026-05-12 11:07:12 +08:00
refactor: 优化 Emby 插件日志分级与语言映射逻辑
- 补充提交:提交之前遗漏的 Emby 插件核心逻辑优化。 - 优化:细化日志级别,将 API 响应体记录降级为 Debug。 - 重构:使用 NormalizeLanguage 统一处理语言代码转换。
This commit is contained in:
@@ -84,15 +84,9 @@ namespace Emby.MeiamSub.Shooter
|
||||
|
||||
try
|
||||
{
|
||||
if (request.Language == "zh-CN" || request.Language == "zh-TW" || request.Language == "zh-HK")
|
||||
{
|
||||
request.Language = "chi";
|
||||
}
|
||||
if (request.Language == "en")
|
||||
{
|
||||
request.Language = "eng";
|
||||
}
|
||||
if (request.Language != "chi" && request.Language != "eng")
|
||||
var language = NormalizeLanguage(request.Language);
|
||||
|
||||
if (language != "chi" && language != "eng")
|
||||
{
|
||||
return Array.Empty<RemoteSubtitleInfo>();
|
||||
}
|
||||
@@ -116,14 +110,14 @@ namespace Emby.MeiamSub.Shooter
|
||||
{ "filehash", HttpUtility.UrlEncode(hash)},
|
||||
{ "pathinfo", HttpUtility.UrlEncode(request.MediaPath)},
|
||||
{ "format", "json"},
|
||||
{ "lang",request.Language == "chi" ? "chn" : "eng"}
|
||||
{ "lang", language == "chi" ? "chn" : "eng"}
|
||||
});
|
||||
|
||||
_logger.Info("{0} Search | Request -> {1}", new object[2] { Name, _jsonSerializer.SerializeToString(options) });
|
||||
|
||||
var response = await _httpClient.Post(options);
|
||||
|
||||
_logger.Info("{0} Search | Response -> {1}", new object[2] { Name, _jsonSerializer.SerializeToString(response) });
|
||||
_logger.Debug("{0} Search | Response -> {1}", new object[2] { Name, _jsonSerializer.SerializeToString(response) });
|
||||
|
||||
if (response.StatusCode == HttpStatusCode.OK && response.ContentType.Contains("application/json"))
|
||||
{
|
||||
@@ -131,7 +125,7 @@ namespace Emby.MeiamSub.Shooter
|
||||
|
||||
if (subtitleResponse != null)
|
||||
{
|
||||
_logger.Info("{0} Search | Response -> {1}", new object[2] { Name, _jsonSerializer.SerializeToString(subtitleResponse) });
|
||||
_logger.Debug("{0} Search | Response -> {1}", new object[2] { Name, _jsonSerializer.SerializeToString(subtitleResponse) });
|
||||
|
||||
var remoteSubtitles = new List<RemoteSubtitleInfo>();
|
||||
|
||||
@@ -145,10 +139,10 @@ namespace Emby.MeiamSub.Shooter
|
||||
{
|
||||
Url = subFile.Link,
|
||||
Format = subFile.Ext,
|
||||
Language = request.Language,
|
||||
Language = language,
|
||||
IsForced = request.IsForced
|
||||
})),
|
||||
Name = $"[MEIAMSUB] {Path.GetFileName(request.MediaPath)} | {request.Language} | 射手",
|
||||
Name = $"[MEIAMSUB] {Path.GetFileName(request.MediaPath)} | {language} | 射手",
|
||||
Author = "Meiam ",
|
||||
ProviderName = $"{Name}",
|
||||
Format = subFile.Ext,
|
||||
@@ -290,6 +284,28 @@ namespace Emby.MeiamSub.Shooter
|
||||
return null;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 规范化语言代码
|
||||
/// </summary>
|
||||
/// <param name="language"></param>
|
||||
/// <returns></returns>
|
||||
private static string NormalizeLanguage(string language)
|
||||
{
|
||||
if (string.IsNullOrEmpty(language)) return language;
|
||||
|
||||
if (language.Equals("zh-CN", StringComparison.OrdinalIgnoreCase) ||
|
||||
language.Equals("zh-TW", StringComparison.OrdinalIgnoreCase) ||
|
||||
language.Equals("zh-HK", StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
return "chi";
|
||||
}
|
||||
if (language.Equals("en", StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
return "eng";
|
||||
}
|
||||
return language;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 异步计算文件 Hash (射手网专用算法)
|
||||
/// <para>修改人: Meiam</para>
|
||||
|
||||
@@ -86,11 +86,9 @@ namespace Emby.MeiamSub.Thunder
|
||||
|
||||
try
|
||||
{
|
||||
if (request.Language == "zh-CN" || request.Language == "zh-TW" || request.Language == "zh-HK")
|
||||
{
|
||||
request.Language = "chi";
|
||||
}
|
||||
if (request.Language != "chi")
|
||||
var language = NormalizeLanguage(request.Language);
|
||||
|
||||
if (language != "chi")
|
||||
{
|
||||
return Array.Empty<RemoteSubtitleInfo>();
|
||||
}
|
||||
@@ -109,7 +107,7 @@ namespace Emby.MeiamSub.Thunder
|
||||
};
|
||||
var response = await _httpClient.GetResponse(options);
|
||||
|
||||
_logger.Info("{0} Search | Response -> {1}", new object[2] { Name, _jsonSerializer.SerializeToString(response) });
|
||||
_logger.Debug("{0} Search | Response -> {1}", new object[2] { Name, _jsonSerializer.SerializeToString(response) });
|
||||
|
||||
if (response.StatusCode == HttpStatusCode.OK)
|
||||
{
|
||||
@@ -117,7 +115,7 @@ namespace Emby.MeiamSub.Thunder
|
||||
|
||||
if (subtitleResponse.Code == 0)
|
||||
{
|
||||
_logger.Info("{0} Search | Response -> {1}", new object[2] { Name, _jsonSerializer.SerializeToString(subtitleResponse) });
|
||||
_logger.Debug("{0} Search | Response -> {1}", new object[2] { Name, _jsonSerializer.SerializeToString(subtitleResponse) });
|
||||
|
||||
var subtitles = subtitleResponse.Data.Where(m => !string.IsNullOrEmpty(m.Name));
|
||||
|
||||
@@ -133,7 +131,7 @@ namespace Emby.MeiamSub.Thunder
|
||||
{
|
||||
Url = item.Url,
|
||||
Format = item.Ext,
|
||||
Language = request.Language,
|
||||
Language = language,
|
||||
IsForced = request.IsForced
|
||||
})),
|
||||
Name = $"[MEIAMSUB] {item.Name} | {(item.Langs == string.Empty ? "未知" : item.Langs)} | 迅雷",
|
||||
@@ -277,6 +275,29 @@ namespace Emby.MeiamSub.Thunder
|
||||
return null;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 规范化语言代码
|
||||
/// </summary>
|
||||
/// <param name="language"></param>
|
||||
/// <returns></returns>
|
||||
private static string NormalizeLanguage(string language)
|
||||
{
|
||||
if (string.IsNullOrEmpty(language)) return language;
|
||||
|
||||
if (language.Equals("zh-CN", StringComparison.OrdinalIgnoreCase) ||
|
||||
language.Equals("zh-TW", StringComparison.OrdinalIgnoreCase) ||
|
||||
language.Equals("zh-HK", StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
return "chi";
|
||||
}
|
||||
// 迅雷可能只支持 chi,这里为了保持逻辑一致,也可以处理 eng,虽然 SearchSubtitlesAsync 会过滤掉
|
||||
if (language.Equals("en", StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
return "eng";
|
||||
}
|
||||
return language;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 异步计算文件 CID (迅雷专用算法)
|
||||
/// <para>修改人: Meiam</para>
|
||||
|
||||
Reference in New Issue
Block a user