fixed the lang.sort fix

This commit is contained in:
age 2007-11-25 09:21:03 +00:00
parent 007137d6a9
commit bacd63be6c
3 changed files with 13 additions and 5 deletions

View file

@ -583,7 +583,7 @@ Details = string(min=1, default="/var/log/cryptobox-server/cryptobox.log")
[WebSettings] [WebSettings]
Stylesheet = string(min=1) Stylesheet = string(min=1)
Languages = list(min=1,default=list("en")) Languages = listOfLanguages(default="en")
[Programs] [Programs]
cryptsetup = fileExecutable(default="/sbin/cryptsetup") cryptsetup = fileExecutable(default="/sbin/cryptsetup")
@ -624,6 +624,7 @@ class CryptoBoxSettingsValidator(validate.Validator):
self.functions["fileExecutable"] = self.check_file_executable self.functions["fileExecutable"] = self.check_file_executable
self.functions["fileWriteable"] = self.check_file_writeable self.functions["fileWriteable"] = self.check_file_writeable
self.functions["listOfExistingDirectories"] = self.check_existing_directories self.functions["listOfExistingDirectories"] = self.check_existing_directories
self.functions["listOfLanguages"] = self.list_languages
def check_directory_exists(self, value): def check_directory_exists(self, value):
@ -682,6 +683,15 @@ class CryptoBoxSettingsValidator(validate.Validator):
result.append(dir_path) result.append(dir_path)
return result return result
def list_languages(self, langs):
"""Return languages as a list.
"""
if not langs:
raise validate.VdtValueError("no language specified")
if not isinstance(langs, list):
langs = [langs]
return langs
class MiscConfigFile: class MiscConfigFile:
"""all other config files (e.g. a ssl certificate) to be stored""" """all other config files (e.g. a ssl certificate) to be stored"""

View file

@ -57,8 +57,7 @@ class WebInterfaceDataset(dict):
for key in self.keys(): for key in self.keys():
if key.startswith("Data.Languages."): if key.startswith("Data.Languages."):
del self[key] del self[key]
langs = [] langs = self.cbox.prefs["WebSettings"]["Languages"][:]
langs.append(self.cbox.prefs["WebSettings"]["Languages"][:])
langs.sort() langs.sort()
for (index, lang) in enumerate(langs): for (index, lang) in enumerate(langs):
try: try:

View file

@ -458,8 +458,7 @@ class WebInterfaceSites:
3. languages defined in the config file 3. languages defined in the config file
""" """
## start with the configured language order ## start with the configured language order
lang_order = [] lang_order = self.cbox.prefs["WebSettings"]["Languages"][:]
lang_order.append(self.cbox.prefs["WebSettings"]["Languages"][:])
self.cbox.log.debug( self.cbox.log.debug(
"updating language preferences (default: %s)" % str(lang_order)) "updating language preferences (default: %s)" % str(lang_order))
## put the preferred browser language in front ## put the preferred browser language in front