Skip to content

Commit c22c942

Browse files
committed
Swag on
1 parent 788eb55 commit c22c942

50 files changed

Lines changed: 500 additions & 551 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

SmartImage.Lib/Clients/AnilistClient.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ public AnilistClient()
1818
m_client = new GraphQLClient("https://graphql.anilist.co");
1919
}
2020

21-
public async Task<string> GetTitleAsync(int anilistId)
21+
public async Task<string> GetTitleAsync(long anilistId)
2222
{
2323
/*
2424
* https://anilist.gitbook.io/anilist-apiv2-docs/overview/graphql

SmartImage.Lib/Clients/Booru/BaseGelbooruClient.cs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -69,12 +69,10 @@ public override void Dispose()
6969
public class GelbooruPostsRequest
7070
{
7171

72-
private int m_limit;
73-
7472
public int Limit
7573
{
76-
get => m_limit;
77-
set => m_limit = Math.Clamp(value, 1, BaseGelbooruClient.PostMax);
74+
get;
75+
set => field = Math.Clamp(value, 1, BaseGelbooruClient.PostMax);
7876
}
7977

8078
public int Pid { get; set; }

SmartImage.Lib/Clients/HydrusClient.cs

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -131,33 +131,29 @@ public async Task<IFlurlResponse> GetUrlFilesAsync(string url)
131131
return res;
132132
}
133133

134-
private string m_key;
135-
136134
public string Key
137135
{
138-
get => m_key;
136+
get;
139137
set
140138
{
141-
if (value == m_key)
139+
if (value == field)
142140
return;
143141

144-
m_key = value;
142+
field = value;
145143
OnPropertyChanged();
146144
OnPropertyChanged(nameof(IsValid));
147145
}
148146
}
149147

150-
private string m_endpointUrl;
151-
152148
public string EndpointUrl
153149
{
154-
get => m_endpointUrl;
150+
get;
155151
set
156152
{
157-
if (value == m_endpointUrl)
153+
if (value == field)
158154
return;
159155

160-
m_endpointUrl = value;
156+
field = value;
161157
OnPropertyChanged();
162158
OnPropertyChanged(nameof(IsValid));
163159
}

SmartImage.Lib/Engines/BaseSearchEngine.cs

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ namespace SmartImage.Lib.Engines;
2121
#pragma warning disable CA1822
2222
#nullable disable
2323

24-
public abstract class BaseSearchEngine : ISearchConfigReceiver, IDisposable, IEquatable<BaseSearchEngine>, ISearchEngine
24+
public abstract class BaseSearchEngine : IDisposable, IEquatable<BaseSearchEngine>, ISearchEngine
2525
{
2626

2727
protected static readonly ILogger Logger = AppSupport.Factory.CreateLogger(nameof(BaseSearchEngine));
@@ -40,7 +40,7 @@ public abstract class BaseSearchEngine : ISearchConfigReceiver, IDisposable, IEq
4040
public TimeSpan Timeout { get; protected init; }
4141

4242
[JI]
43-
public long? MaxSize { get; protected init; }
43+
public long? MaxLength { get; protected init; }
4444

4545
[JI]
4646
protected virtual string[] ErrorBodyMessages { get; }
@@ -76,7 +76,7 @@ protected BaseSearchEngine([NN] Url baseUrl)
7676
BaseUrl = baseUrl;
7777
Timeout = TimeSpan.FromSeconds(30);
7878
ErrorBodyMessages = [];
79-
MaxSize = null;
79+
MaxLength = null;
8080

8181
}
8282

@@ -119,8 +119,8 @@ public virtual bool VerifyQuery(SearchQuery q)
119119
{
120120
bool b = true;
121121

122-
if (MaxSize.HasValue) {
123-
b = q.Source.Size <= MaxSize;
122+
if (MaxLength.HasValue) {
123+
b = q.Source.Length <= MaxLength;
124124
}
125125

126126
return b;
@@ -131,7 +131,6 @@ public virtual bool VerifyQuery(SearchQuery q)
131131
return (int) EngineOption;
132132
}*/
133133

134-
public abstract ValueTask<bool> ApplyConfigAsync(SearchConfig cfg, CancellationToken ct = default);
135134

136135
public override string ToString()
137136
{

SmartImage.Lib/Engines/Results/ISourceItemParseable.cs renamed to SmartImage.Lib/Engines/Results/IParseableSource.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,7 @@
1515

1616
namespace SmartImage.Lib.Engines.Results;
1717

18-
public interface ISourceItemParseable<in TSource, out TItem>
19-
where TItem : SearchResultItem
18+
public interface IParseableSource<in TSource, out TItem> /*where TItem : SearchResultItem*/
2019
{
2120

2221
public static abstract TItem ParseSource(TSource n, SearchResult r);

SmartImage.Lib/Engines/Results/SearchResult.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -204,6 +204,14 @@ public int Index(SearchResultItem sri)
204204
return root + scKi2;
205205
}*/
206206

207+
/*
208+
public int AggIdx(SearchResultItem sri)
209+
{
210+
var resIdx=Results.IndexOf(sri);
211+
212+
}
213+
*/
214+
207215
public override string ToString()
208216
{
209217
return $"[{Engine.Name}] {RawUrl} | {Results.Count} | {Status} {ErrorMessage}";

SmartImage.Lib/Engines/Results/SearchResultItem.cs

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -156,33 +156,29 @@ public double Score
156156

157157
#region
158158

159-
public bool IsScanResult { get; private init; }
160-
161-
[CBN]
162-
private Url m_thumbnail;
159+
public bool IsCloned { get; private init; }
163160

164161
[CBN]
162+
[field: CBN]
165163
public Url Thumbnail
166164
{
167-
get => m_thumbnail;
165+
get;
168166
internal set
169167
{
170-
if (SetField(ref m_thumbnail, value)) {
168+
if (SetField(ref field, value)) {
171169
OnPropertyChanged(nameof(HasThumbnail));
172170
}
173171
}
174172
}
175173

176174
[CBN]
177-
private ISImage m_thumbnailImage;
178-
179-
[CBN]
175+
[field: CBN]
180176
public ISImage ThumbnailImage
181177
{
182-
get => m_thumbnailImage;
178+
get;
183179
internal set
184180
{
185-
if (SetField(ref m_thumbnailImage, value)) {
181+
if (SetField(ref field, value)) {
186182
OnPropertyChanged(nameof(HasThumbnail));
187183
}
188184
}
@@ -266,7 +262,7 @@ public SearchResultItem CloneWithUrl(Url s)
266262
Site = Site,
267263
Source = Source,
268264
Time = Time,
269-
IsScanResult = true,
265+
IsCloned = true,
270266
};
271267
}
272268

@@ -285,7 +281,7 @@ public SearchResultItem CloneWithUrl(Url s)
285281
var str = await sr.ReadToEndAsync(ct);
286282
287283
var hp = new HtmlParser();
288-
var urls = ImageScanner.GetImageUrls(str, Url);
284+
var urls = ImageScanner.ParseImageUrls(str, Url);
289285
using var doc = await hp.ParseDocumentAsync(str);
290286
var sriNews = new ConcurrentBag<SearchResultItem>();
291287
@@ -345,7 +341,7 @@ public async ValueTask<bool> ScanAsync2(CancellationToken ct = default)
345341
var str = await sr.ReadToEndAsync(ct);
346342

347343
var hp = new HtmlParser();
348-
var urls = ImageScanner.GetImageUrls(str, Url);
344+
var urls = ImageScanner.ParseImageUrls(str, Url);
349345
using var doc = await hp.ParseDocumentAsync(str);
350346
var sriNews = new ConcurrentBag<SearchResultItem>();
351347

SmartImage.Lib/Engines/Search/ArchiveMoeEngine.cs

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,7 @@ protected override Url GetRawUrl(SearchQuery query)
4141
}
4242

4343

44-
public override ValueTask<bool> ApplyConfigAsync(SearchConfig cfg, CancellationToken ct = default)
45-
{
46-
return ValueTask.FromResult(true);
47-
48-
}
44+
4945

5046
public override void Dispose()
5147
{
@@ -89,7 +85,7 @@ public static string GetBase64MD5Hash(byte[] srcBytes)
8985

9086
}
9187

92-
public class ChanPost : SearchResultItem, ISourceItemParseable<INode, ChanPost>
88+
public class ChanPost : SearchResultItem, IParseableSource<INode, ChanPost>
9389
{
9490

9591
public string Board { get; private set; }

SmartImage.Lib/Engines/Search/Ascii2DEngine.cs

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ public sealed class Ascii2DEngine : WebSearchEngine<Ascii2DItem, IList<INode>>,
4646
public Ascii2DEngine() : base(MAIN_URL)
4747
{
4848
Timeout = TimeSpan.FromSeconds(30);
49-
MaxSize = 10_000_000;
49+
MaxLength = 10_000_000;
5050
Jar = new CookieJar();
5151
}
5252

@@ -70,10 +70,7 @@ public async ValueTask<bool> ApplyCookiesAsync(ICookiesSource source, Cancellati
7070
return true;
7171
}
7272

73-
public override ValueTask<bool> ApplyConfigAsync(SearchConfig cfg, CancellationToken ct = default)
74-
{
75-
return ValueTask.FromResult(true);
76-
}
73+
7774

7875
public override void Dispose() { }
7976

@@ -245,7 +242,7 @@ private async Task<IFlurlResponse> GetResponseByUrlAsync(Url origin, Cancellatio
245242

246243
}
247244

248-
public class Ascii2DItem : SearchResultItem, ISourceItemParseable<INode, Ascii2DItem>
245+
public class Ascii2DItem : SearchResultItem, IParseableSource<INode, Ascii2DItem>
249246
{
250247

251248
public string HashString { get; private set; }

SmartImage.Lib/Engines/Search/EHentaiEngine.cs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,15 @@
1313
using Microsoft.Extensions.Logging;
1414
using SmartImage.Lib.Cookies;
1515
using SmartImage.Lib.Engines.Results;
16+
using SmartImage.Lib.Model;
1617

1718
namespace SmartImage.Lib.Engines.Search;
1819

1920
/// <summary>
2021
/// <see cref="SearchEngineOptions.EHentai" />
2122
/// </summary>
2223
/// <remarks>Handles both ExHentai and E-Hentai</remarks>
23-
public sealed class EHentaiEngine : WebSearchEngine<EhResult, IList<INode>>, INotifyPropertyChanged, ICookiesReceiver
24+
public sealed class EHentaiEngine : WebSearchEngine<EhResult, IList<INode>>, INotifyPropertyChanged, ICookiesReceiver,ISearchConfigReceiver
2425
{
2526

2627
public override SearchEngineOptions EngineOption => SearchEngineOptions.EHentai;
@@ -304,7 +305,7 @@ public async Task<bool> LoginAsync(string username, string password)
304305
* https://github.com/Ehviewer-Overhauled/Ehviewer/issues/873
305306
*/
306307

307-
public override ValueTask<bool> ApplyConfigAsync(SearchConfig cfg, CancellationToken ct = default)
308+
public ValueTask<bool> ApplyConfigAsync(SearchConfig cfg, CancellationToken ct = default)
308309
{
309310
/*if (this is { IsLoggedIn: true }/* && !(Username != cfg.EhUsername && Password != cfg.EhPassword)#1#) {
310311
Debug.WriteLine($"{Name} is already logged in", nameof(ApplyConfigAsync));
@@ -345,7 +346,7 @@ private bool SetField<T>(ref T field, T value, [CMN] string propertyName = null)
345346

346347
}
347348

348-
public sealed class EhResult : SearchResultItem, ISourceItemParseable<INode, EhResult>
349+
public sealed class EhResult : SearchResultItem, IParseableSource<INode, EhResult>
349350
{
350351

351352
public string TypeString { get; private set; }

0 commit comments

Comments
 (0)