X-Git-Url: https://svn.cri.ensmp.fr/git/Plinn.git/blobdiff_plain/c15d698f84d77c34393d33dbe492d44694619010..077c4d9810b96d4b949e77f3daa0180c9d4a8c96:/userlanguages.py?ds=inline

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()