Skip to content

Commit

Permalink
Fixing the web command
Browse files Browse the repository at this point in the history
  • Loading branch information
marigostra committed Jun 8, 2022
1 parent b649938 commit 86e49e0
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 18 deletions.
2 changes: 1 addition & 1 deletion src/main/java/org/luwrain/io/WebCommand.java
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ private Object runWebOpenHook(Luwrain luwrain, String query)
return new Boolean(asBoolean(obj));
final WebSearchResult.Item[] items = WebSearchResult.getItemsFromHookObj(getMember(obj, "items"));
if (items == null)
return null;
return null;
final String title = asString(getMember(obj, "title"));
return new WebSearchResult(title != null?title.trim():"", items);
}
Expand Down
29 changes: 12 additions & 17 deletions src/main/java/org/luwrain/io/WebSearch.java
Original file line number Diff line number Diff line change
Expand Up @@ -16,22 +16,20 @@

package org.luwrain.io;

import java.util.*;
import java.util.concurrent.*;
import java.util.function.Consumer;
import java.io.*;

import org.luwrain.core.*;
import org.luwrain.popups.*;
import static org.luwrain.script.Hooks.*;
import static org.luwrain.script2.ScriptUtils.*;

public class WebSearch
public final class WebSearch
{
static public final String
HOOK_WEB_SEARCH = "luwrain.web.search";

protected final Luwrain luwrain;
private final Luwrain luwrain;

public WebSearch(Luwrain luwrain)
{
Expand All @@ -44,24 +42,26 @@ public void searchAsync(String query, Consumer<Object> resultHandler)
NullCheck.notEmpty(query, "query");
NullCheck.notNull(resultHandler, "resultHandler");
luwrain.executeBkg(new FutureTask<>(()->{
final Object res = runWebSearchHook(luwrain, query);
final Object res;
try {
res = runWebSearchHook(luwrain, query);
}
catch(Throwable e)
{
luwrain.crash(e);
return;
}
luwrain.runUiSafely(()->resultHandler.accept(res));
}, null));
}

public void searchAsync(String query)
{
NullCheck.notNull(luwrain, "luwrain");
NullCheck.notEmpty(query, "query");
searchAsync(query, (result)->{
if (result != null && (result instanceof Exception))
{
luwrain.message(luwrain.i18n().getExceptionDescr((Exception)result), Luwrain.MessageType.ERROR);
return;
}
if (result == null || !(result instanceof WebSearchResult))
{
onNothingFound();
luwrain.message(luwrain.i18n().getStaticStr("NothingFound"), Luwrain.MessageType.DONE);
return;
}
final WebSearchResult webSearchResult = (WebSearchResult)result;
Expand All @@ -79,11 +79,6 @@ public void onItemClick(WebSearchResult.Item item)
luwrain.openUrl(item.getClickUrl());
}

public void onNothingFound()
{
luwrain.message(luwrain.i18n().getStaticStr("NothingFound"), Luwrain.MessageType.DONE);
}

private Object runWebSearchHook(Luwrain luwrain, String query)
{
final Object obj = provider(luwrain, HOOK_WEB_SEARCH, new Object[]{query});
Expand Down

0 comments on commit 86e49e0

Please sign in to comment.