소스 검색

accepts PROPFIND whitout request body

Christoph Polcin 13 년 전
부모
커밋
9972897d75
1개의 변경된 파일11개의 추가작업 그리고 3개의 파일을 삭제
  1. 11 3
      radicale/xmlutils.py

+ 11 - 3
radicale/xmlutils.py

@@ -195,10 +195,18 @@ def propfind(path, xml_request, collections, user=None):
 
     """
     # Reading request
-    root = ET.fromstring(xml_request.encode("utf8"))
+    if xml_request:
+        root = ET.fromstring(xml_request.encode("utf8"))
 
-    prop_element = root.find(_tag("D", "prop"))
-    props = [prop.tag for prop in prop_element]
+        prop_element = root.find(_tag("D", "prop"))
+        props = [prop.tag for prop in prop_element]
+    else:
+        props = [ _tag("D", "getcontenttype"),
+            _tag("D", "resourcetype"),
+            _tag("D", "displayname"),
+            _tag("D", "owner"),
+            _tag("D", "getetag"),
+            _tag("CS", "getctag") ]
 
     # Writing answer
     multistatus = ET.Element(_tag("D", "multistatus"))