From 74e576de936c4a4d12e574240dd95db8ba97093a Mon Sep 17 00:00:00 2001
From: Meiam <91270@qq.com>
Date: Sun, 10 Apr 2022 14:21:09 +0800
Subject: [PATCH] =?UTF-8?q?=E7=A8=8B=E5=BA=8F=E9=80=BB=E8=BE=91=E4=BC=98?=
=?UTF-8?q?=E5=8C=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
Emby.MeiamSub.Shooter/ShooterProvider.cs | 33 +++++----
.../Model/SubtitleResponseRoot.cs | 4 -
Emby.MeiamSub.Thunder/ThunderProvider.cs | 34 +++++----
Jellyfin.MeiamSub.Shooter/ShooterProvider.cs | 74 ++++++++++---------
.../Model/DownloadSubInfo.cs | 1 -
.../Model/SubtitleResponseRoot.cs | 4 -
Jellyfin.MeiamSub.Thunder/ThunderProvider.cs | 46 ++++++------
7 files changed, 101 insertions(+), 95 deletions(-)
diff --git a/Emby.MeiamSub.Shooter/ShooterProvider.cs b/Emby.MeiamSub.Shooter/ShooterProvider.cs
index 3e9bdff..1dc4581 100644
--- a/Emby.MeiamSub.Shooter/ShooterProvider.cs
+++ b/Emby.MeiamSub.Shooter/ShooterProvider.cs
@@ -47,6 +47,7 @@ namespace Emby.MeiamSub.Shooter
_logger = logger;
_jsonSerializer = jsonSerializer;
_httpClient = httpClient;
+ _logger.Info($"{Name} Init");
}
#endregion
@@ -60,7 +61,7 @@ namespace Emby.MeiamSub.Shooter
///
public async Task> Search(SubtitleSearchRequest request, CancellationToken cancellationToken)
{
- _logger.Debug($"MeiamSub.Shooter Search | Request -> { _jsonSerializer.SerializeToString(request) }");
+ _logger.Info($"{Name} Search | SubtitleSearchRequest -> { _jsonSerializer.SerializeToString(request) }");
var subtitles = await SearchSubtitlesAsync(request);
@@ -86,7 +87,7 @@ namespace Emby.MeiamSub.Shooter
HttpRequestOptions options = new HttpRequestOptions
{
Url = $"http://www.shooter.cn/api/subapi.php",
- UserAgent = "Emby.MeiamSub.Shooter",
+ UserAgent = $"{Name}",
TimeoutMs = 30000,
AcceptHeader = "*/*",
};
@@ -99,11 +100,11 @@ namespace Emby.MeiamSub.Shooter
{ "lang",request.Language == "chi" ? "chn" : "eng"}
});
- _logger.Debug($"MeiamSub.Shooter Search | Request -> { _jsonSerializer.SerializeToString(options) }");
+ _logger.Info($"{Name} Search | Request -> { _jsonSerializer.SerializeToString(options) }");
var response = await _httpClient.Post(options);
- _logger.Debug($"MeiamSub.Shooter Search | Response -> { _jsonSerializer.SerializeToString(response) }");
+ _logger.Info($"{Name} Search | Response -> { _jsonSerializer.SerializeToString(response) }");
if (response.StatusCode == HttpStatusCode.OK && response.ContentType.Contains("application/json"))
{
@@ -111,7 +112,7 @@ namespace Emby.MeiamSub.Shooter
if (subtitleResponse != null)
{
- _logger.Debug($"MeiamSub.Shooter Search | Response -> { _jsonSerializer.SerializeToString(subtitleResponse) }");
+ _logger.Info($"{Name} Search | Response -> { _jsonSerializer.SerializeToString(subtitleResponse) }");
var remoteSubtitleInfos = new List();
@@ -131,20 +132,20 @@ namespace Emby.MeiamSub.Shooter
})),
Name = $"[MEIAMSUB] { Path.GetFileName(request.MediaPath) } | {request.TwoLetterISOLanguageName} | 射手",
Author = "Meiam ",
- ProviderName = "MeiamSub.Shooter",
+ ProviderName = $"{Name}",
Format = subFile.Ext,
Comment = $"Format : { ExtractFormat(subFile.Ext)}"
});
}
}
- _logger.Debug($"MeiamSub.Shooter Search | Summary -> Get { remoteSubtitleInfos.Count } Subtitles");
+ _logger.Info($"{Name} Search | Summary -> Get { remoteSubtitleInfos.Count } Subtitles");
return remoteSubtitleInfos;
}
}
- _logger.Debug($"MeiamSub.Shooter Search | Summary -> Get 0 Subtitles");
+ _logger.Info($"{Name} Search | Summary -> Get 0 Subtitles");
return Array.Empty();
}
@@ -159,10 +160,7 @@ namespace Emby.MeiamSub.Shooter
///
public async Task GetSubtitles(string id, CancellationToken cancellationToken)
{
- await Task.Run(() =>
- {
- _logger.Debug($"MeiamSub.Shooter DownloadSub | Request -> {id}");
- });
+ _logger.Info($"{Name} DownloadSub | Request -> {id}");
return await DownloadSubAsync(id);
}
@@ -176,20 +174,25 @@ namespace Emby.MeiamSub.Shooter
{
var downloadSub = _jsonSerializer.DeserializeFromString(Base64Decode(info));
+ if (downloadSub == null)
+ {
+ return new SubtitleResponse();
+ }
+
downloadSub.Url = downloadSub.Url.Replace("https://www.shooter.cn", "http://www.shooter.cn");
- _logger.Debug($"MeiamSub.Shooter DownloadSub | Url -> { downloadSub.Url } | Format -> { downloadSub.Format } | Language -> { downloadSub.Language } ");
+ _logger.Info($"{Name} DownloadSub | Url -> { downloadSub.Url } | Format -> { downloadSub.Format } | Language -> { downloadSub.Language } ");
var response = await _httpClient.GetResponse(new HttpRequestOptions
{
Url = downloadSub.Url,
- UserAgent = "Emby.MeiamSub.Shooter",
+ UserAgent = $"{Name}",
TimeoutMs = 30000,
AcceptHeader = "*/*",
});
- _logger.Debug($"MeiamSub.Shooter DownloadSub | Response -> { response.StatusCode }");
+ _logger.Info($"{Name} DownloadSub | Response -> { response.StatusCode }");
if (response.StatusCode == HttpStatusCode.OK)
{
diff --git a/Emby.MeiamSub.Thunder/Model/SubtitleResponseRoot.cs b/Emby.MeiamSub.Thunder/Model/SubtitleResponseRoot.cs
index e22059a..49b7bf5 100644
--- a/Emby.MeiamSub.Thunder/Model/SubtitleResponseRoot.cs
+++ b/Emby.MeiamSub.Thunder/Model/SubtitleResponseRoot.cs
@@ -28,10 +28,6 @@ namespace Emby.MeiamSub.Thunder.Model
///
///
public int svote { get; set; }
- ///
- ///
- ///
- public int roffset { get; set; }
}
public class SubtitleResponseRoot
diff --git a/Emby.MeiamSub.Thunder/ThunderProvider.cs b/Emby.MeiamSub.Thunder/ThunderProvider.cs
index a4faec4..86dc22d 100644
--- a/Emby.MeiamSub.Thunder/ThunderProvider.cs
+++ b/Emby.MeiamSub.Thunder/ThunderProvider.cs
@@ -47,6 +47,7 @@ namespace Emby.MeiamSub.Thunder
_logger = logger;
_jsonSerializer = jsonSerializer;
_httpClient = httpClient;
+ _logger.Info($"{Name} Init");
}
#endregion
@@ -60,7 +61,7 @@ namespace Emby.MeiamSub.Thunder
///
public async Task> Search(SubtitleSearchRequest request, CancellationToken cancellationToken)
{
- _logger.Debug($"MeiamSub.Thunder Search | Request -> { _jsonSerializer.SerializeToString(request) }");
+ _logger.Info($"{Name} Search | SubtitleSearchRequest -> { _jsonSerializer.SerializeToString(request) }");
var subtitles = await SearchSubtitlesAsync(request);
@@ -83,13 +84,14 @@ namespace Emby.MeiamSub.Thunder
var response = await _httpClient.GetResponse(new HttpRequestOptions
{
- Url = $"http://sub.xmp.sandai.net:8000/subxl/{cid}.json",
- UserAgent = "Emby.MeiamSub.Thunder",
+ //Url = $"http://sub.xmp.sandai.net:8000/subxl/{cid}.json",
+ Url = $"http://subtitle.kankan.xunlei.com:8000/subxl/{cid}.json",
+ UserAgent = $"{Name}",
TimeoutMs = 30000,
AcceptHeader = "*/*",
});
- _logger.Debug($"MeiamSub.Thunder Search | Response -> { _jsonSerializer.SerializeToString(response) }");
+ _logger.Info($"{Name} Search | Response -> { _jsonSerializer.SerializeToString(response) }");
if (response.StatusCode == HttpStatusCode.OK)
{
@@ -97,13 +99,13 @@ namespace Emby.MeiamSub.Thunder
if (subtitleResponse != null)
{
- _logger.Debug($"MeiamSub.Thunder Search | Response -> { _jsonSerializer.SerializeToString(subtitleResponse) }");
+ _logger.Info($"{Name} Search | Response -> { _jsonSerializer.SerializeToString(subtitleResponse) }");
var subtitles = subtitleResponse.sublist.Where(m => !string.IsNullOrEmpty(m.sname));
if (subtitles.Count() > 0)
{
- _logger.Debug($"MeiamSub.Thunder Search | Summary -> Get { subtitles.Count() } Subtitles");
+ _logger.Info($"{Name} Search | Summary -> Get { subtitles.Count() } Subtitles");
return subtitles.Select(m => new RemoteSubtitleInfo()
{
@@ -118,7 +120,7 @@ namespace Emby.MeiamSub.Thunder
Name = $"[MEIAMSUB] { Path.GetFileName(request.MediaPath) } | {request.TwoLetterISOLanguageName} | 迅雷",
Author = "Meiam ",
CommunityRating = Convert.ToSingle(m.rate),
- ProviderName = "MeiamSub.Thunder",
+ ProviderName = $"{Name}",
Format = ExtractFormat(m.sname),
Comment = $"Format : { ExtractFormat(m.sname)} - Rate : { m.rate }"
}).OrderByDescending(m => m.CommunityRating);
@@ -126,7 +128,7 @@ namespace Emby.MeiamSub.Thunder
}
}
- _logger.Debug($"MeiamSub.Thunder Search | Summary -> Get 0 Subtitles");
+ _logger.Info($"{Name} Search | Summary -> Get 0 Subtitles");
return Array.Empty();
}
@@ -141,10 +143,7 @@ namespace Emby.MeiamSub.Thunder
///
public async Task GetSubtitles(string id, CancellationToken cancellationToken)
{
- await Task.Run(() =>
- {
- _logger.Debug($"MeiamSub.Thunder DownloadSub | Request -> {id}");
- });
+ _logger.Info($"{Name} DownloadSub | Request -> {id}");
return await DownloadSubAsync(id);
}
@@ -158,17 +157,22 @@ namespace Emby.MeiamSub.Thunder
{
var downloadSub = _jsonSerializer.DeserializeFromString(Base64Decode(info));
- _logger.Debug($"MeiamSub.Thunder DownloadSub | Url -> { downloadSub.Url } | Format -> { downloadSub.Format } | Language -> { downloadSub.Language } ");
+ if (downloadSub == null)
+ {
+ return new SubtitleResponse();
+ }
+
+ _logger.Info($"{Name} DownloadSub | Url -> { downloadSub.Url } | Format -> { downloadSub.Format } | Language -> { downloadSub.Language } ");
var response = await _httpClient.GetResponse(new HttpRequestOptions
{
Url = downloadSub.Url,
- UserAgent = "Emby.MeiamSub.Thunder",
+ UserAgent = $"{Name}",
TimeoutMs = 30000,
AcceptHeader = "*/*",
});
- _logger.Debug($"MeiamSub.Thunder DownloadSub | Response -> { response.StatusCode }");
+ _logger.Info($"{Name} DownloadSub | Response -> { response.StatusCode }");
if (response.StatusCode == HttpStatusCode.OK)
{
diff --git a/Jellyfin.MeiamSub.Shooter/ShooterProvider.cs b/Jellyfin.MeiamSub.Shooter/ShooterProvider.cs
index d469d5c..393de59 100644
--- a/Jellyfin.MeiamSub.Shooter/ShooterProvider.cs
+++ b/Jellyfin.MeiamSub.Shooter/ShooterProvider.cs
@@ -15,6 +15,7 @@ using System.Text;
using System.Text.Json;
using System.Threading;
using System.Threading.Tasks;
+using System.Web;
namespace Jellyfin.MeiamSub.Shooter
{
@@ -45,7 +46,7 @@ namespace Jellyfin.MeiamSub.Shooter
{
_logger = logger;
_httpClient.Timeout = TimeSpan.FromSeconds(30);
- _logger.LogDebug("MeiamSub.Shooter Init");
+ _logger.LogInformation($"{Name} Init");
}
#endregion
@@ -59,7 +60,7 @@ namespace Jellyfin.MeiamSub.Shooter
///
public async Task> Search(SubtitleSearchRequest request, CancellationToken cancellationToken)
{
- _logger.LogDebug($"MeiamSub.Shooter Search | Request -> { JsonSerializer.Serialize(request) }");
+ _logger.LogInformation($"{Name} Search | SubtitleSearchRequest -> { JsonSerializer.Serialize(request) }");
var subtitles = await SearchSubtitlesAsync(request);
@@ -78,45 +79,45 @@ namespace Jellyfin.MeiamSub.Shooter
return Array.Empty();
}
- FileInfo fileInfo = new FileInfo(request.MediaPath);
+ FileInfo fileInfo = new(request.MediaPath);
var hash = ComputeFileHash(fileInfo);
- HttpContent content = new FormUrlEncodedContent(new[]
+ var content = new StringContent(JsonSerializer.Serialize(new
{
- new KeyValuePair("filehash", hash),
- new KeyValuePair("pathinfo", request.MediaPath),
- new KeyValuePair("format", "json"),
- new KeyValuePair("lang", request.Language == "chi" ? "chn" : "eng"),
- });
+ filehash = HttpUtility.UrlEncode(hash),
+ pathinfo = HttpUtility.UrlEncode(request.MediaPath),
+ format = "json",
+ lang = request.Language == "chi" ? "chn" : "eng"
+ }), Encoding.UTF8, "application/json");
- using var options = new HttpRequestMessage
+
+ var options = new HttpRequestMessage
{
Method = HttpMethod.Post,
- RequestUri = new Uri("http://www.shooter.cn/api/subapi.php"),
+ RequestUri = new Uri($"http://www.shooter.cn/api/subapi.php"),
Content = content,
Headers =
- {
- UserAgent = { new ProductInfoHeaderValue(new ProductHeaderValue("Jellyfin.MeiamSub.Shooter")) },
- Accept = { new MediaTypeWithQualityHeaderValue("*/*") }
- }
+ {
+ UserAgent = { new ProductInfoHeaderValue(new ProductHeaderValue($"{Name}")) },
+ Accept = { new MediaTypeWithQualityHeaderValue("*/*") }
+ }
};
- _logger.LogDebug($"MeiamSub.Shooter Search | Request -> { JsonSerializer.Serialize(options) }");
+ _logger.LogInformation($"{Name} Search | Request -> { JsonSerializer.Serialize(options) }");
- var response = await _httpClient.SendAsync(options).ConfigureAwait(false);
+ var response = await _httpClient.SendAsync(options);
-
- _logger.LogDebug($"MeiamSub.Shooter Search | Response -> { JsonSerializer.Serialize(response) }");
+ _logger.LogInformation($"{Name} Search | Response -> { JsonSerializer.Serialize(response) }");
if (response.StatusCode == HttpStatusCode.OK && response.Headers.Any(m => m.Value.Contains("application/json")))
{
- var subtitleResponse = JsonSerializer.Deserialize>(await response.Content.ReadAsStringAsync().ConfigureAwait(false));
+ var subtitleResponse = JsonSerializer.Deserialize>(await response.Content.ReadAsStringAsync());
if (subtitleResponse != null)
{
- _logger.LogDebug($"MeiamSub.Shooter Search | Response -> { JsonSerializer.Serialize(subtitleResponse) }");
+ _logger.LogInformation($"{Name} Search | Response -> { JsonSerializer.Serialize(subtitleResponse) }");
var remoteSubtitleInfos = new List();
@@ -131,24 +132,25 @@ namespace Jellyfin.MeiamSub.Shooter
Url = subFile.Link,
Format = subFile.Ext,
Language = request.Language,
- TwoLetterISOLanguageName = request.TwoLetterISOLanguageName
+ TwoLetterISOLanguageName = request.TwoLetterISOLanguageName,
})),
Name = $"[MEIAMSUB] { Path.GetFileName(request.MediaPath) } | {request.TwoLetterISOLanguageName} | 射手",
Author = "Meiam ",
- ProviderName = "MeiamSub.Shooter",
+ ProviderName = $"{Name}",
Format = subFile.Ext,
Comment = $"Format : { ExtractFormat(subFile.Ext)}"
});
}
}
- _logger.LogDebug($"MeiamSub.Shooter Search | Summary -> Get { remoteSubtitleInfos.Count } Subtitles");
+ _logger.LogInformation($"{Name} Search | Summary -> Get { remoteSubtitleInfos.Count } Subtitles");
return remoteSubtitleInfos;
}
}
- _logger.LogDebug($"MeiamSub.Shooter Search | Summary -> Get 0 Subtitles");
+ _logger.LogInformation($"{Name} Search | Summary -> Get 0 Subtitles");
+
return Array.Empty();
}
@@ -163,10 +165,7 @@ namespace Jellyfin.MeiamSub.Shooter
///
public async Task GetSubtitles(string id, CancellationToken cancellationToken)
{
- await Task.Run(() =>
- {
- _logger.LogDebug($"MeiamSub.Shooter DownloadSub | Request -> {id}");
- });
+ _logger.LogInformation($"{Name} DownloadSub | Request -> {id}");
return await DownloadSubAsync(id);
}
@@ -180,10 +179,14 @@ namespace Jellyfin.MeiamSub.Shooter
{
var downloadSub = JsonSerializer.Deserialize(Base64Decode(info));
+ if (downloadSub == null)
+ {
+ return new SubtitleResponse();
+ }
+
downloadSub.Url = downloadSub.Url.Replace("https://www.shooter.cn", "http://www.shooter.cn");
- _logger.LogDebug($"MeiamSub.Shooter DownloadSub | Url -> { downloadSub.Url } | Format -> { downloadSub.Format } | Language -> { downloadSub.Language } ");
-
+ _logger.LogInformation($"{Name} DownloadSub | Url -> { downloadSub.Url } | Format -> { downloadSub.Format } | Language -> { downloadSub.Language } ");
using var options = new HttpRequestMessage
{
@@ -191,24 +194,25 @@ namespace Jellyfin.MeiamSub.Shooter
RequestUri = new Uri(downloadSub.Url),
Headers =
{
- UserAgent = { new ProductInfoHeaderValue(new ProductHeaderValue("Emby.MeiamSub.Shooter")) },
+ UserAgent = { new ProductInfoHeaderValue(new ProductHeaderValue($"{Name}")) },
Accept = { new MediaTypeWithQualityHeaderValue("*/*") }
}
};
- var response = await _httpClient.SendAsync(options).ConfigureAwait(false);
+ var response = await _httpClient.SendAsync(options);
- _logger.LogDebug($"MeiamSub.Shooter DownloadSub | Response -> { response.StatusCode }");
+ _logger.LogInformation($"{Name} DownloadSub | Response -> { response.StatusCode }");
if (response.StatusCode == HttpStatusCode.OK)
{
+ var stream = await response.Content.ReadAsStreamAsync();
return new SubtitleResponse()
{
Language = downloadSub.Language,
IsForced = false,
Format = downloadSub.Format,
- Stream = await response.Content.ReadAsStreamAsync().ConfigureAwait(false),
+ Stream = stream,
};
}
diff --git a/Jellyfin.MeiamSub.Thunder/Model/DownloadSubInfo.cs b/Jellyfin.MeiamSub.Thunder/Model/DownloadSubInfo.cs
index 86b3d53..274aff4 100644
--- a/Jellyfin.MeiamSub.Thunder/Model/DownloadSubInfo.cs
+++ b/Jellyfin.MeiamSub.Thunder/Model/DownloadSubInfo.cs
@@ -10,6 +10,5 @@ namespace Jellyfin.MeiamSub.Thunder.Model
public string Format { get; set; }
public string Language { get; set; }
public string TwoLetterISOLanguageName { get; set; }
- public bool? IsForced { get; set; }
}
}
diff --git a/Jellyfin.MeiamSub.Thunder/Model/SubtitleResponseRoot.cs b/Jellyfin.MeiamSub.Thunder/Model/SubtitleResponseRoot.cs
index 4c86b99..0ec6e99 100644
--- a/Jellyfin.MeiamSub.Thunder/Model/SubtitleResponseRoot.cs
+++ b/Jellyfin.MeiamSub.Thunder/Model/SubtitleResponseRoot.cs
@@ -28,10 +28,6 @@ namespace Jellyfin.MeiamSub.Thunder.Model
///
///
public int svote { get; set; }
- ///
- ///
- ///
- public int roffset { get; set; }
}
public class SubtitleResponseRoot
diff --git a/Jellyfin.MeiamSub.Thunder/ThunderProvider.cs b/Jellyfin.MeiamSub.Thunder/ThunderProvider.cs
index d4efa37..011a60c 100644
--- a/Jellyfin.MeiamSub.Thunder/ThunderProvider.cs
+++ b/Jellyfin.MeiamSub.Thunder/ThunderProvider.cs
@@ -45,7 +45,7 @@ namespace Jellyfin.MeiamSub.Thunder
{
_logger = logger;
_httpClient.Timeout = TimeSpan.FromSeconds(30);
- _logger.LogDebug("MeiamSub.Thunder Init");
+ _logger.LogInformation($"{Name} Init");
}
#endregion
@@ -59,7 +59,7 @@ namespace Jellyfin.MeiamSub.Thunder
///
public async Task> Search(SubtitleSearchRequest request, CancellationToken cancellationToken)
{
- _logger.LogDebug($"MeiamSub.Thunder Search | Request -> { JsonSerializer.Serialize(request) }");
+ _logger.LogInformation($"{Name} Search | SubtitleSearchRequest -> { JsonSerializer.Serialize(request) }");
var subtitles = await SearchSubtitlesAsync(request);
@@ -83,31 +83,32 @@ namespace Jellyfin.MeiamSub.Thunder
using var options = new HttpRequestMessage
{
Method = HttpMethod.Get,
- RequestUri = new Uri($"http://sub.xmp.sandai.net:8000/subxl/{cid}.json"),
+ //RequestUri = new Uri($"http://sub.xmp.sandai.net:8000/subxl/{cid}.json"),
+ RequestUri = new Uri($"http://subtitle.kankan.xunlei.com:8000/subxl/{cid}.json"),
Headers =
{
- UserAgent = { new ProductInfoHeaderValue(new ProductHeaderValue("Jellyfin.MeiamSub.Thunder")) },
- Accept = { new MediaTypeWithQualityHeaderValue("*/*") }
+ UserAgent = { new ProductInfoHeaderValue(new ProductHeaderValue($"{Name}")) },
+ Accept = { new MediaTypeWithQualityHeaderValue("*/*") },
}
};
- var response = await _httpClient.SendAsync(options).ConfigureAwait(false);
+ var response = await _httpClient.SendAsync(options);
- _logger.LogDebug($"MeiamSub.Thunder Search | Response -> { JsonSerializer.Serialize(response) }");
+ _logger.LogInformation($"{Name} Search | Response -> { JsonSerializer.Serialize(response) }");
if (response.StatusCode == HttpStatusCode.OK)
{
- var subtitleResponse = JsonSerializer.Deserialize(await response.Content.ReadAsStringAsync().ConfigureAwait(false));
+ var subtitleResponse = JsonSerializer.Deserialize(await response.Content.ReadAsStringAsync());
if (subtitleResponse != null)
{
- _logger.LogDebug($"MeiamSub.Thunder Search | Response -> { JsonSerializer.Serialize(subtitleResponse) }");
+ _logger.LogInformation($"{Name} Search | Response -> { JsonSerializer.Serialize(subtitleResponse) }");
var subtitles = subtitleResponse.sublist.Where(m => !string.IsNullOrEmpty(m.sname));
if (subtitles.Count() > 0)
{
- _logger.LogDebug($"MeiamSub.Thunder Search | Summary -> Get { subtitles.Count() } Subtitles");
+ _logger.LogInformation($"{Name} Search | Summary -> Get { subtitles.Count() } Subtitles");
return subtitles.Select(m => new RemoteSubtitleInfo()
{
@@ -121,7 +122,7 @@ namespace Jellyfin.MeiamSub.Thunder
Name = $"[MEIAMSUB] { Path.GetFileName(request.MediaPath) } | {request.TwoLetterISOLanguageName} | 迅雷",
Author = "Meiam ",
CommunityRating = Convert.ToSingle(m.rate),
- ProviderName = "MeiamSub.Thunder",
+ ProviderName = $"{Name}",
Format = ExtractFormat(m.sname),
Comment = $"Format : { ExtractFormat(m.sname)} - Rate : { m.rate }"
}).OrderByDescending(m => m.CommunityRating);
@@ -129,7 +130,7 @@ namespace Jellyfin.MeiamSub.Thunder
}
}
- _logger.LogDebug($"MeiamSub.Thunder Search | Summary -> Get 0 Subtitles");
+ _logger.LogInformation($"{Name} Search | Summary -> Get 0 Subtitles");
return Array.Empty();
}
@@ -144,10 +145,7 @@ namespace Jellyfin.MeiamSub.Thunder
///
public async Task GetSubtitles(string id, CancellationToken cancellationToken)
{
- await Task.Run(() =>
- {
- _logger.LogDebug($"MeiamSub.Thunder DownloadSub | Request -> {id}");
- });
+ _logger.LogInformation($"{Name} DownloadSub | Request -> {id}");
return await DownloadSubAsync(id);
}
@@ -161,7 +159,12 @@ namespace Jellyfin.MeiamSub.Thunder
{
var downloadSub = JsonSerializer.Deserialize(Base64Decode(info));
- _logger.LogDebug($"MeiamSub.Thunder DownloadSub | Url -> { downloadSub.Url } | Format -> { downloadSub.Format } | Language -> { downloadSub.Language } ");
+ if (downloadSub == null)
+ {
+ return new SubtitleResponse();
+ }
+
+ _logger.LogInformation($"{Name} DownloadSub | Url -> { downloadSub.Url } | Format -> { downloadSub.Format } | Language -> { downloadSub.Language } ");
using var options = new HttpRequestMessage
{
@@ -169,24 +172,25 @@ namespace Jellyfin.MeiamSub.Thunder
RequestUri = new Uri(downloadSub.Url),
Headers =
{
- UserAgent = { new ProductInfoHeaderValue(new ProductHeaderValue("Jellyfin.MeiamSub.Thunder")) },
+ UserAgent = { new ProductInfoHeaderValue(new ProductHeaderValue($"{Name}")) },
Accept = { new MediaTypeWithQualityHeaderValue("*/*") }
}
};
- var response = await _httpClient.SendAsync(options).ConfigureAwait(false);
+ var response = await _httpClient.SendAsync(options);
- _logger.LogDebug($"MeiamSub.Thunder DownloadSub | Response -> { response.StatusCode }");
+ _logger.LogInformation($"{Name} DownloadSub | Response -> { response.StatusCode }");
if (response.StatusCode == HttpStatusCode.OK)
{
+ var stream = await response.Content.ReadAsStreamAsync();
return new SubtitleResponse()
{
Language = downloadSub.Language,
IsForced = false,
Format = downloadSub.Format,
- Stream = await response.Content.ReadAsStreamAsync().ConfigureAwait(false),
+ Stream = stream,
};
}