def search_source(request, pk): obj = get_screenshot(request, pk) translation = obj.component.source_translation units = translation.unit_set.filter(parse_query(request.POST.get("q", ""))) return search_results(200, obj, units)
def search( self, params, project=None, component=None, language=None, translation=None ): """High level wrapper for searching.""" if translation is not None: component = translation.component language = translation.language if component is not None: project = component.project base = self.prefetch() if params['type'] != 'all': base = self.filter_type( params['type'], project, language, params.get('ignored', False) ) if params.get('date') or params.get('exclude_user') or params.get('only_user'): base = base.review( params.get('date'), params.get('exclude_user'), params.get('only_user'), project, component, language, translation, ) if 'lang' in params and params['lang']: base = base.filter(translation__language__code__in=params['lang']) if 'q' not in params or not params['q']: return base return base.filter(parse_query(params['q']))
def search_source(request, pk): obj = get_screenshot(request, pk) translation = obj.translation form = SearchForm(request.POST) if not form.is_valid(): return search_results(400, obj) return search_results( 200, obj, translation.unit_set.filter(parse_query(form.cleaned_data["q"])))
def search_source(request, pk): obj = get_screenshot(request, pk) try: translation = obj.component.translation_set.all()[0] except IndexError: return search_results(500, obj) units = translation.unit_set.filter(parse_query(request.POST.get('q', ''))) return search_results(200, obj, units)
def search(self, query, **context): """High level wrapper for searching.""" return self.filter(parse_query(query, **context))
def assert_query(self, string, expected): result = parse_query(string) self.assertEqual(result, expected) self.assertFalse(Unit.objects.filter(result).exists())
def test_quotes(self): self.assert_query("'", parse_query('''"'"''')) self.assert_query('"', parse_query("""'"'""")) self.assert_query("source:'", parse_query('''source:"'"''')) self.assert_query('source:"', parse_query("""source:'"'"""))
def test_url(self): self.assert_query("https://weblate.org/", parse_query("'https://weblate.org/'"))
def test_non_quoted_strings(self): self.assert_query( "%(count)s word", parse_query("'%(count)s' 'word'"), ) self.assert_query("{actor}", parse_query("'{actor}'"))
def search(self, query): """High level wrapper for searching.""" return self.prefetch().filter(parse_query(query))
def assert_query(self, string, expected, exists=False, **context): result = parse_query(string, **context) self.assertEqual(result, expected) self.assertEqual(Unit.objects.filter(result).exists(), exists)