diff options
| author | P. Christeas <p_christ@hol.gr> | 2010-10-12 13:38:30 +0300 |
|---|---|---|
| committer | P. Christeas <p_christ@hol.gr> | 2010-10-12 13:38:30 +0300 |
| commit | 96499ac6ce8497c7ab8720a2b4516e00c5e1d314 (patch) | |
| tree | c59d599125cfe267a5003e5d36a38dcc6490a2e9 /addons/document_webdav/webdav.py | |
| parent | eeffc06f2afddcd6cdb1f19ca6b31b3acfa3396b (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.py | 16 |
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) |
