Skip to content

Commit 1330d42

Browse files
committed
Fixes; server work; Rdx 1.0.9
1 parent 13606fc commit 1330d42

17 files changed

+149
-81
lines changed

SmartImage.Lib/Engines/Impl/Search/FluffleEngine.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,12 +73,13 @@ public override async Task<SearchResult> GetResultAsync(SearchQuery query, Cance
7373
var er = await response.GetJsonAsync<FluffleErrorCode>();
7474

7575
sr.ErrorMessage = $"{er.Message}: {er.Code}";
76-
76+
sr.Status = SearchResultStatus.UnknownError;
7777
// return sr;
7878
goto ret;
7979
}
8080

8181
if (response == null) {
82+
sr.Status = SearchResultStatus.UnknownError;
8283
goto ret;
8384
}
8485

@@ -88,7 +89,7 @@ public override async Task<SearchResult> GetResultAsync(SearchQuery query, Cance
8889
var item = result.Convert(sr);
8990
sr.Results.Add(item);
9091
}
91-
92+
sr.Status = SearchResultStatus.Success;
9293
ret:
9394
sr.Update();
9495
response?.Dispose();

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

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
using SmartImage.Lib.Results.Data;
1818
using static Kantan.Diagnostics.LogCategories;
1919
using SmartImage.Lib.Utilities;
20+
using Novus.Streams;
2021

2122
// ReSharper disable PossibleNullReferenceException
2223

@@ -129,8 +130,8 @@ private async ValueTask GetWebResultsAsync(SearchQuery query, SearchResult sr)
129130
response = await Client.Request(EndpointUrl).AllowHttpStatus()
130131
.OnError(x =>
131132
{
132-
133133
x.ExceptionHandled = true;
134+
Trace.WriteLine($"{x.Exception.Message}");
134135

135136
/*if (x.Exception is FlurlHttpException ex) {
136137
if (ex.StatusCode == (int)HttpStatusCode.TooManyRequests) { }
@@ -146,8 +147,10 @@ private async ValueTask GetWebResultsAsync(SearchQuery query, SearchResult sr)
146147
if (query.Source.IsUri) { }
147148
else if (query.Source.IsFile) {
148149
m.AddFile("file", query.Source.Value.ToString(), fileName: "image.png");
149-
}
150+
}else {
151+
m.AddFile("file", query.Source.FilePath, fileName: "image.png");
150152

153+
}
151154
});
152155

153156
html = await response.GetStringAsync();
@@ -398,9 +401,11 @@ private static void Parse(INode result, SearchResult sr)
398401
{
399402
var b = !String.IsNullOrWhiteSpace(x);
400403
var c = true;
404+
401405
if (b) {
402406
c = !IsLookupUrl(Url.Parse(x));
403407
}
408+
404409
return b && c;
405410
}).Distinct().ToArray();
406411

SmartImage.Lib/Engines/Impl/Search/TinEyeEngine.cs

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -67,11 +67,13 @@ public override async Task<SearchResult> GetResultAsync(SearchQuery query, Cance
6767
catch (Exception e) {
6868
// Debugger.Break();
6969
Trace.WriteLine(e.Message);
70+
sr.Status = SearchResultStatus.UnknownError;
7071
goto ret;
7172
}
7273

7374
if (tinEyeRoot?.Matches == null) {
7475
sr.Flags |= SearchResultFlags.NoResults;
76+
7577
goto ret;
7678
}
7779

@@ -121,6 +123,8 @@ public override async Task<SearchResult> GetResultAsync(SearchQuery query, Cance
121123
sr.Results.Add(resultItem);
122124
}
123125

126+
sr.Status = SearchResultStatus.Success;
127+
124128
ret:
125129
response?.Dispose();
126130
return sr;
@@ -244,12 +248,7 @@ public class TinEyeRoot
244248
}
245249

246250
[JsonSerializable(typeof(TinEyeRoot))]
247-
public partial class TinEyeContext : JsonSerializerContext
248-
{
249-
250-
251-
252-
}
251+
public partial class TinEyeContext : JsonSerializerContext { }
253252

254253
public class TinEyeMatch
255254
{

SmartImage.Lib/Engines/Impl/Search/TraceMoeEngine.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ public override async Task<SearchResult> GetResultAsync(SearchQuery query, Cance
8383

8484
try {
8585
var results = await ConvertResultsAsync(tm, r);
86-
86+
r.Status = SearchResultStatus.Success;
8787
r.RawUrl = new Url(BaseUrl + query.Upload);
8888
r.Results.AddRange(results);
8989
}

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,7 @@ public override async Task<SearchResult> GetResultAsync(SearchQuery query, Cance
154154
Debug.WriteLine("Timeout", nameof(GetResultAsync));
155155

156156
}
157+
sr.Status = SearchResultStatus.UnknownError;
157158
}
158159

159160
if (!Validate(doc, sr)) {
@@ -192,7 +193,7 @@ public override async Task<SearchResult> GetResultAsync(SearchQuery query, Cance
192193
if (looksLike != null) {
193194
sr.Overview = looksLike;
194195
}
195-
196+
sr.Status = SearchResultStatus.Success;
196197
ret:
197198
sr.Update();
198199
doc?.Dispose();

SmartImage.Lib/Engines/Impl/Upload/CatboxEngine.cs

Lines changed: 23 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using System.ComponentModel;
22
using Flurl.Http;
3+
using Flurl.Http.Content;
34
using Kantan.Net.Utilities;
45
using SmartImage.Lib.Results;
56

@@ -15,10 +16,7 @@ public override async Task<UploadResult> UploadFileAsync(string file, Cancellati
1516
Verify(file);
1617

1718
var response = await Client.Request(EndpointUrl)
18-
.WithSettings(r =>
19-
{
20-
r.Timeout = Timeout;
21-
})
19+
.WithSettings(r => { r.Timeout = Timeout; })
2220
.WithHeaders(new
2321
{
2422
User_Agent = HttpUtilities.UserAgent
@@ -34,6 +32,26 @@ public override async Task<UploadResult> UploadFileAsync(string file, Cancellati
3432
return await ProcessResultAsync(response, ct).ConfigureAwait(false);
3533
}
3634

35+
/*public async Task<UploadResult> UploadFileAsync(Stream file, CancellationToken ct = default)
36+
{
37+
38+
var response = await Client.Request(EndpointUrl)
39+
.WithSettings(r => { r.Timeout = Timeout; })
40+
.WithHeaders(new
41+
{
42+
User_Agent = HttpUtilities.UserAgent
43+
})
44+
.PostMultipartAsync(mp =>
45+
{
46+
mp.AddFile("fileToUpload", file, Path.GetTempFileName())
47+
.AddString("reqtype", "fileupload")
48+
.AddString("time", "1h")
49+
.AddString("userhash", string.Empty);
50+
}, cancellationToken: ct, completionOption: HttpCompletionOption.ResponseHeadersRead);
51+
52+
return await ProcessResultAsync(response, ct).ConfigureAwait(false);
53+
}*/
54+
3755
protected BaseCatboxEngine(string s) : base(s) { }
3856

3957
}
@@ -43,8 +61,6 @@ public sealed class CatboxEngine : BaseCatboxEngine
4361

4462
public override long? MaxSize => 200_000_000L;
4563

46-
public CatboxEngine() : base("https://catbox.moe/user/api.php")
47-
{
48-
}
64+
public CatboxEngine() : base("https://catbox.moe/user/api.php") { }
4965

5066
}

SmartImage.Lib/Engines/WebSearchEngine.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ public override async Task<SearchResult> GetResultAsync(SearchQuery query, Cance
6161
Debug.WriteLine($"{Name} :: {res.RawUrl} {doc.TextContent?.Length} {nodes.Length}",
6262
nameof(GetResultAsync));
6363

64+
res.Status = SearchResultStatus.Success;
6465
ret:
6566
res.Update();
6667
return res;

SmartImage.Lib/Results/Data/ICookiesProvider.cs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,11 @@ public interface ICookiesProvider : IDisposable
1717
public static ICookiesProvider GetProvider()
1818
{
1919
if (BaseOSIntegration.Integration.IsFirefoxInstalled) {
20-
return new BrowserCookiesProvider(new FirefoxCookieReader());
20+
var cookieFile = FirefoxCookieReader.FindCookieFile();
21+
if (cookieFile != null) {
22+
return new BrowserCookiesProvider(new FirefoxCookieReader(cookieFile.FullName));
23+
24+
}
2125
}
2226

2327
return new DefaultCookiesProvider();

SmartImage.Lib/Results/SearchResult.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,9 @@ internal SearchResult(BaseSearchEngine bse)
118118

119119
public void Update()
120120
{
121-
121+
if (Status.IsUnknown()) {
122+
123+
}
122124
if (Status.IsError()) {
123125
return;
124126
}

SmartImage.Lib/SearchClient.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -313,7 +313,7 @@ public async ValueTask LoadEnginesAsync(CancellationToken token = default)
313313
if (bse is ISearchConfigReceiver cfg) {
314314
await cfg.ApplyConfigAsync(Config, token);
315315
}
316-
316+
317317
/*
318318
if (Config.ReadCookies && bse is ICookiesReceiver ce) {
319319

0 commit comments

Comments
 (0)