FS implementation accessing a WebDAV server.

This module provides a relatively-complete WebDAV Level 1 client that exposes a WebDAV server as an FS object. Locks are not currently supported.

Requires the dexml module:

class fs.contrib.davfs.DAVFS(url, credentials=None, get_credentials=None, thread_synchronize=True, connection_classes=None, timeout=None)

Access a remote filesystem via WebDAV.

This FS implementation provides access to a remote filesystem via the WebDAV protocol. Basic Level 1 WebDAV is supported; locking is not currently supported, but planned for the future.

HTTP Basic authentication is supported; provide a dict giving username and password in the “credentials” argument, or a callback for obtaining one in the “get_credentials” argument.

To use custom HTTP connector classes (e.g. to implement proper certificate checking for SSL connections) you can replace the factory functions in the DAVFS.connection_classes dictionary, or provide the “connection_classes” argument.

DAVFS constructor.

The only required argument is the root url of the remote server. If authentication is required, provide the ‘credentials’ keyword argument and/or the ‘get_credentials’ keyword argument. The former is a dict of credentials info, while the latter is a callback function returning such a dict. Only HTTP Basic Auth is supported at this stage, so the only useful keys in a credentials dict are ‘username’ and ‘password’.

getpathurl(path, allow_none=False)

Convert a client-side path into a server-side URL.