wsgidav.samples.virtual_dav_provider.VirtualResFile.handle_move¶
- VirtualResFile.handle_move(dest_path)¶
Handle a MOVE request natively.
This method is called by the MOVE handler after checking for valid request syntax and making sure that there are no conflicting locks and If-headers. Depending on the return value, this provider can control further processing:
- False:
handle_move() did not do anything. WsgiDAV will process the request by calling delete() and copy_move_single() for every resource, bottom-up.
- True:
handle_move() has successfully performed the MOVE request. HTTP_NO_CONTENT/HTTP_CREATED will be reported to the DAV client.
- List of errors:
handle_move() tried to perform the move request, but failed completely or partially. A list of errors is returned like
[ (<ref-url>, <DAVError>), ... ]
These errors will be reported to the client.- DAVError raised:
handle_move() refuses to perform the move request. The DAVError will be reported to the client.
An implementation may choose to apply other semantics and return True. For example moving ‘/by_tag/cool/myres’ to ‘/by_tag/hot/myres’ may simply remove the ‘cool’ tag from ‘my_res’ and add a ‘hot’ tag instead. In this case, the resource might still be available by other URLs, so locks and properties are not removed.
This default implementation returns
False
, so standard processing takes place.Implementation of this method is OPTIONAL.