diff --git a/PcfAnnuaire.py b/PcfAnnuaire.py index 8541f67..913c84e 100644 --- a/PcfAnnuaire.py +++ b/PcfAnnuaire.py @@ -11,6 +11,7 @@ from interfaces import IPcfAnnuaire from zope.interface import implements from Products.Archetypes.public import * from Products.CMFCore.utils import getToolByName +from plone.memoize.volatile import cache, DontCache from Acquisition import aq_base schema = BaseSchema @@ -50,6 +51,8 @@ class PcfAnnuaireEntry: class PcfAnnuaireService: pass +def cache_key(method, self): + return hash(self) class PcfAnnuaire(BaseContent): @@ -80,6 +83,7 @@ class PcfAnnuaire(BaseContent): ldap.SCOPE_SUBTREE, 'objectClass=person') return [PcfAnnuaireEntry(*x) for x in result] + @cache(cache_key) def getEntries(self): return [x for x in self.getObjectEntries() if \ x.givenName and x.company == 'Parlement de la Communauté française de Belgique']