summaryrefslogtreecommitdiff
path: root/addons/document_webdav/webdav.py
diff options
context:
space:
mode:
authorP. Christeas <p_christ@hol.gr>2010-10-12 13:38:30 +0300
committerP. Christeas <p_christ@hol.gr>2010-10-12 13:38:30 +0300
commit96499ac6ce8497c7ab8720a2b4516e00c5e1d314 (patch)
treec59d599125cfe267a5003e5d36a38dcc6490a2e9 /addons/document_webdav/webdav.py
parenteeffc06f2afddcd6cdb1f19ca6b31b3acfa3396b (diff)
doc webdav: fix namespaces, properties
bzr revid: p_christ@hol.gr-20101012103830-0mfo4ecuu4lu78ia
Diffstat (limited to 'addons/document_webdav/webdav.py')
-rw-r--r--addons/document_webdav/webdav.py16
1 files changed, 10 insertions, 6 deletions
diff --git a/addons/document_webdav/webdav.py b/addons/document_webdav/webdav.py
index 3b6cf582067..6b24198e320 100644
--- a/addons/document_webdav/webdav.py
+++ b/addons/document_webdav/webdav.py
@@ -48,7 +48,7 @@ def mk_prop_response(self, uri, good_props, bad_props, doc):
re=doc.createElement("D:response")
# append namespaces to response
nsnum=0
- namespaces = self.namespaces
+ namespaces = self.namespaces[:]
if 'DAV:' in namespaces:
namespaces.remove('DAV:')
for nsname in namespaces:
@@ -108,10 +108,14 @@ def mk_prop_response(self, uri, good_props, bad_props, doc):
ve=doc.createElement(ns_prefix+v[0])
if need_ns:
ve.setAttribute("xmlns:ns"+str(nsnum), v[1])
- if len(v) > 2 and isinstance(v[2], list):
- # support nested elements like:
- # ( 'elem', 'ns:', [('sub-elem1', 'ns1'), ...]
- _prop_elem_child(ve, v[1], v[2], ns_prefix)
+ if len(v) > 2:
+ if isinstance(v[2], list):
+ # support nested elements like:
+ # ( 'elem', 'ns:', [('sub-elem1', 'ns1'), ...]
+ _prop_elem_child(ve, v[1], v[2], ns_prefix)
+ else:
+ vt =doc.createTextNode(tools.ustr(v[2]))
+ ve.appendChild(vt)
pnode.appendChild(ve)
else:
ve=doc.createTextNode(tools.ustr(v))
@@ -141,7 +145,7 @@ def mk_prop_response(self, uri, good_props, bad_props, doc):
else:
ns_prefix="ns"+str(namespaces.index(ns))+":"
for p,v in good_props[ns].items():
- if not v:
+ if v is None:
continue
_prop_child(gp, ns, p, v)