Skip to content

Commit 63edf39

Browse files
committed
***
1 parent b1e4561 commit 63edf39

30 files changed

+582
-253
lines changed

SmartImage.Benchmark/Benchmark1.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
using SmartImage.Lib;
88

99
namespace SmartImage.Benchmark;
10-
10+
#pragma warning disable CS8618
1111
public class Benchmark1
1212
{
1313

SmartImage.Lib 3/Clients/HydrusClient.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
using System.Text.Json;
1313
using System.Text.Json.Nodes;
1414
using System.Text.Json.Serialization;
15+
using System.Text.Json.Serialization.Metadata;
1516
using System.Threading.Tasks;
1617
using Flurl.Http;
1718
using Novus.Streams;
@@ -164,6 +165,7 @@ public string EndpointUrl
164165

165166
public void Dispose()
166167
{
168+
GC.SuppressFinalize(this);
167169
Client.Dispose();
168170
}
169171

@@ -182,6 +184,7 @@ protected bool SetField<T>(ref T field, T value, [CallerMemberName] string prope
182184
return true;
183185
}
184186
}
187+
#pragma warning disable IL2026
185188

186189
public partial class FileRelationship
187190
{
@@ -212,7 +215,7 @@ public partial class FileRelationship
212215
public static Dictionary<string, FileRelationship> Deserialize(JsonValue v)
213216
{
214217
var vs = ((JsonObject)v)["file_relationships"];
215-
218+
216219
var re = JsonSerializer.Deserialize<Dictionary<string, FileRelationship>>(vs.ToString());
217220

218221
return re;

SmartImage.Lib 3/Engines/BaseSearchEngine.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ public abstract class BaseSearchEngine : IDisposable
3939

4040
protected long MaxSize { get; set; } = NA_SIZE;
4141

42-
protected virtual string[] ErrorBodyMessages { get; } = Array.Empty<string>();
42+
protected virtual string[] ErrorBodyMessages { get; } = [];
4343

4444
protected BaseSearchEngine(string baseUrl)
4545
{

SmartImage.Lib 3/Engines/Impl/Search/Ascii2DEngine.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -130,11 +130,11 @@ private async Task<IFlurlResponse> GetResponseByUrlAsync(Url origin, Cancellatio
130130
}
131131

132132
protected override string[] ErrorBodyMessages
133-
=> new[]
134-
{
133+
=>
134+
[
135135
"検索できるのは 縦 10000px での画像です。",
136136
"ごく最近、このURLからのダウンロードに失敗しています。少し時間を置いてください。"
137-
};
137+
];
138138

139139
protected override ValueTask<SearchResultItem> ParseResultItem(INode nx, SearchResult r)
140140
{

SmartImage.Lib 3/Engines/Impl/Search/EHentaiEngine.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -419,7 +419,7 @@ public static EhResult Parse(INode n)
419419
eh.Tags[tag].Add(val);
420420
}
421421
else {
422-
eh.Tags.TryAdd(tag, new() { val });
422+
eh.Tags.TryAdd(tag, [val]);
423423

424424
}
425425
}

SmartImage.Lib 3/Engines/Impl/Search/IqdbEngine.cs

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ private async Task<IDocument> GetDocumentAsync(SearchQuery query, CancellationTo
167167
}
168168
}
169169

170-
protected override string[] ErrorBodyMessages => new[] { "Can't read query result!", "too large" };
170+
protected override string[] ErrorBodyMessages => ["Can't read query result!", "too large"];
171171

172172
public override async Task<SearchResult> GetResultAsync(SearchQuery query, CancellationToken token = default)
173173
{
@@ -198,7 +198,7 @@ public override async Task<SearchResult> GetResultAsync(SearchQuery query, Cance
198198

199199
var err = doc.Body.GetElementsByClassName("err");
200200

201-
if (err.Any()) {
201+
if (err.Length!=0) {
202202
var fe = err[0];
203203
sr.Status = SearchResultStatus.Failure;
204204
sr.ErrorMessage = $"{fe.TextContent}";
@@ -249,7 +249,11 @@ public override async Task<SearchResult> GetResultAsync(SearchQuery query, Cance
249249

250250
#region
251251

252-
public override void Dispose() { }
252+
public override void Dispose()
253+
{
254+
// base.Dispose();
255+
GC.SuppressFinalize(this);
256+
}
253257

254258
#endregion
255259

SmartImage.Lib 3/Engines/Impl/Search/SauceNaoEngine.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,9 @@ internal static class Constants
4141
public const string Material = "Material:";
4242
public const string Source = "Source:";
4343

44-
public static readonly string[] Syn_Artists = { "Creator(s):", "Creator:", "Member:", "Artist:", "Author:" };
44+
public static readonly string[] Syn_Artists = ["Creator(s):", "Creator:", "Member:", "Artist:", "Author:"];
4545

46-
public static readonly string[] Syn_Characters = { "Characters:" };
46+
public static readonly string[] Syn_Characters = ["Characters:"];
4747
}
4848

4949
private const string BASE_URL = "https://saucenao.com/";
@@ -108,7 +108,7 @@ public override async Task<SearchResult> GetResultAsync(SearchQuery query, Cance
108108
// .OrderByDescending(e => e.Similarity)
109109
.ToList();
110110

111-
if (!imageResults.Any()) {
111+
if (imageResults.Count == 0) {
112112
// No good results
113113
//return sresult;
114114
result.Status = SearchResultStatus.NoResults;
@@ -504,9 +504,9 @@ public SearchResultItem Convert(SearchResult r)
504504

505505
string[] urls = (Urls != null)
506506
? Urls.Distinct().Where(s => !string.IsNullOrWhiteSpace(s)).ToArray()
507-
: Array.Empty<string>();
507+
: [];
508508

509-
string[] meta = Array.Empty<string>();
509+
string[] meta = [];
510510

511511
if ((urls.Length >= 2)) {
512512
meta = urls[1..].Where(u => !((Url) u).QueryParams.Contains("lookup_type")).ToArray();

SmartImage.Lib 3/Engines/Impl/Search/YandexEngine.cs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ private static string GetAnalysis(IDocument doc)
4242

4343
nodes.AddRange(nodes2);
4444

45-
if (!nodes.Any()) {
45+
if (nodes.Count==0) {
4646
return null;
4747
}
4848

@@ -199,7 +199,7 @@ public override async Task<SearchResult> GetResultAsync(SearchQuery query, Cance
199199
/// <summary>
200200
/// Parses <em>Similar images</em>
201201
/// </summary>
202-
private IEnumerable<SearchResultItem> ParseSimilarImages(IDocument doc, SearchResult r)
202+
private List<SearchResultItem> ParseSimilarImages(IParentNode doc, SearchResult r)
203203
{
204204
var nodes = doc.QuerySelectorAll(Serialization.S_Yandex_SimilarImages);
205205
var results = new List<SearchResultItem>(nodes.Length);
@@ -225,15 +225,15 @@ private IEnumerable<SearchResultItem> ParseSimilarImages(IDocument doc, SearchRe
225225
/// <summary>
226226
/// Parses <em>Sites containing information about the image</em>
227227
/// </summary>
228-
private static IEnumerable<SearchResultItem> ParseExternalInfo(IDocument doc, SearchResult r)
228+
private static List<SearchResultItem> ParseExternalInfo(IDocument doc, SearchResult r)
229229
{
230230
var items = doc.Body.SelectNodes(Serialization.S_Yandex_ExtInfo);
231231
var rg = new List<SearchResultItem>(items.Count);
232232

233233
foreach (INode item in items) {
234234
if (item is IHtmlElement elem) {
235235
var title1 = elem.QuerySelector(".CbirSites-ItemTitle");
236-
var href1 = title1.Children[0].Attributes["href"];
236+
// var href1 = title1.Children[0].Attributes["href"];
237237
}
238238
// var thumb = item.ChildNodes[0];
239239
var info = item.ChildNodes[1];
@@ -263,18 +263,18 @@ private static IEnumerable<SearchResultItem> ParseExternalInfo(IDocument doc, Se
263263
public override void Dispose() { }
264264

265265
protected override string[] ErrorBodyMessages
266-
=> new[]
267-
{
266+
=>
267+
[
268268
"Please confirm that you and not a robot are sending requests",
269-
"Изображение не загрузилось, попробуйте загрузить другое.",
269+
"Изображение не загрузилось, попробуйте загрузить другое."
270270
// "No matching images found"
271-
};
271+
];
272272

273273
protected override async ValueTask<INode[]> GetNodes(IDocument doc)
274274
{
275275
var tagsItem = doc.Body.SelectNodes(NodesSelector);
276276

277-
if (!tagsItem.Any()) {
277+
if (tagsItem.Count==0) {
278278
// return await Task.FromResult(Enumerable.Empty<INode>());
279279
return await Task.FromResult(tagsItem.ToArray()).ConfigureAwait(false);
280280
// return tagsItem;

SmartImage.Lib 3/Engines/Impl/Upload/BaseUploadEngine.cs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ protected virtual async Task<UploadResult> ProcessResultAsync(IFlurlResponse res
114114

115115
}
116116

117-
ret:
117+
ret:
118118

119119
return new()
120120
{
@@ -147,7 +147,9 @@ protected void Verify(string file)
147147
}*/
148148
public static BaseUploadEngine Default { get; set; } = PomfEngine.Instance;
149149

150-
public void Dispose() { }
151-
152-
}
150+
public void Dispose()
151+
{
152+
GC.SuppressFinalize(this);
153+
}
153154

155+
}

SmartImage.Lib 3/Model/BaseImageHost.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,10 @@ public class GenericImageHost : BaseImageHost
2121
public static readonly BaseImageHost Instance = new GenericImageHost();
2222

2323
public override string[] Illegal
24-
=> new[]
25-
{
24+
=>
25+
[
2626
"thumbnail", "avatar", "error", "logo"
27-
};
27+
];
2828

2929
public override bool Refine(string b)
3030
{

0 commit comments

Comments
 (0)