.oO SearXNG Developer Documentation Oo.
Loading...
Searching...
No Matches
searx.preferences.BooleanChoices Class Reference
Inheritance diagram for searx.preferences.BooleanChoices:

Public Member Functions

 __init__ (self, str name, dict[str, bool] choices, bool locked=False)
 transform_form_items (self, items)
 transform_values (self, values)
 parse_cookie (self, str data_disabled, str data_enabled)
 parse_form (self, list[str] items)
 enabled (self)
 disabled (self)
 save (self, flask.Response resp)
 get_disabled (self)
 get_enabled (self)

Public Attributes

str name = name
dict[str, bool] choices = choices
bool locked = locked
dict[str, bool] default_choices = dict(choices)
 disabled
 enabled

Detailed Description

Maps strings to booleans that are either true or false.

Definition at line 250 of file preferences.py.

Constructor & Destructor Documentation

◆ __init__()

searx.preferences.BooleanChoices.__init__ ( self,
str name,
dict[str, bool] choices,
bool locked = False )

Definition at line 253 of file preferences.py.

253 def __init__(self, name: str, choices: dict[str, bool], locked: bool = False):
254 self.name: str = name
255 self.choices: dict[str, bool] = choices
256 self.locked: bool = locked
257 self.default_choices: dict[str, bool] = dict(choices)
258

Member Function Documentation

◆ disabled()

searx.preferences.BooleanChoices.disabled ( self)

Definition at line 287 of file preferences.py.

287 def disabled(self):
288 return (k for k, v in self.choices.items() if not v)
289

References choices, searx.preferences.EnumStringSetting.choices, searx.preferences.MultipleChoiceSetting.choices, and searx.preferences.SearchLanguageSetting.choices.

◆ enabled()

searx.preferences.BooleanChoices.enabled ( self)

Definition at line 283 of file preferences.py.

283 def enabled(self):
284 return (k for k, v in self.choices.items() if v)
285

References choices, searx.preferences.EnumStringSetting.choices, searx.preferences.MultipleChoiceSetting.choices, and searx.preferences.SearchLanguageSetting.choices.

◆ get_disabled()

searx.preferences.BooleanChoices.get_disabled ( self)

Definition at line 297 of file preferences.py.

297 def get_disabled(self):
298 return self.transform_values(list(self.disabled))
299

◆ get_enabled()

searx.preferences.BooleanChoices.get_enabled ( self)

Definition at line 300 of file preferences.py.

300 def get_enabled(self):
301 return self.transform_values(list(self.enabled))
302
303

◆ parse_cookie()

searx.preferences.BooleanChoices.parse_cookie ( self,
str data_disabled,
str data_enabled )

Definition at line 265 of file preferences.py.

265 def parse_cookie(self, data_disabled: str, data_enabled: str):
266 for disabled in data_disabled.split(','):
267 if disabled in self.choices:
268 self.choices[disabled] = False
269
270 for enabled in data_enabled.split(','):
271 if enabled in self.choices:
272 self.choices[enabled] = True
273

References choices, searx.preferences.EnumStringSetting.choices, searx.preferences.MultipleChoiceSetting.choices, and searx.preferences.SearchLanguageSetting.choices.

◆ parse_form()

searx.preferences.BooleanChoices.parse_form ( self,
list[str] items )

Definition at line 274 of file preferences.py.

274 def parse_form(self, items: list[str]):
275 if self.locked:
276 return
277
278 disabled = self.transform_form_items(items)
279 for setting in self.choices:
280 self.choices[setting] = setting not in disabled
281

References choices, searx.preferences.EnumStringSetting.choices, searx.preferences.MultipleChoiceSetting.choices, searx.preferences.SearchLanguageSetting.choices, locked, searx.preferences.MultipleChoiceSetting.locked, searx.preferences.SetSetting.locked, searx.preferences.Setting.locked, and transform_form_items().

Here is the call graph for this function:

◆ save()

searx.preferences.BooleanChoices.save ( self,
flask.Response resp )
Save cookie in the HTTP response object

Definition at line 290 of file preferences.py.

290 def save(self, resp: flask.Response):
291 """Save cookie in the HTTP response object"""
292 disabled_changed = (k for k in self.disabled if self.default_choices[k])
293 enabled_changed = (k for k in self.enabled if not self.default_choices[k])
294 resp.set_cookie('disabled_{0}'.format(self.name), ','.join(disabled_changed), max_age=COOKIE_MAX_AGE)
295 resp.set_cookie('enabled_{0}'.format(self.name), ','.join(enabled_changed), max_age=COOKIE_MAX_AGE)
296

References default_choices, disabled, enabled, searx.engines.wikidata.WDAmountAttribute.name, searx.engines.wikidata.WDAttribute.name, searx.engines.wikidata.WDDateAttribute.name, searx.engines.wikidata.WDGeoAttribute.name, searx.engines.wikidata.WDLabelAttribute.name, and name.

◆ transform_form_items()

searx.preferences.BooleanChoices.transform_form_items ( self,
items )

Reimplemented in searx.preferences.EnginesSetting, and searx.preferences.PluginsSetting.

Definition at line 259 of file preferences.py.

259 def transform_form_items(self, items):
260 return items
261

Referenced by parse_form().

Here is the caller graph for this function:

◆ transform_values()

searx.preferences.BooleanChoices.transform_values ( self,
values )

Reimplemented in searx.preferences.EnginesSetting.

Definition at line 262 of file preferences.py.

262 def transform_values(self, values):
263 return values
264

Member Data Documentation

◆ choices

dict[str, bool] searx.preferences.BooleanChoices.choices = choices

Definition at line 255 of file preferences.py.

Referenced by disabled(), enabled(), parse_cookie(), and parse_form().

◆ default_choices

dict[str, bool] searx.preferences.BooleanChoices.default_choices = dict(choices)

Definition at line 257 of file preferences.py.

Referenced by save().

◆ disabled

searx.preferences.BooleanChoices.disabled

Definition at line 298 of file preferences.py.

Referenced by save().

◆ enabled

searx.preferences.BooleanChoices.enabled

Definition at line 301 of file preferences.py.

Referenced by save().

◆ locked

bool searx.preferences.BooleanChoices.locked = locked

Definition at line 256 of file preferences.py.

Referenced by parse_form().

◆ name


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