.oO SearXNG Developer Documentation Oo.
Loading...
Searching...
No Matches
searx.query.ExternalBangParser Class Reference
+ Inheritance diagram for searx.query.ExternalBangParser:
+ Collaboration diagram for searx.query.ExternalBangParser:

Public Member Functions

 __call__ (self, raw_value)
 
- Public Member Functions inherited from searx.query.QueryPartParser
 __init__ (self, raw_text_query, enable_autocomplete)
 

Static Public Member Functions

 check (raw_value)
 

Protected Member Functions

 _parse (self, value)
 
 _autocomplete (self, bang_ac_list)
 
- Protected Member Functions inherited from searx.query.QueryPartParser
 _add_autocomplete (self, value)
 

Additional Inherited Members

- Public Attributes inherited from searx.query.QueryPartParser
 raw_text_query
 
 enable_autocomplete
 

Detailed Description

Definition at line 151 of file query.py.

Member Function Documentation

◆ __call__()

searx.query.ExternalBangParser.__call__ ( self,
raw_value )
Try to parse raw_value: set the self.raw_text_query properties

return True if raw_value has been parsed

self.raw_text_query.autocomplete_list is also modified
if self.enable_autocomplete is True

Reimplemented from searx.query.QueryPartParser.

Definition at line 156 of file query.py.

156 def __call__(self, raw_value):
157 value = raw_value[2:]
158 found, bang_ac_list = self._parse(value) if len(value) > 0 else (False, [])
159 if self.enable_autocomplete:
160 self._autocomplete(bang_ac_list)
161 return found
162

References searx.query.TimeoutParser._autocomplete(), searx.query.ExternalBangParser._autocomplete(), searx.query.BangParser._autocomplete(), searx.query.LanguageParser._autocomplete(), searx.query.TimeoutParser._parse(), searx.query.LanguageParser._parse(), searx.query.ExternalBangParser._parse(), searx.query.BangParser._parse(), and searx.query.QueryPartParser.enable_autocomplete.

+ Here is the call graph for this function:

◆ _autocomplete()

searx.query.ExternalBangParser._autocomplete ( self,
bang_ac_list )
protected

Definition at line 171 of file query.py.

171 def _autocomplete(self, bang_ac_list):
172 if not bang_ac_list:
173 bang_ac_list = ['g', 'ddg', 'bing']
174 for external_bang in bang_ac_list:
175 self._add_autocomplete('!!' + external_bang)
176
177

References searx.query.QueryPartParser._add_autocomplete().

Referenced by searx.query.TimeoutParser.__call__(), searx.query.LanguageParser.__call__(), searx.query.ExternalBangParser.__call__(), and searx.query.BangParser.__call__().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ _parse()

searx.query.ExternalBangParser._parse ( self,
value )
protected

Definition at line 163 of file query.py.

163 def _parse(self, value):
164 found = False
165 bang_definition, bang_ac_list = get_bang_definition_and_autocomplete(value)
166 if bang_definition is not None:
167 self.raw_text_query.external_bang = value
168 found = True
169 return found, bang_ac_list
170

References searx.query.QueryPartParser.raw_text_query.

Referenced by searx.query.TimeoutParser.__call__(), searx.query.LanguageParser.__call__(), searx.query.ExternalBangParser.__call__(), and searx.query.BangParser.__call__().

+ Here is the caller graph for this function:

◆ check()

searx.query.ExternalBangParser.check ( raw_value)
static
Check if raw_value can be parsed

Reimplemented from searx.query.QueryPartParser.

Definition at line 153 of file query.py.

153 def check(raw_value):
154 return raw_value.startswith('!!') and len(raw_value) > 2
155

The documentation for this class was generated from the following file: