Compare commits

..

2 commits

4 changed files with 20 additions and 21 deletions

View file

@ -41,7 +41,7 @@ func initializeTorrentSites() {
func handleFileSearch(w http.ResponseWriter, settings UserSettings, query string, page int) { func handleFileSearch(w http.ResponseWriter, settings UserSettings, query string, page int) {
startTime := time.Now() startTime := time.Now()
cacheKey := CacheKey{Query: query, Page: page, Safe: settings.SafeSearch == "true", Lang: settings.Language, Type: "file"} cacheKey := CacheKey{Query: query, Page: page, Safe: settings.SafeSearch == "active", Lang: settings.Language, Type: "file"}
combinedResults := getFileResultsFromCacheOrFetch(cacheKey, query, settings.SafeSearch, settings.Language, page) combinedResults := getFileResultsFromCacheOrFetch(cacheKey, query, settings.SafeSearch, settings.Language, page)
sort.Slice(combinedResults, func(i, j int) bool { return combinedResults[i].Seeders > combinedResults[j].Seeders }) sort.Slice(combinedResults, func(i, j int) bool { return combinedResults[i].Seeders > combinedResults[j].Seeders })

View file

@ -21,7 +21,7 @@ func init() {
func handleImageSearch(w http.ResponseWriter, settings UserSettings, query string, page int) { func handleImageSearch(w http.ResponseWriter, settings UserSettings, query string, page int) {
startTime := time.Now() startTime := time.Now()
cacheKey := CacheKey{Query: query, Page: page, Safe: settings.SafeSearch == "true", Lang: settings.Language, Type: "image"} cacheKey := CacheKey{Query: query, Page: page, Safe: settings.SafeSearch == "active", Lang: settings.Language, Type: "image"}
combinedResults := getImageResultsFromCacheOrFetch(cacheKey, query, settings.SafeSearch, settings.Language, page) combinedResults := getImageResultsFromCacheOrFetch(cacheKey, query, settings.SafeSearch, settings.Language, page)
elapsedTime := time.Since(startTime) elapsedTime := time.Since(startTime)

33
main.go
View file

@ -81,37 +81,36 @@ func handleSearch(w http.ResponseWriter, r *http.Request) {
settings.Theme = "dark" // Default theme settings.Theme = "dark" // Default theme
} }
if safe != "" { if safe != "" && safe != settings.SafeSearch {
settings.SafeSearch = safe settings.SafeSearch = safe
saveUserSettings(w, settings) saveUserSettings(w, settings)
} }
if lang != "" { if lang != "" && lang != settings.Language {
settings.Language = lang settings.Language = lang
saveUserSettings(w, settings) saveUserSettings(w, settings)
} }
// Render the search page template if no query // Check if there is a search query
data := struct {
LanguageOptions []LanguageOption
CurrentLang string
Theme string
Safe string
}{
LanguageOptions: languageOptions,
CurrentLang: settings.Language,
Theme: settings.Theme,
Safe: settings.SafeSearch,
}
if query == "" { if query == "" {
// If no query is provided, render the search page template
data := struct {
LanguageOptions []LanguageOption
CurrentLang string
Theme string
Safe string
}{
LanguageOptions: languageOptions,
CurrentLang: settings.Language,
Theme: settings.Theme,
Safe: settings.SafeSearch,
}
tmpl := template.Must(template.ParseFiles("templates/search.html")) tmpl := template.Must(template.ParseFiles("templates/search.html"))
tmpl.Execute(w, data) tmpl.Execute(w, data)
return return
} }
settings := loadUserSettings(r)
// Handle search based on the type // Handle search based on the type
switch searchType { switch searchType {
case "image": case "image":

View file

@ -22,7 +22,7 @@ func init() {
func HandleTextSearch(w http.ResponseWriter, settings UserSettings, query string, page int) { func HandleTextSearch(w http.ResponseWriter, settings UserSettings, query string, page int) {
startTime := time.Now() startTime := time.Now()
cacheKey := CacheKey{Query: query, Page: page, Safe: settings.SafeSearch == "true", Lang: settings.Language, Type: "text"} cacheKey := CacheKey{Query: query, Page: page, Safe: settings.SafeSearch == "active", Lang: settings.Language, Type: "text"}
combinedResults := getTextResultsFromCacheOrFetch(cacheKey, query, settings.SafeSearch, settings.Language, page) combinedResults := getTextResultsFromCacheOrFetch(cacheKey, query, settings.SafeSearch, settings.Language, page)
hasPrevPage := page > 1 // dupe hasPrevPage := page > 1 // dupe
@ -114,7 +114,7 @@ func getTextResultsFromCacheOrFetch(cacheKey CacheKey, query, safe, lang string,
} }
func prefetchPage(query, safe, lang string, page int) { func prefetchPage(query, safe, lang string, page int) {
cacheKey := CacheKey{Query: query, Page: page, Safe: safe == "true", Lang: lang, Type: "text"} cacheKey := CacheKey{Query: query, Page: page, Safe: safe == "active", Lang: lang, Type: "text"}
if _, exists := resultsCache.Get(cacheKey); !exists { if _, exists := resultsCache.Get(cacheKey); !exists {
printInfo("Page %d not cached, caching now...", page) printInfo("Page %d not cached, caching now...", page)
pageResults := fetchTextResults(query, safe, lang, page) pageResults := fetchTextResults(query, safe, lang, page)