From a65937d6e46a75f6336ba5011731701d76a0cccc Mon Sep 17 00:00:00 2001 From: Alessio Date: Fri, 1 Mar 2024 17:25:00 -0800 Subject: [PATCH] Add a button to Search page to scrape search results --- internal/webserver/handler_search.go | 19 +++++++++++++++++++ internal/webserver/tpl/search.tpl | 27 ++++++++++++++++++--------- 2 files changed, 37 insertions(+), 9 deletions(-) diff --git a/internal/webserver/handler_search.go b/internal/webserver/handler_search.go index 3731d33..0207893 100644 --- a/internal/webserver/handler_search.go +++ b/internal/webserver/handler_search.go @@ -93,6 +93,25 @@ func (app *Application) Search(w http.ResponseWriter, r *http.Request) { } } + // Actual search + // Scrape if needed + if r.URL.Query().Has("scrape") { + if app.IsScrapingDisabled { + app.InfoLog.Printf("Would have scraped: %s", r.URL.Path) + http.Error(w, "Scraping is disabled (are you logged in?)", 401) + return + } + + // Run scraper + trove, err := scraper.Search(search_text, 1) // TODO: parameterizable + if err != nil { + app.ErrorLog.Print(err) + // TOOD: show error in UI + } + app.Profile.SaveTweetTrove(trove, false) + go app.Profile.SaveTweetTrove(trove, true) + } + c, err := persistence.NewCursorFromSearchQuery(search_text) if err != nil { app.error_400_with_message(w, err.Error()) diff --git a/internal/webserver/tpl/search.tpl b/internal/webserver/tpl/search.tpl index f422a31..a5e2cdc 100644 --- a/internal/webserver/tpl/search.tpl +++ b/internal/webserver/tpl/search.tpl @@ -2,22 +2,31 @@ {{define "main"}}
-

Search results: {{.SearchText}}

+
+
{{/* Extra div to take up a slot in the `row` */}} +

Search results: {{.SearchText}}

+ +
+
+
+ +
{{if .IsUsersSearch}} {{template "list" (dict "UserIDs" .UserIDs)}}