X-Git-Url: https://scm.cri.minesparis.psl.eu/git/Plinn.git/blobdiff_plain/c15d698f84d77c34393d33dbe492d44694619010..feb12ae288263dbeb490147bbcd4e0a6d134da5f:/userlanguages.py

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