An ETag should refer to the requested uri, so a Location header will
render it invalid anyway. Gnome's evolution has an if-else block that
first checks ETag and then Location.
bzr revid: p_christ@hol.gr-20100812111025-xoilqlb956moovgv
We must check the "If-Match" header. Its value is quoted, so try to
remove quotes (crude way), and also consume any body before we respond
with 4xx.
Conflicts:
document_webdav/webdav_server.py
bzr revid: p_christ@hol.gr-20100801083828-lh9htiqlwewvhloh
This property is used in DAV folders, CalDAV, GroupDAV and CardDAV, with
different extensions at each one. So, it needs an extensible API for the
value it may return.
Typical response in a calendar dir:
<D:resourcetype>
<D:collection>
<ns0:vevent-collection xmlns:ns0="http://groupdav.org"/>
<ns1:calendar xmlns:ns1="urn:ietf:params:xml:ns:caldav" />
</D:resourcetype>
The last two elements have to be added by subclassing the node in the
caldav module.
Conflicts:
document_webdav/dav_fs.py
bzr revid: p_christ@hol.gr-20100801083722-nh4ty58fy0hobrgk
create_date, write_date may not be specified as object fields, so we
cannot always call them. Use the perm_read() instead (which works for
all objects). However, the datetime returned may have fractional secs,
in which case a better conversion function shall be used.
bzr revid: p_christ@hol.gr-20100729133937-fslzb5xba2pq5grj
Several small fixes for the DAV responses, so that we are more conforming
to the protocol. Also fix multiple namespaces, getctag and (as always)
whitespace
bzr revid: p_christ@hol.gr-20100729133937-z6ctpn92w6mz7r9k
The NotFound one should properly parse the list uri2. Define a helper
function that will wrap around usual calls and handle their exceptions.
bzr revid: p_christ@hol.gr-20100712192930-necdd0z9d2j6w4ut
This is another workaround for nautilus, that descends into the db (=does
authorization) and then requests info for the parent again
(causing db=False later).
bzr revid: p_christ@hol.gr-20100624150122-tntum07kgth2ogup
Python-webdav does not follow the http protocol for persistent connections,
nor does it accept patches. So, override their functions.
bzr revid: p_christ@hol.gr-20100624150054-iwuvgehsyjr7qghv
Py-webdav will not allow us to have unicode in the mimetype. And that's
not in the protocol, anyway. So, ensure we are only sending a string (was
broken since the db query would convert to unicode).
bzr revid: p_christ@hol.gr-20100623140720-nzst9y9hmarfo7qv
This is a reshape of the code, since the porting. While the MultiHttpHandler
will strip the '/webdav' part of the path, the DAV code will try to
generate more paths without it. So, there must be consinstent functions
that will convert (at mk_prop_response and mk_propname_response) to the
full path or back. Also, only have one function that will strip the
db name from the path, so that we control the auth requirements (for the
purpose of database listings, which shouldn't require authentication).
bzr revid: p_christ@hol.gr-20100623105437-kmy0ccqihu5h9ydp
This is not a complete fix yet, but handles the case when one of the
scanned db's is not a proper OpenERP one (happens if a db has same user
as in the openerp conf, or if openerp db is not initialized properly).
bzr revid: p_christ@hol.gr-20100623104956-w5r3n035ozvz0h0v