[CalendarServer-changes] [2425] CalendarServer/trunk/twistedcaldav/directory/principal.py

source_changes at macosforge.org source_changes at macosforge.org
Thu May 15 10:50:32 PDT 2008


Revision: 2425
          http://trac.macosforge.org/projects/calendarserver/changeset/2425
Author:   dreid at apple.com
Date:     2008-05-15 10:50:27 -0700 (Thu, 15 May 2008)

Log Message:
-----------
Do not provision these resources that are held in memory forever on every request.

Modified Paths:
--------------
    CalendarServer/trunk/twistedcaldav/directory/principal.py

Modified: CalendarServer/trunk/twistedcaldav/directory/principal.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/directory/principal.py	2008-05-15 17:31:55 UTC (rev 2424)
+++ CalendarServer/trunk/twistedcaldav/directory/principal.py	2008-05-15 17:50:27 UTC (rev 2425)
@@ -117,6 +117,8 @@
         # FIXME: Smells like a hack
         self.directory.principalCollection = self
 
+        self._provisioned = False
+
         #
         # Create children
         #
@@ -203,7 +205,10 @@
         raise HTTPError(responsecode.NOT_FOUND)
 
     def getChild(self, name):
-        self.provision()
+        if not self._provisioned:
+            self.provision()
+            self._provisioned = True
+
         if name == "":
             return self
         else:
@@ -291,6 +296,7 @@
         )
 
         self.parent = parent
+        self._provisioned = False
 
     def principalForUID(self, uid):
         return self.parent.principalForUID(uid)
@@ -307,7 +313,10 @@
         raise HTTPError(responsecode.NOT_FOUND)
 
     def getChild(self, name):
-        self.provision()
+        if not self._provisioned:
+            self.provision()
+            self._provisioned = True
+
         if name == "":
             return self
 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20080515/6452431c/attachment-0001.htm 


More information about the calendarserver-changes mailing list