[Erp5-report] r24121 - /erp5/trunk/products/ERP5Wizard/Tool/WizardTool.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Thu Oct 9 14:49:54 CEST 2008
Author: yusei
Date: Thu Oct 9 14:49:43 2008
New Revision: 24121
URL: http://svn.erp5.org?rev=24121&view=rev
Log:
Handle HTTP_ACCEPT_LANGUAGE correctly.
Modified:
erp5/trunk/products/ERP5Wizard/Tool/WizardTool.py
Modified: erp5/trunk/products/ERP5Wizard/Tool/WizardTool.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Wizard/Tool/WizardTool.py?rev=24121&r1=24120&r2=24121&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Wizard/Tool/WizardTool.py (original)
+++ erp5/trunk/products/ERP5Wizard/Tool/WizardTool.py Thu Oct 9 14:49:43 2008
@@ -56,6 +56,16 @@
# cookie name to store user's preferred language name
LANGUAGE_COOKIE_NAME = 'configurator_user_preferred_language'
+
+def getAvailableLanguageFromHttpAcceptLanguage(http_accept_language,
+ available_language_list,
+ default='en'):
+ for language_set in http_accept_language.split(','):
+ language_tag = language_set.split(';')[0]
+ language = language_tag.split('-')[0]
+ if language in available_language_list:
+ return language
+ return default
def _isUserAcknowledged(cookiejar):
""" Is user authenticated to remote system through a cookie. """
@@ -445,19 +455,14 @@
if configurator_user_preferred_language is None:
# Find a preferred language from HTTP_ACCEPT_LANGUAGE
- accept_language = REQUEST.get('HTTP_ACCEPT_LANGUAGE', 'en')
- accept_language_tag = accept_language.split(';')[0].split(',')[0]
- primary_language = accept_language_tag.split('-')[0]
-
- configuration_language_list = [language_set[1]
- for language_set in self.WizardTool_getConfigurationLanguageList()]
-
- if primary_language in configuration_language_list:
- configurator_user_preferred_language = primary_language
+ available_language_list = [i[1] for i in self.WizardTool_getConfigurationLanguageList()]
+ configurator_user_preferred_language = getAvailableLanguageFromHttpAcceptLanguage(
+ REQUEST.get('HTTP_ACCEPT_LANGUAGE', 'en'),
+ available_language_list)
if configurator_user_preferred_language is None:
configurator_user_preferred_language = 'en'
-
+
parameter_dict['user_preferred_language'] = configurator_user_preferred_language
def _updateParameterDictWithFileUpload(self, parameter_dict):
More information about the Erp5-report
mailing list