1010using SimpleCore . Net ;
1111using SmartImage . Lib . Searching ;
1212using SmartImage . Lib . Utilities ;
13+ using static SimpleCore . Diagnostics . LogCategories ;
1314
1415namespace SmartImage . Lib . Engines
1516{
17+ /// <summary>
18+ /// Represents a search engine whose results are parsed.
19+ /// </summary>
1620 public abstract class InterpretedSearchEngine : BaseSearchEngine
1721 {
1822 public abstract override SearchEngineOptions Engine { get ; }
@@ -22,63 +26,46 @@ public abstract class InterpretedSearchEngine : BaseSearchEngine
2226 protected InterpretedSearchEngine ( string baseUrl ) : base ( baseUrl ) { }
2327
2428
25- protected virtual IDocument GetDocument ( SearchResult sr )
26- {
27- /*if (!Network.TryGetString(sr.RawUri.ToString()!, out var html))
28- {
29- sr.RawUri = null;
30- sr.PrimaryResult.Url = null;
31-
32- //sr.AddErrorMessage("Unavailable");
33- throw new SmartImageException();
34- }*/
35-
36-
37- string response = Network . GetString ( sr . RawUri . ToString ( ) ! ) ;
38-
39- //var doc = new HtmlWeb().Load(sr.RawUri);
40- var p = new HtmlParser ( ) ;
41- return p . ParseDocument ( response ) ;
42-
43- //var response = Network.GetSimpleResponse(sr.RawUri.ToString()!);
44-
45- //var req = new RestRequest(BaseUrl);
46- //req.AddQueryParameter("url", sr.RawUri.ToString());
47- //var rc = new RestClient();
48- //var res =rc.Execute(req);
49- //var response = res.Content;
50-
51- //var doc = new HtmlDocument();
52- //doc.LoadHtml(response.Content);
53- //doc.LoadHtml(response);
54-
55-
56- }
57-
58- protected abstract SearchResult Process ( IDocument doc , SearchResult sr ) ;
59-
6029 [ DebuggerHidden ]
6130 public override SearchResult GetResult ( ImageQuery query )
6231 {
63-
6432 var sr = base . GetResult ( query ) ;
6533
6634 if ( ! sr . IsSuccessful ) {
6735 return sr ;
6836 }
6937
7038 try {
71-
7239 var doc = GetDocument ( sr ) ;
40+
7341 sr = Process ( doc , sr ) ;
7442 }
7543 catch ( Exception e ) {
7644 sr . Status = ResultStatus . Failure ;
77- Trace . WriteLine ( $ "{ Name } : { e . Message } { e . Source } { e . StackTrace } ") ;
78-
45+ Trace . WriteLine ( $ "{ Name } : { e . Message } { e . Source } { e . StackTrace } ", C_ERROR ) ;
7946 }
8047
8148 return sr ;
8249 }
50+
51+ protected virtual IDocument GetDocument ( SearchResult sr )
52+ {
53+ /*if (!Network.TryGetString(sr.RawUri.ToString()!, out var html))
54+ {
55+ sr.RawUri = null;
56+ sr.PrimaryResult.Url = null;
57+
58+ //sr.AddErrorMessage("Unavailable");
59+ throw new SmartImageException();
60+ }*/
61+
62+
63+ string response = Network . GetString ( sr . RawUri . ToString ( ) ! ) ;
64+
65+ var parser = new HtmlParser ( ) ;
66+ return parser . ParseDocument ( response ) ;
67+ }
68+
69+ protected abstract SearchResult Process ( IDocument doc , SearchResult sr ) ;
8370 }
8471}
0 commit comments