Merge branch 'master' into converter-optimizations

This commit is contained in:
Viktor Lofgren 2023-12-29 15:55:57 +01:00
commit 401568033c
2 changed files with 18 additions and 1 deletions

View File

@ -9,6 +9,7 @@ import nu.marginalia.feedlot.model.FeedItems;
import nu.marginalia.model.EdgeDomain; import nu.marginalia.model.EdgeDomain;
import nu.marginalia.renderer.MustacheRenderer; import nu.marginalia.renderer.MustacheRenderer;
import nu.marginalia.renderer.RendererFactory; import nu.marginalia.renderer.RendererFactory;
import nu.marginalia.screenshot.ScreenshotService;
import nu.marginalia.search.SearchOperator; import nu.marginalia.search.SearchOperator;
import nu.marginalia.assistant.client.model.DomainInformation; import nu.marginalia.assistant.client.model.DomainInformation;
import nu.marginalia.feedlot.FeedlotClient; import nu.marginalia.feedlot.FeedlotClient;
@ -33,6 +34,7 @@ public class SearchSiteInfoService {
private final DbDomainQueries domainQueries; private final DbDomainQueries domainQueries;
private final MustacheRenderer<Object> renderer; private final MustacheRenderer<Object> renderer;
private final FeedlotClient feedlotClient; private final FeedlotClient feedlotClient;
private final ScreenshotService screenshotService;
@Inject @Inject
public SearchSiteInfoService(SearchOperator searchOperator, public SearchSiteInfoService(SearchOperator searchOperator,
@ -40,7 +42,8 @@ public class SearchSiteInfoService {
RendererFactory rendererFactory, RendererFactory rendererFactory,
SearchFlagSiteService flagSiteService, SearchFlagSiteService flagSiteService,
DbDomainQueries domainQueries, DbDomainQueries domainQueries,
FeedlotClient feedlotClient) throws IOException FeedlotClient feedlotClient,
ScreenshotService screenshotService) throws IOException
{ {
this.searchOperator = searchOperator; this.searchOperator = searchOperator;
this.assistantClient = assistantClient; this.assistantClient = assistantClient;
@ -50,6 +53,7 @@ public class SearchSiteInfoService {
this.renderer = rendererFactory.renderer("search/site-info/site-info"); this.renderer = rendererFactory.renderer("search/site-info/site-info");
this.feedlotClient = feedlotClient; this.feedlotClient = feedlotClient;
this.screenshotService = screenshotService;
} }
public Object handle(Request request, Response response) throws SQLException { public Object handle(Request request, Response response) throws SQLException {
@ -130,6 +134,8 @@ public class SearchSiteInfoService {
final List<SimilarDomain> linkingDomains; final List<SimilarDomain> linkingDomains;
String url = "https://" + domainName + "/";; String url = "https://" + domainName + "/";;
boolean hasScreenshot = screenshotService.hasScreenshot(domainId);
var feedItemsFuture = feedlotClient.getFeedItems(domainName); var feedItemsFuture = feedlotClient.getFeedItems(domainName);
if (domainId < 0 || !assistantClient.isAccepting()) { if (domainId < 0 || !assistantClient.isAccepting()) {
domainInfo = createDummySiteInfo(domainName); domainInfo = createDummySiteInfo(domainName);
@ -161,6 +167,7 @@ public class SearchSiteInfoService {
return new SiteInfoWithContext(domainName, return new SiteInfoWithContext(domainName,
domainId, domainId,
url, url,
hasScreenshot,
domainInfo, domainInfo,
similarSet, similarSet,
linkingDomains, linkingDomains,
@ -217,6 +224,7 @@ public class SearchSiteInfoService {
String domain, String domain,
long domainId, long domainId,
String siteUrl, String siteUrl,
boolean hasScreenshot,
DomainInformation domainInformation, DomainInformation domainInformation,
List<SimilarDomain> similar, List<SimilarDomain> similar,
List<SimilarDomain> linking, List<SimilarDomain> linking,
@ -226,6 +234,7 @@ public class SearchSiteInfoService {
public SiteInfoWithContext(String domain, public SiteInfoWithContext(String domain,
long domainId, long domainId,
String siteUrl, String siteUrl,
boolean hasScreenshot,
DomainInformation domainInformation, DomainInformation domainInformation,
List<SimilarDomain> similar, List<SimilarDomain> similar,
List<SimilarDomain> linking, List<SimilarDomain> linking,
@ -238,6 +247,7 @@ public class SearchSiteInfoService {
domain, domain,
domainId, domainId,
siteUrl, siteUrl,
hasScreenshot,
domainInformation, domainInformation,
similar, similar,
linking, linking,

View File

@ -8,9 +8,16 @@
<h2><span title="External Link">&#x1F30E;</span>&nbsp;<a rel="external noopener" href="{{siteUrl}}">{{domain}}</a></h2> <h2><span title="External Link">&#x1F30E;</span>&nbsp;<a rel="external noopener" href="{{siteUrl}}">{{domain}}</a></h2>
{{#if hasScreenshot}}
<a rel="external noopener" href="{{siteUrl}}"> <a rel="external noopener" href="{{siteUrl}}">
<img class="screenshot" width="300" height="225" src="/screenshot/{{domainId}}" alt="Screenshot of {{domain}}" /> <img class="screenshot" width="300" height="225" src="/screenshot/{{domainId}}" alt="Screenshot of {{domain}}" />
</a> </a>
{{/if}}
{{#unless hasScreenshot}}
<p>Screenshot not yet available.</p>
{{/unless}}
{{#with domainInformation}} {{#with domainInformation}}
{{> search/site-info/site-info-feed}} {{> search/site-info/site-info-feed}}
{{> search/site-info/site-info-index}} {{> search/site-info/site-info-index}}