.oO SearXNG Developer Documentation Oo.
Loading...
Searching...
No Matches
searx.search.models.SearchQuery Class Reference

Public Member Functions

 __init__ (self, str query, list[EngineRef] engineref_list, str lang='all', typing.Literal[0, 1, 2] safesearch=0, int pageno=1, typing.Literal["day", "week", "month", "year"]|None time_range=None, float|None timeout_limit=None, str|None external_bang=None, dict[str, dict[str, str]]|None engine_data=None, bool|None redirect_to_first_result=None)
 categories (self)
 __repr__ (self)
 __eq__ (self, other)
 __hash__ (self)
 __copy__ (self)

Public Attributes

 query = query
 engineref_list = engineref_list
 lang = lang
typing.Literal[0, 1, 2] safesearch = safesearch
 pageno = pageno
typing.Literal[,,,]|None time_range = time_range
 timeout_limit = timeout_limit
 external_bang = external_bang
 engine_data = engine_data or {}
 redirect_to_first_result = redirect_to_first_result
 locale = None

Detailed Description

container for all the search parameters (query, language, etc...)

Definition at line 28 of file models.py.

Constructor & Destructor Documentation

◆ __init__()

searx.search.models.SearchQuery.__init__ ( self,
str query,
list[EngineRef] engineref_list,
str lang = 'all',
typing.Literal[0, 1, 2] safesearch = 0,
int pageno = 1,
typing.Literal["day", "week", "month", "year"] | None time_range = None,
float | None timeout_limit = None,
str | None external_bang = None,
dict[str, dict[str, str]] | None engine_data = None,
bool | None redirect_to_first_result = None )

Definition at line 31 of file models.py.

43 ): # pylint:disable=too-many-arguments
44 self.query = query
45 self.engineref_list = engineref_list
46 self.lang = lang
47 self.safesearch: typing.Literal[0, 1, 2] = safesearch
48 self.pageno = pageno
49 self.time_range: typing.Literal["day", "week", "month", "year"] | None = time_range
50 self.timeout_limit = timeout_limit
51 self.external_bang = external_bang
52 self.engine_data = engine_data or {}
53 self.redirect_to_first_result = redirect_to_first_result
54
55 self.locale = None
56 if self.lang:
57 try:
58 self.locale = babel.Locale.parse(self.lang, sep='-')
59 except babel.core.UnknownLocaleError:
60 pass
61

Member Function Documentation

◆ __copy__()

searx.search.models.SearchQuery.__copy__ ( self)

Definition at line 107 of file models.py.

107 def __copy__(self):
108 return SearchQuery(
109 self.query,
110 self.engineref_list,
111 self.lang,
112 self.safesearch,
113 self.pageno,
114 self.time_range,
115 self.timeout_limit,
116 self.external_bang,
117 self.engine_data,
118 self.redirect_to_first_result,
119 )

References searx.results.ResultContainer.engine_data, engine_data, engineref_list, searx.query.RawTextQuery.external_bang, external_bang, lang, pageno, searx.query.RawTextQuery.query, query, searx.query.RawTextQuery.redirect_to_first_result, redirect_to_first_result, safesearch, time_range, searx.query.RawTextQuery.timeout_limit, and timeout_limit.

◆ __eq__()

searx.search.models.SearchQuery.__eq__ ( self,
other )

Definition at line 79 of file models.py.

79 def __eq__(self, other):
80 return (
81 self.query == other.query
82 and self.engineref_list == other.engineref_list
83 and self.lang == other.lang
84 and self.safesearch == other.safesearch
85 and self.pageno == other.pageno
86 and self.time_range == other.time_range
87 and self.timeout_limit == other.timeout_limit
88 and self.external_bang == other.external_bang
89 and self.redirect_to_first_result == other.redirect_to_first_result
90 )
91

References engineref_list, searx.query.RawTextQuery.external_bang, external_bang, lang, pageno, searx.query.RawTextQuery.query, query, searx.query.RawTextQuery.redirect_to_first_result, redirect_to_first_result, safesearch, time_range, searx.query.RawTextQuery.timeout_limit, and timeout_limit.

◆ __hash__()

searx.search.models.SearchQuery.__hash__ ( self)

Definition at line 92 of file models.py.

92 def __hash__(self):
93 return hash(
94 (
95 self.query,
96 tuple(self.engineref_list),
97 self.lang,
98 self.safesearch,
99 self.pageno,
100 self.time_range,
101 self.timeout_limit,
102 self.external_bang,
103 self.redirect_to_first_result,
104 )
105 )
106

References engineref_list, searx.query.RawTextQuery.external_bang, external_bang, lang, pageno, searx.query.RawTextQuery.query, query, searx.query.RawTextQuery.redirect_to_first_result, redirect_to_first_result, safesearch, time_range, searx.query.RawTextQuery.timeout_limit, and timeout_limit.

◆ __repr__()

searx.search.models.SearchQuery.__repr__ ( self)

Definition at line 66 of file models.py.

66 def __repr__(self):
67 return "SearchQuery({!r}, {!r}, {!r}, {!r}, {!r}, {!r}, {!r}, {!r}, {!r})".format(
68 self.query,
69 self.engineref_list,
70 self.lang,
71 self.safesearch,
72 self.pageno,
73 self.time_range,
74 self.timeout_limit,
75 self.external_bang,
76 self.redirect_to_first_result,
77 )
78

References engineref_list, searx.query.RawTextQuery.external_bang, external_bang, lang, pageno, searx.query.RawTextQuery.query, query, searx.query.RawTextQuery.redirect_to_first_result, redirect_to_first_result, safesearch, time_range, searx.query.RawTextQuery.timeout_limit, and timeout_limit.

◆ categories()

searx.search.models.SearchQuery.categories ( self)

Definition at line 63 of file models.py.

63 def categories(self):
64 return list(set(map(lambda engineref: engineref.category, self.engineref_list)))
65

References engineref_list.

Member Data Documentation

◆ engine_data

searx.search.models.SearchQuery.engine_data = engine_data or {}

Definition at line 52 of file models.py.

Referenced by __copy__().

◆ engineref_list

searx.search.models.SearchQuery.engineref_list = engineref_list

Definition at line 45 of file models.py.

Referenced by __copy__(), __eq__(), __hash__(), __repr__(), and categories().

◆ external_bang

searx.search.models.SearchQuery.external_bang = external_bang

Definition at line 51 of file models.py.

Referenced by __copy__(), __eq__(), __hash__(), and __repr__().

◆ lang

searx.search.models.SearchQuery.lang = lang

Definition at line 46 of file models.py.

Referenced by __copy__(), __eq__(), __hash__(), and __repr__().

◆ locale

searx.search.models.SearchQuery.locale = None

Definition at line 55 of file models.py.

◆ pageno

searx.search.models.SearchQuery.pageno = pageno

Definition at line 48 of file models.py.

Referenced by __copy__(), __eq__(), __hash__(), and __repr__().

◆ query

searx.search.models.SearchQuery.query = query

Definition at line 44 of file models.py.

Referenced by __copy__(), __eq__(), __hash__(), and __repr__().

◆ redirect_to_first_result

searx.search.models.SearchQuery.redirect_to_first_result = redirect_to_first_result

Definition at line 53 of file models.py.

Referenced by __copy__(), __eq__(), __hash__(), and __repr__().

◆ safesearch

searx.search.models.SearchQuery.safesearch = safesearch

Definition at line 47 of file models.py.

Referenced by __copy__(), __eq__(), __hash__(), and __repr__().

◆ time_range

searx.search.models.SearchQuery.time_range = time_range

Definition at line 49 of file models.py.

Referenced by __copy__(), __eq__(), __hash__(), and __repr__().

◆ timeout_limit

searx.search.models.SearchQuery.timeout_limit = timeout_limit

Definition at line 50 of file models.py.

Referenced by __copy__(), __eq__(), __hash__(), and __repr__().


The documentation for this class was generated from the following file:
  • /home/andrew/Documents/code/public/searxng/searx/search/models.py