X-Git-Url: https://svn.cri.ensmp.fr/git/Plinn.git/blobdiff_plain/c15d698f84d77c34393d33dbe492d44694619010..a8b15d47c663e72be4c3102486c7b7fdca467901:/userlanguages.py?ds=sidebyside diff --git a/userlanguages.py b/userlanguages.py index 8103d15..d108c40 100644 --- a/userlanguages.py +++ b/userlanguages.py @@ -1,14 +1,18 @@ # -*- coding: utf-8 -*- from zope.publisher.browser import BrowserLanguages from Products.CMFCore.utils import getUtilityByInterfaceName +from zope.component.interfaces import ComponentLookupError class AuthenticatedUserLanguages(BrowserLanguages): def getPreferredLanguages(self) : - mtool = getUtilityByInterfaceName('Products.CMFCore.interfaces.IMembershipTool') + try : + mtool = getUtilityByInterfaceName('Products.CMFCore.interfaces.IMembershipTool') + except ComponentLookupError : + return super(AuthenticatedUserLanguages, self).getPreferredLanguages() if mtool.isAnonymousUser() : return super(AuthenticatedUserLanguages, self).getPreferredLanguages() else : m = mtool.getAuthenticatedMember() - userLangs = m.getProperty('preferred_languages', []) + userLangs = m.getProperty('preferred_languages', [])[:] return userLangs or super(AuthenticatedUserLanguages, self).getPreferredLanguages()