summaryrefslogtreecommitdiff
path: root/addons/document_webdav/webdav_server.py
diff options
context:
space:
mode:
Diffstat (limited to 'addons/document_webdav/webdav_server.py')
-rw-r--r--addons/document_webdav/webdav_server.py13
1 files changed, 10 insertions, 3 deletions
diff --git a/addons/document_webdav/webdav_server.py b/addons/document_webdav/webdav_server.py
index 34c255a2b3e..3cda2ccc6fe 100644
--- a/addons/document_webdav/webdav_server.py
+++ b/addons/document_webdav/webdav_server.py
@@ -214,13 +214,20 @@ class DAVHandler(HttpOptions, FixSendError, DAVRequestHandler):
return self.send_status(ec)
headers = {}
+ etag = None
+ if location and isinstance(location, tuple):
+ etag = location[1]
+ location = location[0]
+ # note that we have allowed for > 2 elems
if location:
headers['Location'] = location
try:
- etag = dc.get_prop(location or uri, "DAV:", "getetag")
- headers['ETag'] = etag
- except:
+ if not etag:
+ etag = dc.get_prop(location or uri, "DAV:", "getetag")
+ if etag:
+ headers['ETag'] = str(etag)
+ except Exception:
pass
self.send_body(None, '201', 'Created', '', headers=headers)