[CalendarServer-changes] [490] CalendarServer/branches/users/wsanchez/provisioning/twistedcaldav/ directory/xmlfile.py

source_changes at macosforge.org source_changes at macosforge.org
Thu Nov 16 13:08:33 PST 2006


Revision: 490
          http://trac.macosforge.org/projects/calendarserver/changeset/490
Author:   cdaboo at apple.com
Date:     2006-11-16 13:08:33 -0800 (Thu, 16 Nov 2006)

Log Message:
-----------
Removed some unneededf attributes. Cache the XML data so we don't re-read the file for each query.

Modified Paths:
--------------
    CalendarServer/branches/users/wsanchez/provisioning/twistedcaldav/directory/xmlfile.py

Modified: CalendarServer/branches/users/wsanchez/provisioning/twistedcaldav/directory/xmlfile.py
===================================================================
--- CalendarServer/branches/users/wsanchez/provisioning/twistedcaldav/directory/xmlfile.py	2006-11-16 20:27:24 UTC (rev 489)
+++ CalendarServer/branches/users/wsanchez/provisioning/twistedcaldav/directory/xmlfile.py	2006-11-16 21:08:33 UTC (rev 490)
@@ -45,8 +45,6 @@
 ELEMENT_MEMBERS     = "members"
 ELEMENT_CUADDR      = "cuaddr"
 ELEMENT_CALENDAR    = "calendar"
-ELEMENT_QUOTA       = "quota"
-ELEMENT_AUTORESPOND = "autorespond"
 ELEMENT_CANPROXY    = "canproxy"
 
 ATTRIBUTE_REPEAT    = "repeat"
@@ -65,6 +63,18 @@
         self.xmlFile = xmlFile
         self.items = {}
 
+        # Read in XML
+        fd = open(self.xmlFile.path, "r")
+        doc = xml.dom.minidom.parse( fd )
+        fd.close()
+
+        # Verify that top-level element is correct
+        accounts_node = doc._get_documentElement()
+        if accounts_node._get_localName() != ELEMENT_ACCOUNTS:
+            self.log("Ignoring file %r because it is not a repository builder file" % (self.xmlFile,))
+            return
+        self._parseXML(accounts_node)
+
     def recordTypes(self):
         recordTypes = ("user", "group", "resource")
         return recordTypes
@@ -89,30 +99,15 @@
         raise NotImplementedError()
 
     def _entriesForRecordType(self, recordType):
-        # Read in XML
-        fd = open(self.xmlFile.path, "r")
-        doc = xml.dom.minidom.parse( fd )
-        fd.close()
-
-        # Verify that top-level element is correct
-        accounts_node = doc._get_documentElement()
-        if accounts_node._get_localName() != ELEMENT_ACCOUNTS:
-            self.log("Ignoring file %r because it is not a repository builder file" % (self.xmlFile,))
-            return
-        self._parseXML(accounts_node)
-        
         for entry in self.items.itervalues():
             if entry.recordType == recordType:
                  yield entry.uid, entry
-             
-        self.items = {}
 
     def _parseXML(self, node):
         """
         Parse the XML root node from the accounts configuration document.
         @param node: the L{Node} to parse.
         """
-        self.items = {}
         for child in node._get_childNodes():
             if child._get_localName() in (ELEMENT_USER, ELEMENT_GROUP, ELEMENT_RESOURCE):
                 if child.hasAttribute( ATTRIBUTE_REPEAT ):
@@ -161,8 +156,6 @@
         self.groups = []
         self.cuaddrs = []
         self.calendars = []
-        self.quota = None
-        self.autorespond = None
 
     def repeat(self, ctr):
         """
@@ -197,8 +190,6 @@
         result.members = self.members
         result.cuaddrs = cuaddrs
         result.calendars = self.calendars
-        result.quota = self.quota
-        result.autorespond = self.autorespond
         return result
 
     def parseXML( self, node ):
@@ -221,11 +212,6 @@
             elif child._get_localName() == ELEMENT_CALENDAR:
                 if child.firstChild is not None:
                    self.calendars.append(child.firstChild.data.encode("utf-8"))
-            elif child._get_localName() == ELEMENT_QUOTA:
-                if child.firstChild is not None:
-                   self.quota = int(child.firstChild.data.encode("utf-8"))
-            elif child._get_localName() == ELEMENT_AUTORESPOND:
-                self.autorespond = True
             elif child._get_localName() == ELEMENT_CANPROXY:
                 CalDAVResource.proxyUsers.add(self.uid)
 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20061116/a3393a6f/attachment.html


More information about the calendarserver-changes mailing list