mirror of
				https://github.com/searxng/searxng.git
				synced 2025-10-25 15:52:31 -04:00 
			
		
		
		
	Merge pull request #764 from kvch/set-search-language-from-settings-yml
set search language from settings.yml
This commit is contained in:
		
						commit
						028e5b43d4
					
				| @ -49,28 +49,32 @@ class StringSetting(Setting): | ||||
| class EnumStringSetting(Setting): | ||||
|     """Setting of a value which can only come from the given choices""" | ||||
| 
 | ||||
|     def _validate_selection(self, selection): | ||||
|         if selection not in self.choices: | ||||
|             raise ValidationException('Invalid value: "{0}"'.format(selection)) | ||||
| 
 | ||||
|     def _post_init(self): | ||||
|         if not hasattr(self, 'choices'): | ||||
|             raise MissingArgumentException('Missing argument: choices') | ||||
| 
 | ||||
|         if self.value != '' and self.value not in self.choices: | ||||
|             raise ValidationException('Invalid default value: {0}'.format(self.value)) | ||||
|         self._validate_selection(self.value) | ||||
| 
 | ||||
|     def parse(self, data): | ||||
|         if data not in self.choices and data != self.value: | ||||
|             raise ValidationException('Invalid choice: {0}'.format(data)) | ||||
|         self._validate_selection(data) | ||||
|         self.value = data | ||||
| 
 | ||||
| 
 | ||||
| class MultipleChoiceSetting(EnumStringSetting): | ||||
|     """Setting of values which can only come from the given choices""" | ||||
| 
 | ||||
|     def _validate_selections(self, selections): | ||||
|         for item in selections: | ||||
|             if item not in self.choices: | ||||
|                 raise ValidationException('Invalid value: "{0}"'.format(selections)) | ||||
| 
 | ||||
|     def _post_init(self): | ||||
|         if not hasattr(self, 'choices'): | ||||
|             raise MissingArgumentException('Missing argument: choices') | ||||
|         for item in self.value: | ||||
|             if item not in self.choices: | ||||
|                 raise ValidationException('Invalid default value: {0}'.format(self.value)) | ||||
|         self._validate_selections(self.value) | ||||
| 
 | ||||
|     def parse(self, data): | ||||
|         if data == '': | ||||
| @ -78,9 +82,7 @@ class MultipleChoiceSetting(EnumStringSetting): | ||||
|             return | ||||
| 
 | ||||
|         elements = data.split(',') | ||||
|         for item in elements: | ||||
|             if item not in self.choices: | ||||
|                 raise ValidationException('Invalid choice: {0}'.format(item)) | ||||
|         self._validate_selections(elements) | ||||
|         self.value = elements | ||||
| 
 | ||||
|     def parse_form(self, data): | ||||
| @ -214,9 +216,10 @@ class Preferences(object): | ||||
|         super(Preferences, self).__init__() | ||||
| 
 | ||||
|         self.key_value_settings = {'categories': MultipleChoiceSetting(['general'], choices=categories), | ||||
|                                    'language': EnumStringSetting('all', choices=LANGUAGE_CODES), | ||||
|                                    'language': EnumStringSetting(settings['search']['language'], | ||||
|                                                                  choices=LANGUAGE_CODES), | ||||
|                                    'locale': EnumStringSetting(settings['ui']['default_locale'], | ||||
|                                                                choices=settings['locales'].keys()), | ||||
|                                                                choices=settings['locales'].keys() + ['']), | ||||
|                                    'autocomplete': EnumStringSetting(settings['search']['autocomplete'], | ||||
|                                                                      choices=autocomplete.backends.keys() + ['']), | ||||
|                                    'image_proxy': MapSetting(settings['server']['image_proxy'], | ||||
|  | ||||
| @ -5,6 +5,7 @@ general: | ||||
| search: | ||||
|     safe_search : 0 # Filter results. 0: None, 1: Moderate, 2: Strict | ||||
|     autocomplete : "" # Existing autocomplete backends: "dbpedia", "duckduckgo", "google", "startpage", "wikipedia" - leave blank to turn it off by default | ||||
|     language : "all" | ||||
| 
 | ||||
| server: | ||||
|     port : 8888 | ||||
|  | ||||
| @ -5,6 +5,7 @@ general: | ||||
| search: | ||||
|     safe_search : 0 | ||||
|     autocomplete : "" | ||||
|     language: "all" | ||||
| 
 | ||||
| server: | ||||
|     port : 11111 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user