[CalendarServer-changes] [3318] CalDAVTester/trunk

source_changes at macosforge.org source_changes at macosforge.org
Tue Nov 4 11:52:26 PST 2008


Revision: 3318
          http://trac.macosforge.org/projects/calendarserver/changeset/3318
Author:   cdaboo at apple.com
Date:     2008-11-04 11:52:26 -0800 (Tue, 04 Nov 2008)
Log Message:
-----------
Allow multiple header and property values to be grabbed.

Modified Paths:
--------------
    CalDAVTester/trunk/scripts/tests/caldavtest.dtd
    CalDAVTester/trunk/src/caldavtest.py
    CalDAVTester/trunk/src/request.py

Modified: CalDAVTester/trunk/scripts/tests/caldavtest.dtd
===================================================================
--- CalDAVTester/trunk/scripts/tests/caldavtest.dtd	2008-11-04 17:33:55 UTC (rev 3317)
+++ CalDAVTester/trunk/scripts/tests/caldavtest.dtd	2008-11-04 19:52:26 UTC (rev 3318)
@@ -22,7 +22,7 @@
 	<!ELEMENT start (request*)>
 	<!ELEMENT end (request*)>
 
-	<!ELEMENT request (method, header*, ruri*, data?, verify*, grabheader?, grabproperty?)>
+	<!ELEMENT request (method, header*, ruri*, data?, verify*, grabheader*, grabproperty*)>
 		<!ATTLIST request auth (yes|no) "yes"
 						 user CDATA ""
 						 pswd CDATA ""

Modified: CalDAVTester/trunk/src/caldavtest.py
===================================================================
--- CalDAVTester/trunk/src/caldavtest.py	2008-11-04 17:33:55 UTC (rev 3317)
+++ CalDAVTester/trunk/src/caldavtest.py	2008-11-04 19:52:26 UTC (rev 3318)
@@ -480,19 +480,24 @@
             resulttxt += "\n--------END:RESPONSE--------\n"
         
         if req.grabheader:
-            hdrs = response.msg.getheaders(req.grabheader[0])
-            if hdrs:
-                self.manager.server_info.addextrasubs({req.grabheader[1]: hdrs[0].encode("utf-8")})
+            for hdrname, variable in req.grabheader:
+                hdrs = response.msg.getheaders(hdrname)
+                if hdrs:
+                    self.manager.server_info.addextrasubs({variable: hdrs[0].encode("utf-8")})
+                else:
+                    result = False
+                    resulttxt += "\nHeader %s was not extracted from response\n" % (hdrname,)
 
         if req.grabproperty:
             if response.status == 207:
-                # grab the property here
-                propvalue = self.extractProperty(req.grabproperty[0], respdata)
-                if propvalue == None:
-                    result = False
-                    resulttxt += "\nProperty %s was not extracted from multistatus response\n" % (req.grabproperty[0],)
-                else:
-                    self.manager.server_info.addextrasubs({req.grabproperty[1]: propvalue.encode("utf-8")})
+                for propname, variable in req.grabproperty:
+                    # grab the property here
+                    propvalue = self.extractProperty(propname, respdata)
+                    if propvalue == None:
+                        result = False
+                        resulttxt += "\nProperty %s was not extracted from multistatus response\n" % (propname,)
+                    else:
+                        self.manager.server_info.addextrasubs({variable: propvalue.encode("utf-8")})
 
         return result, resulttxt, response, respdata
 

Modified: CalDAVTester/trunk/src/request.py
===================================================================
--- CalDAVTester/trunk/src/request.py	2008-11-04 17:33:55 UTC (rev 3317)
+++ CalDAVTester/trunk/src/request.py	2008-11-04 19:52:26 UTC (rev 3318)
@@ -144,8 +144,8 @@
         self.data = None
         self.datasubs = True
         self.verifiers = []
-        self.grabheader = None
-        self.grabproperty = None
+        self.grabheader = []
+        self.grabproperty = []
     
     def __str__(self):
         return "Method: %s; uris: %s" % (self.method, self.ruris if len(self.ruris) > 1 else self.ruri,)
@@ -331,7 +331,7 @@
                 variable = self.manager.server_info.subs(child.firstChild.data.encode("utf-8"))
         
         if (header is not None) and (variable is not None):
-            self.grabheader = (header, variable)
+            self.grabheader.append((header, variable))
 
     def parseGrabProperty(self, node):
         
@@ -344,7 +344,7 @@
                 variable = self.manager.server_info.subs(child.firstChild.data.encode("utf-8"))
         
         if (property is not None) and (variable is not None):
-            self.grabproperty = (property, variable)
+            self.grabproperty.append((property, variable))
             
 class data( object ):
     """
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20081104/384e2871/attachment.html>


More information about the calendarserver-changes mailing list