diff options
| author | Harry (Open ERP) <hmo@tinyerp.com> | 2010-04-14 13:06:16 +0530 |
|---|---|---|
| committer | Harry (Open ERP) <hmo@tinyerp.com> | 2010-04-14 13:06:16 +0530 |
| commit | f2311d256ffe78304388988024ce9b8b3cc4dfef (patch) | |
| tree | 5b4df69e0de22188a7325cc1b4343fbbdacc2f4e /addons/document_webdav/dav_fs.py | |
| parent | a3dab7abb8a0a033827a0fc2bc3e1868544c83a8 (diff) | |
[REF+IMP] caldav
bzr revid: hmo@tinyerp.com-20100414073616-i84h1e197yswuv0v
Diffstat (limited to 'addons/document_webdav/dav_fs.py')
| -rw-r--r-- | addons/document_webdav/dav_fs.py | 30 |
1 files changed, 26 insertions, 4 deletions
diff --git a/addons/document_webdav/dav_fs.py b/addons/document_webdav/dav_fs.py index 9be77c50daa..41a65c73bfb 100644 --- a/addons/document_webdav/dav_fs.py +++ b/addons/document_webdav/dav_fs.py @@ -63,7 +63,17 @@ class openerp_dav_handler(dav_interface): self.verbose = verbose def get_propnames(self,uri): - props = self.PROPS + props = self.PROPS + self.parent.log_message('get propnames: %s' % uri) + if uri[-1]=='/':uri=uri[:-1] + cr, uid, pool, dbname, uri2 = self.get_cr(uri) + if not dbname: + cr.close() + return props + node = self.uri2object(cr, uid, pool, uri2) + if node: + props.update(node.get_dav_props(cr)) + cr.close() return props def _get_dav_lockdiscovery(self, uri): @@ -71,7 +81,8 @@ class openerp_dav_handler(dav_interface): def _get_dav_supportedlock(self, uri): raise DAV_NotFound - def get_prop(self,uri,ns,propname): + + def get_prop(self, uri, ns, propname): """ return the value of a given property uri -- uri of the object to get the property of @@ -79,8 +90,19 @@ class openerp_dav_handler(dav_interface): pname -- name of the property """ if self.M_NS.has_key(ns): - return dav_interface.get_prop(self,uri,ns,propname) - raise DAV_NotFound + return dav_interface.get_prop(self,uri,ns,propname) + if uri[-1]=='/':uri=uri[:-1] + cr, uid, pool, dbname, uri2 = self.get_cr(uri) + if not dbname: + cr.close() + raise DAV_NotFound + node = self.uri2object(cr, uid, pool, uri2) + if not node: + cr.close() + raise DAV_NotFound + res = node.get_dav_eprop(cr,ns,propname) + cr.close() + return res def get_db(self,uri): names=self.uri2local(uri).split('/') |
