This commit is contained in:
+16
-1
@@ -78,6 +78,7 @@ func (s *SearchService) SearchMedia(queries []string) ([]SearchResult, error) {
|
|||||||
|
|
||||||
seen := map[string]bool{}
|
seen := map[string]bool{}
|
||||||
results := make([]SearchResult, 0, 60)
|
results := make([]SearchResult, 0, 60)
|
||||||
|
var lastErr error
|
||||||
for _, query := range queries {
|
for _, query := range queries {
|
||||||
query = strings.TrimSpace(query)
|
query = strings.TrimSpace(query)
|
||||||
if 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)
|
items, err := s.search(searchQuery, source.categories, source.engine, source.name)
|
||||||
if err != nil {
|
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
|
continue
|
||||||
}
|
}
|
||||||
for _, item := range items {
|
for _, item := range items {
|
||||||
@@ -109,6 +121,9 @@ func (s *SearchService) SearchMedia(queries []string) ([]SearchResult, error) {
|
|||||||
sort.SliceStable(results, func(i, j int) bool {
|
sort.SliceStable(results, func(i, j int) bool {
|
||||||
return sourceWeight(results[i].Source) > sourceWeight(results[j].Source)
|
return sourceWeight(results[i].Source) > sourceWeight(results[j].Source)
|
||||||
})
|
})
|
||||||
|
if len(results) == 0 && lastErr != nil {
|
||||||
|
return nil, lastErr
|
||||||
|
}
|
||||||
return results, nil
|
return results, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -133,7 +148,7 @@ func (s *SearchService) search(query, categories, engine, source string) ([]Sear
|
|||||||
defer resp.Body.Close()
|
defer resp.Body.Close()
|
||||||
|
|
||||||
if resp.StatusCode >= 300 {
|
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 {
|
var payload struct {
|
||||||
|
|||||||
+9
-3
@@ -95,9 +95,15 @@
|
|||||||
<span>Crop Range</span>
|
<span>Crop Range</span>
|
||||||
<span id="rangeSummary">00:00:00 - 00:00:00</span>
|
<span id="rangeSummary">00:00:00 - 00:00:00</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="relative h-8">
|
<div class="space-y-3">
|
||||||
<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" />
|
<label class="block space-y-2">
|
||||||
<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" />
|
<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>
|
||||||
<div class="mt-3 flex gap-3">
|
<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>
|
<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