From 13131885747fd83379004c4e5408c2278f78d7ff Mon Sep 17 00:00:00 2001 From: partisan Date: Sun, 16 Jun 2024 00:14:21 +0200 Subject: [PATCH] removed results loging + added logs for no results returned where missing + improved image fetching --- images.go | 14 ++++++++------ text-brave.go | 5 +++++ text-google.go | 4 ---- text-librex.go | 9 +++++---- text.go | 1 + 5 files changed, 19 insertions(+), 14 deletions(-) diff --git a/images.go b/images.go index 942a9f1..84c1366 100644 --- a/images.go +++ b/images.go @@ -97,15 +97,11 @@ func getImageResultsFromCacheOrFetch(cacheKey CacheKey, query, safe, lang string func fetchImageResults(query, safe, lang string, page int) []ImageSearchResult { var results []ImageSearchResult - var err error - var duration time.Duration - for attempts := 0; attempts < len(imageSearchEngines); attempts++ { - engine := selectSearchEngine(imageSearchEngines) + for _, engine := range imageSearchEngines { log.Printf("Using image search engine: %s", engine.Name) - var searchResults []SearchResult - searchResults, duration, err = engine.Func(query, safe, lang, page) + searchResults, duration, err := engine.Func(query, safe, lang, page) updateEngineMetrics(&engine, duration, err == nil) if err != nil { log.Printf("Error performing image search with %s: %v", engine.Name, err) @@ -116,11 +112,17 @@ func fetchImageResults(query, safe, lang string, page int) []ImageSearchResult { results = append(results, result.(ImageSearchResult)) } + // If results are found, break out of the loop if len(results) > 0 { break } } + // If no results found after trying all engines + if len(results) == 0 { + log.Printf("No image results found for query: %s", query) + } + return results } diff --git a/text-brave.go b/text-brave.go index 12330a3..43e752e 100644 --- a/text-brave.go +++ b/text-brave.go @@ -69,5 +69,10 @@ func PerformBraveTextSearch(query, safe, lang string, offset int) ([]TextSearchR duration := time.Since(startTime) // Calculate the duration + // Return an error if no results are found + if len(results) == 0 { + return nil, duration, fmt.Errorf("no results found") + } + return results, duration, nil } diff --git a/text-google.go b/text-google.go index 1e332a8..aa424f6 100644 --- a/text-google.go +++ b/text-google.go @@ -31,10 +31,6 @@ func PerformGoogleTextSearch(query, safe, lang string, page int) ([]TextSearchRe return nil, 0, err } - if debugMode { - fmt.Println("Generated User Agent (text):", TextUserAgent) - } - req.Header.Set("User-Agent", TextUserAgent) resp, err := client.Do(req) diff --git a/text-librex.go b/text-librex.go index fe428ac..55eeb91 100644 --- a/text-librex.go +++ b/text-librex.go @@ -34,10 +34,6 @@ func PerformLibreXTextSearch(query, safe, lang string, page int) ([]TextSearchRe return nil, 0, err } - if debugMode { - log.Println("Generated User Agent (text):", userAgent) - } - req, err := http.NewRequest("GET", searchURL, nil) if err != nil { return nil, 0, err @@ -74,9 +70,14 @@ func PerformLibreXTextSearch(query, safe, lang string, page int) ([]TextSearchRe duration := time.Since(startTime) // Calculate the duration + if len(results) == 0 { + return nil, duration, fmt.Errorf("no results found") + } + return results, duration, nil } +// This is just stupid it will probbably lead to printing error twice func logError(message string, err error) error { log.Printf("%s: %v", message, err) return fmt.Errorf("%s: %w", message, err) diff --git a/text.go b/text.go index a54b983..6d75b3b 100644 --- a/text.go +++ b/text.go @@ -105,6 +105,7 @@ func fetchTextResults(query, safe, lang string, page int) []TextSearchResult { results = append(results, result.(TextSearchResult)) } + // If results are found, break out of the loop if len(results) > 0 { break }