Add support for iCal (closes #252)
This commit is contained in:
parent
c1da6872dd
commit
474113454b
@ -312,7 +312,8 @@ class CalendarHTTPHandler(server.BaseHTTPRequestHandler):
|
||||
@log_request_content
|
||||
def do_PROPPATCH(self):
|
||||
"""Manage PROPPATCH request."""
|
||||
self._answer = xmlutils.proppatch()
|
||||
self._answer = xmlutils.proppatch(
|
||||
self.path, self._content, self._calendar)
|
||||
|
||||
self.send_response(client.MULTI_STATUS)
|
||||
self.send_header("DAV", "1, calendar-access")
|
||||
|
@ -187,10 +187,14 @@ def proppatch(path, xml_request, calendar):
|
||||
"""
|
||||
# Reading request
|
||||
root = ET.fromstring(xml_request)
|
||||
props = []
|
||||
|
||||
prop_element = root.find(_tag("D", "prop"))
|
||||
prop_list = prop_element.getchildren()
|
||||
props = [prop.tag for prop in prop_list]
|
||||
for action in ("set", "remove"):
|
||||
action_element = root.find(_tag("D", action))
|
||||
if action_element:
|
||||
prop_element = action_element.find(_tag("D", "prop"))
|
||||
prop_list = prop_element.getchildren()
|
||||
props.extend(prop.tag for prop in prop_list)
|
||||
|
||||
# Writing answer
|
||||
multistatus = ET.Element(_tag("D", "multistatus"))
|
||||
|
Loading…
Reference in New Issue
Block a user