This commit is contained in:
+16
-1
@@ -78,6 +78,7 @@ func (s *SearchService) SearchMedia(queries []string) ([]SearchResult, error) {
|
||||
|
||||
seen := map[string]bool{}
|
||||
results := make([]SearchResult, 0, 60)
|
||||
var lastErr error
|
||||
for _, query := range queries {
|
||||
query = strings.TrimSpace(query)
|
||||
if query == "" {
|
||||
@@ -91,6 +92,17 @@ func (s *SearchService) SearchMedia(queries []string) ([]SearchResult, error) {
|
||||
|
||||
items, err := s.search(searchQuery, source.categories, source.engine, source.name)
|
||||
if err != nil {
|
||||
lastErr = err
|
||||
items, err = s.search(searchQuery, source.categories, "", source.name)
|
||||
}
|
||||
if err != nil {
|
||||
lastErr = err
|
||||
if source.categories != "general" {
|
||||
items, err = s.search(searchQuery, "general", "", source.name)
|
||||
}
|
||||
}
|
||||
if err != nil {
|
||||
lastErr = err
|
||||
continue
|
||||
}
|
||||
for _, item := range items {
|
||||
@@ -109,6 +121,9 @@ func (s *SearchService) SearchMedia(queries []string) ([]SearchResult, error) {
|
||||
sort.SliceStable(results, func(i, j int) bool {
|
||||
return sourceWeight(results[i].Source) > sourceWeight(results[j].Source)
|
||||
})
|
||||
if len(results) == 0 && lastErr != nil {
|
||||
return nil, lastErr
|
||||
}
|
||||
return results, nil
|
||||
}
|
||||
|
||||
@@ -133,7 +148,7 @@ func (s *SearchService) search(query, categories, engine, source string) ([]Sear
|
||||
defer resp.Body.Close()
|
||||
|
||||
if resp.StatusCode >= 300 {
|
||||
return nil, fmt.Errorf("searxng returned status %d", resp.StatusCode)
|
||||
return nil, fmt.Errorf("searxng returned status %d for query %q", resp.StatusCode, query)
|
||||
}
|
||||
|
||||
var payload struct {
|
||||
|
||||
+9
-3
@@ -95,9 +95,15 @@
|
||||
<span>Crop Range</span>
|
||||
<span id="rangeSummary">00:00:00 - 00:00:00</span>
|
||||
</div>
|
||||
<div class="relative h-8">
|
||||
<input id="startRange" type="range" min="0" max="0" value="0" step="1" class="slider-thumb absolute inset-0 w-full appearance-none bg-transparent" />
|
||||
<input id="endRange" type="range" min="0" max="0" value="0" step="1" class="slider-thumb absolute inset-0 w-full appearance-none bg-transparent" />
|
||||
<div class="space-y-3">
|
||||
<label class="block space-y-2">
|
||||
<span class="text-xs uppercase tracking-[0.2em] text-zinc-500">Start</span>
|
||||
<input id="startRange" type="range" min="0" max="0" value="0" step="1" class="slider-thumb w-full appearance-none bg-transparent" />
|
||||
</label>
|
||||
<label class="block space-y-2">
|
||||
<span class="text-xs uppercase tracking-[0.2em] text-zinc-500">End</span>
|
||||
<input id="endRange" type="range" min="0" max="0" value="0" step="1" class="slider-thumb w-full appearance-none bg-transparent" />
|
||||
</label>
|
||||
</div>
|
||||
<div class="mt-3 flex gap-3">
|
||||
<button id="setStartFromPreview" type="button" class="flex-1 rounded-2xl border border-white/10 px-4 py-3 text-sm text-zinc-200 transition hover:border-white/30">Set Start</button>
|
||||
|
||||
Reference in New Issue
Block a user