[CalendarServer-changes] [15157] CalDAVTester/trunk
source_changes at macosforge.org
source_changes at macosforge.org
Tue Sep 29 04:45:27 PDT 2015
Revision: 15157
http://trac.calendarserver.org//changeset/15157
Author: cdaboo at apple.com
Date: 2015-09-29 04:45:27 -0700 (Tue, 29 Sep 2015)
Log Message:
-----------
Allow defaults for filtering of calendar and address data.
Modified Paths:
--------------
CalDAVTester/trunk/scripts/server/serverinfo-pod.xml
CalDAVTester/trunk/scripts/server/serverinfo-template.xml
CalDAVTester/trunk/scripts/server/serverinfo.dtd
CalDAVTester/trunk/scripts/server/serverinfo.xml
CalDAVTester/trunk/src/serverinfo.py
CalDAVTester/trunk/src/xmlDefs.py
CalDAVTester/trunk/verifiers/addressDataMatch.py
CalDAVTester/trunk/verifiers/calendarDataMatch.py
Modified: CalDAVTester/trunk/scripts/server/serverinfo-pod.xml
===================================================================
--- CalDAVTester/trunk/scripts/server/serverinfo-pod.xml 2015-09-29 08:27:20 UTC (rev 15156)
+++ CalDAVTester/trunk/scripts/server/serverinfo-pod.xml 2015-09-29 11:45:27 UTC (rev 15157)
@@ -720,4 +720,21 @@
</repeat>
</substitutions>
+
+ <calendardatafilter>ATTENDEE:X-CALENDARSERVER-DTSTAMP</calendardatafilter>
+ <calendardatafilter>ATTENDEE:X-CALENDARSERVER-AUTO</calendardatafilter>
+ <calendardatafilter>ATTENDEE:X-CALENDARSERVER-RESET-PARTSTAT</calendardatafilter>
+ <calendardatafilter>CALSCALE</calendardatafilter>
+ <calendardatafilter>PRODID</calendardatafilter>
+ <calendardatafilter>DTSTAMP</calendardatafilter>
+ <calendardatafilter>CREATED</calendardatafilter>
+ <calendardatafilter>LAST-MODIFIED</calendardatafilter>
+ <calendardatafilter>X-WR-CALNAME</calendardatafilter>
+ <calendardatafilter>CLASS=PUBLIC</calendardatafilter>
+ <calendardatafilter>PRIORITY=0</calendardatafilter>
+ <calendardatafilter>TRANSP=OPAQUE</calendardatafilter>
+ <calendardatafilter>SEQUENCE=0</calendardatafilter>
+
+ <addressdatafilter>PRODID</addressdatafilter>
+ <addressdatafilter>REV</addressdatafilter>
</serverinfo>
Modified: CalDAVTester/trunk/scripts/server/serverinfo-template.xml
===================================================================
--- CalDAVTester/trunk/scripts/server/serverinfo-template.xml 2015-09-29 08:27:20 UTC (rev 15156)
+++ CalDAVTester/trunk/scripts/server/serverinfo-template.xml 2015-09-29 11:45:27 UTC (rev 15157)
@@ -853,4 +853,21 @@
{overrides}
</substitutions>
+
+ <calendardatafilter>ATTENDEE:X-CALENDARSERVER-DTSTAMP</calendardatafilter>
+ <calendardatafilter>ATTENDEE:X-CALENDARSERVER-AUTO</calendardatafilter>
+ <calendardatafilter>ATTENDEE:X-CALENDARSERVER-RESET-PARTSTAT</calendardatafilter>
+ <calendardatafilter>CALSCALE</calendardatafilter>
+ <calendardatafilter>PRODID</calendardatafilter>
+ <calendardatafilter>DTSTAMP</calendardatafilter>
+ <calendardatafilter>CREATED</calendardatafilter>
+ <calendardatafilter>LAST-MODIFIED</calendardatafilter>
+ <calendardatafilter>X-WR-CALNAME</calendardatafilter>
+ <calendardatafilter>CLASS=PUBLIC</calendardatafilter>
+ <calendardatafilter>PRIORITY=0</calendardatafilter>
+ <calendardatafilter>TRANSP=OPAQUE</calendardatafilter>
+ <calendardatafilter>SEQUENCE=0</calendardatafilter>
+
+ <addressdatafilter>PRODID</addressdatafilter>
+ <addressdatafilter>REV</addressdatafilter>
</serverinfo>
Modified: CalDAVTester/trunk/scripts/server/serverinfo.dtd
===================================================================
--- CalDAVTester/trunk/scripts/server/serverinfo.dtd 2015-09-29 08:27:20 UTC (rev 15156)
+++ CalDAVTester/trunk/scripts/server/serverinfo.dtd 2015-09-29 11:45:27 UTC (rev 15157)
@@ -17,7 +17,8 @@
<!ELEMENT serverinfo (host, nonsslport, sslport, unix?,
host2?, nonsslport2?, sslport2?, unix2?,
authtype?, waitcount?, waitdelay?, waitsuccess?,
- features?, substitutions)? >
+ features?, substitutions,
+ calendardatafilter*, addressdatafilter*)? >
<!ELEMENT host (#PCDATA)>
<!ELEMENT nonsslport (#PCDATA)>
@@ -39,4 +40,6 @@
<!ELEMENT substitution (key, value)>
<!ELEMENT key (#PCDATA)>
<!ELEMENT value (#PCDATA)>
+ <!ELEMENT calendardatafilter (#PCDATA)>
+ <!ELEMENT addressdatafilter (#PCDATA)>
Modified: CalDAVTester/trunk/scripts/server/serverinfo.xml
===================================================================
--- CalDAVTester/trunk/scripts/server/serverinfo.xml 2015-09-29 08:27:20 UTC (rev 15156)
+++ CalDAVTester/trunk/scripts/server/serverinfo.xml 2015-09-29 11:45:27 UTC (rev 15157)
@@ -852,4 +852,21 @@
</substitution>
</substitutions>
+
+ <calendardatafilter>ATTENDEE:X-CALENDARSERVER-DTSTAMP</calendardatafilter>
+ <calendardatafilter>ATTENDEE:X-CALENDARSERVER-AUTO</calendardatafilter>
+ <calendardatafilter>ATTENDEE:X-CALENDARSERVER-RESET-PARTSTAT</calendardatafilter>
+ <calendardatafilter>CALSCALE</calendardatafilter>
+ <calendardatafilter>PRODID</calendardatafilter>
+ <calendardatafilter>DTSTAMP</calendardatafilter>
+ <calendardatafilter>CREATED</calendardatafilter>
+ <calendardatafilter>LAST-MODIFIED</calendardatafilter>
+ <calendardatafilter>X-WR-CALNAME</calendardatafilter>
+ <calendardatafilter>CLASS=PUBLIC</calendardatafilter>
+ <calendardatafilter>PRIORITY=0</calendardatafilter>
+ <calendardatafilter>TRANSP=OPAQUE</calendardatafilter>
+ <calendardatafilter>SEQUENCE=0</calendardatafilter>
+
+ <addressdatafilter>PRODID</addressdatafilter>
+ <addressdatafilter>REV</addressdatafilter>
</serverinfo>
Modified: CalDAVTester/trunk/src/serverinfo.py
===================================================================
--- CalDAVTester/trunk/src/serverinfo.py 2015-09-29 08:27:20 UTC (rev 15156)
+++ CalDAVTester/trunk/src/serverinfo.py 2015-09-29 11:45:27 UTC (rev 15157)
@@ -50,6 +50,8 @@
self.waitsuccess = 10
self.subsdict = {}
self.extrasubsdict = {}
+ self.calendardatafilters = []
+ self.addressdatafilters = []
# dtnow needs to be fixed to a single date at the start of the tests just in case the tests
# run over a day boundary.
@@ -193,6 +195,10 @@
self.parseFeatures(child)
elif child.tag == src.xmlDefs.ELEMENT_SUBSTITUTIONS:
self.parseSubstitutionsXML(child)
+ elif child.tag == src.xmlDefs.ELEMENT_CALENDARDATAFILTER:
+ self.calendardatafilters.append(child.text.encode("utf-8"))
+ elif child.tag == src.xmlDefs.ELEMENT_ADDRESSDATAFILTER:
+ self.addressdatafilters.append(child.text.encode("utf-8"))
self.updateParams()
Modified: CalDAVTester/trunk/src/xmlDefs.py
===================================================================
--- CalDAVTester/trunk/src/xmlDefs.py 2015-09-29 08:27:20 UTC (rev 15156)
+++ CalDAVTester/trunk/src/xmlDefs.py 2015-09-29 11:45:27 UTC (rev 15157)
@@ -16,10 +16,12 @@
# XML Elements/Attributes
+ELEMENT_ADDRESSDATAFILTER = "addressdatafilter"
ELEMENT_ARG = "arg"
ELEMENT_AUTHTYPE = "authtype"
ELEMENT_BODY = "body"
ELEMENT_CALDAVTEST = "caldavtest"
+ELEMENT_CALENDARDATAFILTER = "calendardatafilter"
ELEMENT_CALLBACK = "callback"
ELEMENT_CLIENTS = "clients"
ELEMENT_CONTENTTYPE = "content-type"
Modified: CalDAVTester/trunk/verifiers/addressDataMatch.py
===================================================================
--- CalDAVTester/trunk/verifiers/addressDataMatch.py 2015-09-29 08:27:20 UTC (rev 15156)
+++ CalDAVTester/trunk/verifiers/addressDataMatch.py 2015-09-29 11:45:27 UTC (rev 15157)
@@ -33,8 +33,7 @@
filters = args.get("filter", [])
# Always remove these
- filters.append("PRODID")
- filters.append("REV")
+ filters.extend(manager.server_info.addressdatafilters)
# status code must be 200, 201, 207
if response.status not in (200, 201, 207):
@@ -79,8 +78,13 @@
if property.hasParameter(parameter):
property.removeParameters(parameter)
else:
- if property.getName() == filter:
- component.removeProperty(property)
+ if "=" in filter:
+ filter_name, filter_value = filter.split("=")
+ if property.getName() == filter_name and property.getValue().getValue() == filter_value:
+ component.removeProperty(property)
+ else:
+ if property.getName() == filter:
+ component.removeProperty(property)
try:
format = Card.sFormatJSON if is_json else Card.sFormatText
Modified: CalDAVTester/trunk/verifiers/calendarDataMatch.py
===================================================================
--- CalDAVTester/trunk/verifiers/calendarDataMatch.py 2015-09-29 08:27:20 UTC (rev 15156)
+++ CalDAVTester/trunk/verifiers/calendarDataMatch.py 2015-09-29 11:45:27 UTC (rev 15157)
@@ -39,15 +39,7 @@
if "EMAIL parameter" not in manager.server_info.features:
filters.append("ATTENDEE:EMAIL")
filters.append("ORGANIZER:EMAIL")
- filters.append("ATTENDEE:X-CALENDARSERVER-DTSTAMP")
- filters.append("ATTENDEE:X-CALENDARSERVER-AUTO")
- filters.append("ATTENDEE:X-CALENDARSERVER-RESET-PARTSTAT")
- filters.append("CALSCALE")
- filters.append("PRODID")
- filters.append("DTSTAMP")
- filters.append("CREATED")
- filters.append("LAST-MODIFIED")
- filters.append("X-WR-CALNAME")
+ filters.extend(manager.server_info.calendardatafilters)
for afilter in tuple(filters):
if afilter[0] == "!" and afilter[1:] in filters:
@@ -99,6 +91,10 @@
for subcomponent in component.getComponents():
removePropertiesParameters(subcomponent)
+ if component.getType() == "VEVENT":
+ if component.hasEnd():
+ component.editTimingStartDuration(component.getStart(), component.getEnd() - component.getStart())
+
allProps = []
for properties in component.getProperties().itervalues():
allProps.extend(properties)
@@ -115,8 +111,13 @@
if property.hasParameter(parameter):
property.removeParameters(parameter)
else:
- if property.getName() == filter:
- component.removeProperty(property)
+ if "=" in filter:
+ filter_name, filter_value = filter.split("=")
+ if property.getName() == filter_name and property.getValue().getValue() == filter_value:
+ component.removeProperty(property)
+ else:
+ if property.getName() == filter:
+ component.removeProperty(property)
def reconcileRecurrenceOverrides(calendar1, calendar2):
"""
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20150929/5bb4f0dc/attachment-0001.html>
More information about the calendarserver-changes
mailing list