From 75dd32f76089e88f9fbf67174b2246cd59568086 Mon Sep 17 00:00:00 2001 From: tcely Date: Fri, 18 Jul 2025 09:16:36 -0400 Subject: [PATCH] Add basic search query support --- tubesync/sync/views.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tubesync/sync/views.py b/tubesync/sync/views.py index 26fd1644..dc9d5647 100644 --- a/tubesync/sync/views.py +++ b/tubesync/sync/views.py @@ -503,6 +503,7 @@ class MediaView(ListView): self.filter_source = None self.show_skipped = False self.only_skipped = False + self.query = None super().__init__(*args, **kwargs) def dispatch(self, request, *args, **kwargs): @@ -519,6 +520,7 @@ class MediaView(ListView): only_skipped = request.GET.get('only_skipped', '').strip() if only_skipped == 'yes': self.only_skipped = True + self.query = request.GET.get('query') or request.POST.get('query') or None return super().dispatch(request, *args, **kwargs) def get_queryset(self): @@ -526,6 +528,9 @@ class MediaView(ListView): if self.filter_source: q = q.filter(source=self.filter_source) + if self.query: + needle = self.query + q = q.filter(Q(title__icontains=needle) | Q(key__contains=needle)) if self.only_skipped: q = q.filter(Q(can_download=False) | Q(skip=True) | Q(manual_skip=True)) elif not self.show_skipped: @@ -543,6 +548,7 @@ class MediaView(ListView): data['source'] = self.filter_source data['show_skipped'] = self.show_skipped data['only_skipped'] = self.only_skipped + data['query'] = self.query or str() return data