Cache LDAP queries
This commit is contained in:
parent
134d04dc80
commit
627ed9c9de
|
@ -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']
|
||||
|
|
Reference in New Issue