webdavclient


Namewebdavclient JSON
Version 1.0.8 PyPI version JSON
download
home_pagehttps://github.com/designerror/webdavclient
SummaryWebdav API, resource API и wdc для WebDAV-серверов (Yandex.Disk, Dropbox, Google Disk, Box, 4shared и т.д.)
upload_time2016-10-06 17:36:19
maintainer
docs_urlNone
authorDesignerror
requires_pythonNone
licenseMIT License
keywords webdav client python module library packet yandex.disk dropbox google disk box 4shared
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            webdavclient
============

|PyPI version| |Requirements Status| |PullReview stats|

Package webdavclient provides easy and convenient work with
WebDAV-servers (Yandex.Drive, Dropbox, Google Drive, Box, 4shared,
etc.). The package includes the following components: webdav API,
resource API and wdc.

The source code of the project can be found
`here <https://github.com/designerror/webdavclient>`__ |Github|

Installation and upgrade
========================

**Installation**

- Linux

.. code:: bash

    $ sudo apt-get install libxml2-dev libxslt-dev python-dev
    $ sudo apt-get install libcurl4-openssl-dev python-pycurl 
    $ sudo easy_install webdavclient

- macOS

.. code:: bash

    curl https://bootstrap.pypa.io/ez_setup.py -o - | python
    python setup.py install --prefix=/opt/setuptools
    sudo easy_install webdavclient

**Update**

.. code:: bash

    $ sudo pip install -U webdavclient

Webdav API
==========

Webdav API is a set of webdav methods of work with cloud storage. This
set includes the following methods: ``check``, ``free``, ``info``,
``list``, ``mkdir``, ``clean``, ``copy``, ``move``, ``download``,
``upload``, ``publish`` and ``unpublish``.

**Configuring the client**

Required keys for configuring client connection with WevDAV-server are
webdav\_hostname and webdav\_login, webdav,\_password.

.. code:: python

    import webdav.client as wc
    options = {
     'webdav_hostname': "https://webdav.server.ru",
     'webdav_login':    "login",
     'webdav_password': "password"
    }
    client = wc.Client(options)

When a proxy server you need to specify settings to connect through it.

.. code:: python

    import webdav.client as wc
    options = {
     'webdav_hostname': "https://webdav.server.ru",
     'webdav_login':    "w_login",
     'webdav_password': "w_password", 
     'proxy_hostname':  "http://127.0.0.1:8080",
     'proxy_login':     "p_login",
     'proxy_password':  "p_password"
    }
    client = wc.Client(options)

If you want to use the certificate path to certificate and private key
is defined as follows:

.. code:: python

    import webdav.client as wc
    options = {
     'webdav_hostname': "https://webdav.server.ru",
     'webdav_login':    "w_login",
     'webdav_password': "w_password",
     'cert_path':       "/etc/ssl/certs/certificate.crt",
     'key_path':        "/etc/ssl/private/certificate.key"
    }
    client = wc.Client(options)

Or you want to limit the speed or turn on verbose mode:

.. code:: python

    options = {
     ...
     'recv_speed' : 3000000,
     'send_speed' : 3000000,
     'verbose'    : True
    }
    client = wc.Client(options)

| recv\_speed: rate limit data download speed in Bytes per second.
  Defaults to unlimited speed.
| send\_speed: rate limit data upload speed in Bytes per second.
  Defaults to unlimited speed.
| verbose: set verbose mode on/off. By default verbose mode is off.

**Synchronous methods**

.. code:: python

    // Checking existence of the resource

    client.check("dir1/file1")
    client.check("dir1")

.. code:: python

    // Get information about the resource

    client.info("dir1/file1")
    client.info("dir1/")

.. code:: python

    // Check free space

    free_size = client.free()

.. code:: python

    // Get a list of resources

    files1 = client.list()
    files2 = client.list("dir1")

.. code:: python

    // Create directory

    client.mkdir("dir1/dir2")

.. code:: python

    // Delete resource

    client.clean("dir1/dir2")

.. code:: python

    // Copy resource

    client.copy(remote_path_from="dir1/file1", remote_path_to="dir2/file1")
    client.copy(remote_path_from="dir2", remote_path_to="dir3")

.. code:: python

    // Move resource

    client.move(remote_path_from="dir1/file1", remote_path_to="dir2/file1")
    client.move(remote_path_from="dir2", remote_path_to="dir3")

.. code:: python

    // Move resource

    client.download_sync(remote_path="dir1/file1", local_path="~/Downloads/file1")
    client.download_sync(remote_path="dir1/dir2/", local_path="~/Downloads/dir2/")

.. code:: python

    // Unload resource

    client.upload_sync(remote_path="dir1/file1", local_path="~/Documents/file1")
    client.upload_sync(remote_path="dir1/dir2/", local_path="~/Documents/dir2/")

.. code:: python

    // Publish the resource

    link = client.publish("dir1/file1")
    link = client.publish("dir2")

.. code:: python

    // Unpublish resource

    client.unpublish("dir1/file1")
    client.unpublish("dir2")

.. code:: python

    // Exception handling

    from webdav.client import WebDavException
    try:
    ...
    except WebDavException as exception:
    ...

.. code:: python

    // Get the missing files

    client.pull(remote_directory='dir1', local_directory='~/Documents/dir1')

.. code:: python

    // Send missing files

    client.push(remote_directory='dir1', local_directory='~/Documents/dir1')

**Asynchronous methods**

.. code:: python

    // Load resource

    kwargs = {
     'remote_path': "dir1/file1",
     'local_path':  "~/Downloads/file1",
     'callback':    callback
    }
    client.download_async(**kwargs)

    kwargs = {
     'remote_path': "dir1/dir2/",
     'local_path':  "~/Downloads/dir2/",
     'callback':    callback
    }
    client.download_async(**kwargs)

.. code:: python

    // Unload resource

    kwargs = {
     'remote_path': "dir1/file1",
     'local_path':  "~/Downloads/file1",
     'callback':    callback
    }
    client.upload_async(**kwargs)

    kwargs = {
     'remote_path': "dir1/dir2/",
     'local_path':  "~/Downloads/dir2/",
     'callback':    callback
    }
    client.upload_async(**kwargs)

Resource API
============

Resource API using the concept of OOP that enables cloud-level
resources.

.. code:: python

    // Get a resource

    res1 = client.resource("dir1/file1")

.. code:: python

    // Work with the resource

    res1.rename("file2")
    res1.move("dir1/file2")
    res1.copy("dir2/file1")
    info = res1.info()
    res1.read_from(buffer)
    res1.read(local_path="~/Documents/file1")
    res1.read_async(local_path="~/Documents/file1", callback)
    res1.write_to(buffer)
    res1.write(local_path="~/Downloads/file1")
    res1.write_async(local_path="~/Downloads/file1", callback)

wdc
===

wdc \-a cross-platform utility that provides convenient work with
WebDAV-servers right from your console. In addition to full
implementations of methods from webdav API, also added methods content
sync local and remote directories.

**Authentication**

- *Basic authentication*

.. code:: bash

   $ wdc login https://wedbav.server.ru -p http://127.0.0.1:8080
   webdav_login: w_login
   webdav_password: w_password
   proxy_login: p_login
   proxy_password: p_password
   success

- Authorize the application using OAuth token\*

.. code:: bash

   $ wdc login https://wedbav.server.ru -p http://127.0.0.1:8080 --token xxxxxxxxxxxxxxxxxx
   proxy_login: p_login
   proxy_password: p_password
   success

There are also additional keys ``--root[-r]``, ``--cert-path[-c]`` and
``--key-path[-k]``.

**Utility**

.. code:: bash

    $ wdc check
    success
    $ wdc check file1
    not success
    $ wdc free
    245234120344
    $ wdc ls dir1
    file1
    ...
    fileN
    $ wdc mkdir dir2
    $ wdc copy dir1/file1 -t dir2/file1
    $ wdc move dir2/file1 -t dir2/file2
    $ wdc download dir1/file1 -t ~/Downloads/file1
    $ wdc download dir1/ -t ~/Downloads/dir1/
    $ wdc upload dir2/file2 -f ~/Documents/file1
    $ wdc upload dir2/ -f ~/Documents/
    $ wdc publish di2/file2
    https://yadi.sk/i/vWtTUcBucAc6k
    $ wdc unpublish dir2/file2
    $ wdc pull dir1/ -t ~/Documents/dir1/
    $ wdc push dir1/ -f ~/Documents/dir1/
    $ wdc info dir1/file1
    {'name': 'file1', 'modified': 'Thu, 23 Oct 2014 16:16:37 GMT',
    'size': '3460064', 'created': '2014-10-23T16:16:37Z'}

WebDAV-server
=============

The most popular cloud-based repositories that support the Protocol
WebDAV can be attributed Yandex.Drive, Dropbox, Google Drive, Box and
4shared. Access to data repositories, operating with access to the
Internet. If necessary local locations and cloud storage, you can deploy
your own WebDAV-server.

**Local WebDAV-server**

To deploy a local WebDAV server, using Docker containers quite easily
and quickly. To see an example of a local deploymentWebDAV servers can
be on the project
`webdav-server-docker <https://github.com/designerror/webdav-server-docker>`__.

**Supported methods**

+----------------+--------+--------+--------+---------+---------+--------+--------+------------+----------+
| Servers        | free   | info   | list   | mkdir   | clean   | copy   | move   | download   | upload   |
+================+========+========+========+=========+=========+========+========+============+==========+
| Yandex.Disk    | \+     | \+     | \+     | \+      | \+      | \+     | \+     | \+         | \+       |
+----------------+--------+--------+--------+---------+---------+--------+--------+------------+----------+
| Dropbox        | \-     | \+     | \+     | \+      | \+      | \+     | \+     | \+         | \+       |
+----------------+--------+--------+--------+---------+---------+--------+--------+------------+----------+
| Google Drive   | \-     | \+     | \+     | \+      | \+      | \-     | \-     | \+         | \+       |
+----------------+--------+--------+--------+---------+---------+--------+--------+------------+----------+
| Box            | \+     | \+     | \+     | \+      | \+      | \+     | \+     | \+         | \+       |
+----------------+--------+--------+--------+---------+---------+--------+--------+------------+----------+
| 4shared        | \-     | \+     | \+     | \+      | \+      | \-     | \-     | \+         | \+       |
+----------------+--------+--------+--------+---------+---------+--------+--------+------------+----------+
| Webdavserver   | \-     | \+     | \+     | \+      | \+      | \-     | \-     | \+         | \+       |
+----------------+--------+--------+--------+---------+---------+--------+--------+------------+----------+

Publish and unpublish methods supports only Yandex.Disk.

**Configuring connections**

To work with cloud storage Dropbox and Google Drive via the WebDAV
Protocol, you must use a WebDAV-server DropDAV and DAV-pocket,
respectively.

A list of settings for WebDAV servers:

.. code:: yaml

    webdav-servers:
     - yandex
         hostname:  https://webdav.yandex.ru
         login:     #login_for_yandex
         password:  #pass_for_yandex
     - dropbox 
         hostname:  https://dav.dropdav.com
         login:     #login_for dropdav
         password:  #pass_for_dropdav
     - google
         hostname:  https://dav-pocket.appspot.com
         root:      docso
         login:     #login_for_dav-pocket
         password:  #pass_for_dav-pocket
     - box
         hostname:  https://dav.box.com
         root:      dav
         login:     #login_for_box
         password:  #pass_for_box
     - 4shared
         hostname:  https://webdav.4shared.com
         login:     #login_for_4shared
         password:  #pass_for_4shared

Autocompletion
==============

For macOS, or older Unix systems you need to update bash.

.. code:: bash

    brew install bash
    chsh
    brew install bash-completion

Autocompletion can be enabled globally

.. code:: bash

    sudo activate-global-python-argcomplete

or locally

.. code:: bash

    #.bashrc
    eval "$(register-python-argcomplete wdc)"

.. |PyPI version| image:: https://badge.fury.io/py/webdavclient.svg
   :target: http://badge.fury.io/py/webdavclient
.. |Requirements Status| image:: https://requires.io/github/designerror/webdav-client-python/requirements.svg?branch=master&style=flat
   :target: https://requires.io/github/designerror/webdav-client-python/requirements/?branch=master&style=flat
.. |PullReview stats| image:: https://www.pullreview.com/github/designerror/webdavclient/badges/master.svg?
   :target: https://www.pullreview.com/github/designerror/webdavclient/reviews/master
.. |Github| image:: https://github.com/favicon.ico
            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/designerror/webdavclient",
    "name": "webdavclient",
    "maintainer": "",
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": "",
    "keywords": "webdav,client,python,module,library,packet,Yandex.Disk,Dropbox,Google Disk,Box,4shared",
    "author": "Designerror",
    "author_email": "designerror@yandex.ru",
    "download_url": "https://files.pythonhosted.org/packages/34/be/5800a3946827c9c47dc86f8f4d1d0d548888193a601d7952f1f9426a1724/webdavclient-1.0.8.tar.gz",
    "platform": "UNKNOWN",
    "description": "webdavclient\r\n============\r\n\r\n|PyPI version| |Requirements Status| |PullReview stats|\r\n\r\nPackage webdavclient provides easy and convenient work with\r\nWebDAV-servers (Yandex.Drive, Dropbox, Google Drive, Box, 4shared,\r\netc.). The package includes the following components: webdav API,\r\nresource API and wdc.\r\n\r\nThe source code of the project can be found\r\n`here <https://github.com/designerror/webdavclient>`__ |Github|\r\n\r\nInstallation and upgrade\r\n========================\r\n\r\n**Installation**\r\n\r\n- Linux\r\n\r\n.. code:: bash\r\n\r\n    $ sudo apt-get install libxml2-dev libxslt-dev python-dev\r\n    $ sudo apt-get install libcurl4-openssl-dev python-pycurl \r\n    $ sudo easy_install webdavclient\r\n\r\n- macOS\r\n\r\n.. code:: bash\r\n\r\n    curl https://bootstrap.pypa.io/ez_setup.py -o - | python\r\n    python setup.py install --prefix=/opt/setuptools\r\n    sudo easy_install webdavclient\r\n\r\n**Update**\r\n\r\n.. code:: bash\r\n\r\n    $ sudo pip install -U webdavclient\r\n\r\nWebdav API\r\n==========\r\n\r\nWebdav API is a set of webdav methods of work with cloud storage. This\r\nset includes the following methods: ``check``, ``free``, ``info``,\r\n``list``, ``mkdir``, ``clean``, ``copy``, ``move``, ``download``,\r\n``upload``, ``publish`` and ``unpublish``.\r\n\r\n**Configuring the client**\r\n\r\nRequired keys for configuring client connection with WevDAV-server are\r\nwebdav\\_hostname and webdav\\_login, webdav,\\_password.\r\n\r\n.. code:: python\r\n\r\n    import webdav.client as wc\r\n    options = {\r\n     'webdav_hostname': \"https://webdav.server.ru\",\r\n     'webdav_login':    \"login\",\r\n     'webdav_password': \"password\"\r\n    }\r\n    client = wc.Client(options)\r\n\r\nWhen a proxy server you need to specify settings to connect through it.\r\n\r\n.. code:: python\r\n\r\n    import webdav.client as wc\r\n    options = {\r\n     'webdav_hostname': \"https://webdav.server.ru\",\r\n     'webdav_login':    \"w_login\",\r\n     'webdav_password': \"w_password\", \r\n     'proxy_hostname':  \"http://127.0.0.1:8080\",\r\n     'proxy_login':     \"p_login\",\r\n     'proxy_password':  \"p_password\"\r\n    }\r\n    client = wc.Client(options)\r\n\r\nIf you want to use the certificate path to certificate and private key\r\nis defined as follows:\r\n\r\n.. code:: python\r\n\r\n    import webdav.client as wc\r\n    options = {\r\n     'webdav_hostname': \"https://webdav.server.ru\",\r\n     'webdav_login':    \"w_login\",\r\n     'webdav_password': \"w_password\",\r\n     'cert_path':       \"/etc/ssl/certs/certificate.crt\",\r\n     'key_path':        \"/etc/ssl/private/certificate.key\"\r\n    }\r\n    client = wc.Client(options)\r\n\r\nOr you want to limit the speed or turn on verbose mode:\r\n\r\n.. code:: python\r\n\r\n    options = {\r\n     ...\r\n     'recv_speed' : 3000000,\r\n     'send_speed' : 3000000,\r\n     'verbose'    : True\r\n    }\r\n    client = wc.Client(options)\r\n\r\n| recv\\_speed: rate limit data download speed in Bytes per second.\r\n  Defaults to unlimited speed.\r\n| send\\_speed: rate limit data upload speed in Bytes per second.\r\n  Defaults to unlimited speed.\r\n| verbose: set verbose mode on/off. By default verbose mode is off.\r\n\r\n**Synchronous methods**\r\n\r\n.. code:: python\r\n\r\n    // Checking existence of the resource\r\n\r\n    client.check(\"dir1/file1\")\r\n    client.check(\"dir1\")\r\n\r\n.. code:: python\r\n\r\n    // Get information about the resource\r\n\r\n    client.info(\"dir1/file1\")\r\n    client.info(\"dir1/\")\r\n\r\n.. code:: python\r\n\r\n    // Check free space\r\n\r\n    free_size = client.free()\r\n\r\n.. code:: python\r\n\r\n    // Get a list of resources\r\n\r\n    files1 = client.list()\r\n    files2 = client.list(\"dir1\")\r\n\r\n.. code:: python\r\n\r\n    // Create directory\r\n\r\n    client.mkdir(\"dir1/dir2\")\r\n\r\n.. code:: python\r\n\r\n    // Delete resource\r\n\r\n    client.clean(\"dir1/dir2\")\r\n\r\n.. code:: python\r\n\r\n    // Copy resource\r\n\r\n    client.copy(remote_path_from=\"dir1/file1\", remote_path_to=\"dir2/file1\")\r\n    client.copy(remote_path_from=\"dir2\", remote_path_to=\"dir3\")\r\n\r\n.. code:: python\r\n\r\n    // Move resource\r\n\r\n    client.move(remote_path_from=\"dir1/file1\", remote_path_to=\"dir2/file1\")\r\n    client.move(remote_path_from=\"dir2\", remote_path_to=\"dir3\")\r\n\r\n.. code:: python\r\n\r\n    // Move resource\r\n\r\n    client.download_sync(remote_path=\"dir1/file1\", local_path=\"~/Downloads/file1\")\r\n    client.download_sync(remote_path=\"dir1/dir2/\", local_path=\"~/Downloads/dir2/\")\r\n\r\n.. code:: python\r\n\r\n    // Unload resource\r\n\r\n    client.upload_sync(remote_path=\"dir1/file1\", local_path=\"~/Documents/file1\")\r\n    client.upload_sync(remote_path=\"dir1/dir2/\", local_path=\"~/Documents/dir2/\")\r\n\r\n.. code:: python\r\n\r\n    // Publish the resource\r\n\r\n    link = client.publish(\"dir1/file1\")\r\n    link = client.publish(\"dir2\")\r\n\r\n.. code:: python\r\n\r\n    // Unpublish resource\r\n\r\n    client.unpublish(\"dir1/file1\")\r\n    client.unpublish(\"dir2\")\r\n\r\n.. code:: python\r\n\r\n    // Exception handling\r\n\r\n    from webdav.client import WebDavException\r\n    try:\r\n    ...\r\n    except WebDavException as exception:\r\n    ...\r\n\r\n.. code:: python\r\n\r\n    // Get the missing files\r\n\r\n    client.pull(remote_directory='dir1', local_directory='~/Documents/dir1')\r\n\r\n.. code:: python\r\n\r\n    // Send missing files\r\n\r\n    client.push(remote_directory='dir1', local_directory='~/Documents/dir1')\r\n\r\n**Asynchronous methods**\r\n\r\n.. code:: python\r\n\r\n    // Load resource\r\n\r\n    kwargs = {\r\n     'remote_path': \"dir1/file1\",\r\n     'local_path':  \"~/Downloads/file1\",\r\n     'callback':    callback\r\n    }\r\n    client.download_async(**kwargs)\r\n\r\n    kwargs = {\r\n     'remote_path': \"dir1/dir2/\",\r\n     'local_path':  \"~/Downloads/dir2/\",\r\n     'callback':    callback\r\n    }\r\n    client.download_async(**kwargs)\r\n\r\n.. code:: python\r\n\r\n    // Unload resource\r\n\r\n    kwargs = {\r\n     'remote_path': \"dir1/file1\",\r\n     'local_path':  \"~/Downloads/file1\",\r\n     'callback':    callback\r\n    }\r\n    client.upload_async(**kwargs)\r\n\r\n    kwargs = {\r\n     'remote_path': \"dir1/dir2/\",\r\n     'local_path':  \"~/Downloads/dir2/\",\r\n     'callback':    callback\r\n    }\r\n    client.upload_async(**kwargs)\r\n\r\nResource API\r\n============\r\n\r\nResource API using the concept of OOP that enables cloud-level\r\nresources.\r\n\r\n.. code:: python\r\n\r\n    // Get a resource\r\n\r\n    res1 = client.resource(\"dir1/file1\")\r\n\r\n.. code:: python\r\n\r\n    // Work with the resource\r\n\r\n    res1.rename(\"file2\")\r\n    res1.move(\"dir1/file2\")\r\n    res1.copy(\"dir2/file1\")\r\n    info = res1.info()\r\n    res1.read_from(buffer)\r\n    res1.read(local_path=\"~/Documents/file1\")\r\n    res1.read_async(local_path=\"~/Documents/file1\", callback)\r\n    res1.write_to(buffer)\r\n    res1.write(local_path=\"~/Downloads/file1\")\r\n    res1.write_async(local_path=\"~/Downloads/file1\", callback)\r\n\r\nwdc\r\n===\r\n\r\nwdc \\-a cross-platform utility that provides convenient work with\r\nWebDAV-servers right from your console. In addition to full\r\nimplementations of methods from webdav API, also added methods content\r\nsync local and remote directories.\r\n\r\n**Authentication**\r\n\r\n- *Basic authentication*\r\n\r\n.. code:: bash\r\n\r\n   $ wdc login https://wedbav.server.ru -p http://127.0.0.1:8080\r\n   webdav_login: w_login\r\n   webdav_password: w_password\r\n   proxy_login: p_login\r\n   proxy_password: p_password\r\n   success\r\n\r\n- Authorize the application using OAuth token\\*\r\n\r\n.. code:: bash\r\n\r\n   $ wdc login https://wedbav.server.ru -p http://127.0.0.1:8080 --token xxxxxxxxxxxxxxxxxx\r\n   proxy_login: p_login\r\n   proxy_password: p_password\r\n   success\r\n\r\nThere are also additional keys ``--root[-r]``, ``--cert-path[-c]`` and\r\n``--key-path[-k]``.\r\n\r\n**Utility**\r\n\r\n.. code:: bash\r\n\r\n    $ wdc check\r\n    success\r\n    $ wdc check file1\r\n    not success\r\n    $ wdc free\r\n    245234120344\r\n    $ wdc ls dir1\r\n    file1\r\n    ...\r\n    fileN\r\n    $ wdc mkdir dir2\r\n    $ wdc copy dir1/file1 -t dir2/file1\r\n    $ wdc move dir2/file1 -t dir2/file2\r\n    $ wdc download dir1/file1 -t ~/Downloads/file1\r\n    $ wdc download dir1/ -t ~/Downloads/dir1/\r\n    $ wdc upload dir2/file2 -f ~/Documents/file1\r\n    $ wdc upload dir2/ -f ~/Documents/\r\n    $ wdc publish di2/file2\r\n    https://yadi.sk/i/vWtTUcBucAc6k\r\n    $ wdc unpublish dir2/file2\r\n    $ wdc pull dir1/ -t ~/Documents/dir1/\r\n    $ wdc push dir1/ -f ~/Documents/dir1/\r\n    $ wdc info dir1/file1\r\n    {'name': 'file1', 'modified': 'Thu, 23 Oct 2014 16:16:37 GMT',\r\n    'size': '3460064', 'created': '2014-10-23T16:16:37Z'}\r\n\r\nWebDAV-server\r\n=============\r\n\r\nThe most popular cloud-based repositories that support the Protocol\r\nWebDAV can be attributed Yandex.Drive, Dropbox, Google Drive, Box and\r\n4shared. Access to data repositories, operating with access to the\r\nInternet. If necessary local locations and cloud storage, you can deploy\r\nyour own WebDAV-server.\r\n\r\n**Local WebDAV-server**\r\n\r\nTo deploy a local WebDAV server, using Docker containers quite easily\r\nand quickly. To see an example of a local deploymentWebDAV servers can\r\nbe on the project\r\n`webdav-server-docker <https://github.com/designerror/webdav-server-docker>`__.\r\n\r\n**Supported methods**\r\n\r\n+----------------+--------+--------+--------+---------+---------+--------+--------+------------+----------+\r\n| Servers        | free   | info   | list   | mkdir   | clean   | copy   | move   | download   | upload   |\r\n+================+========+========+========+=========+=========+========+========+============+==========+\r\n| Yandex.Disk    | \\+     | \\+     | \\+     | \\+      | \\+      | \\+     | \\+     | \\+         | \\+       |\r\n+----------------+--------+--------+--------+---------+---------+--------+--------+------------+----------+\r\n| Dropbox        | \\-     | \\+     | \\+     | \\+      | \\+      | \\+     | \\+     | \\+         | \\+       |\r\n+----------------+--------+--------+--------+---------+---------+--------+--------+------------+----------+\r\n| Google Drive   | \\-     | \\+     | \\+     | \\+      | \\+      | \\-     | \\-     | \\+         | \\+       |\r\n+----------------+--------+--------+--------+---------+---------+--------+--------+------------+----------+\r\n| Box            | \\+     | \\+     | \\+     | \\+      | \\+      | \\+     | \\+     | \\+         | \\+       |\r\n+----------------+--------+--------+--------+---------+---------+--------+--------+------------+----------+\r\n| 4shared        | \\-     | \\+     | \\+     | \\+      | \\+      | \\-     | \\-     | \\+         | \\+       |\r\n+----------------+--------+--------+--------+---------+---------+--------+--------+------------+----------+\r\n| Webdavserver   | \\-     | \\+     | \\+     | \\+      | \\+      | \\-     | \\-     | \\+         | \\+       |\r\n+----------------+--------+--------+--------+---------+---------+--------+--------+------------+----------+\r\n\r\nPublish and unpublish methods supports only Yandex.Disk.\r\n\r\n**Configuring connections**\r\n\r\nTo work with cloud storage Dropbox and Google Drive via the WebDAV\r\nProtocol, you must use a WebDAV-server DropDAV and DAV-pocket,\r\nrespectively.\r\n\r\nA list of settings for WebDAV servers:\r\n\r\n.. code:: yaml\r\n\r\n    webdav-servers:\r\n     - yandex\r\n         hostname:  https://webdav.yandex.ru\r\n         login:     #login_for_yandex\r\n         password:  #pass_for_yandex\r\n     - dropbox \r\n         hostname:  https://dav.dropdav.com\r\n         login:     #login_for dropdav\r\n         password:  #pass_for_dropdav\r\n     - google\r\n         hostname:  https://dav-pocket.appspot.com\r\n         root:      docso\r\n         login:     #login_for_dav-pocket\r\n         password:  #pass_for_dav-pocket\r\n     - box\r\n         hostname:  https://dav.box.com\r\n         root:      dav\r\n         login:     #login_for_box\r\n         password:  #pass_for_box\r\n     - 4shared\r\n         hostname:  https://webdav.4shared.com\r\n         login:     #login_for_4shared\r\n         password:  #pass_for_4shared\r\n\r\nAutocompletion\r\n==============\r\n\r\nFor macOS, or older Unix systems you need to update bash.\r\n\r\n.. code:: bash\r\n\r\n    brew install bash\r\n    chsh\r\n    brew install bash-completion\r\n\r\nAutocompletion can be enabled globally\r\n\r\n.. code:: bash\r\n\r\n    sudo activate-global-python-argcomplete\r\n\r\nor locally\r\n\r\n.. code:: bash\r\n\r\n    #.bashrc\r\n    eval \"$(register-python-argcomplete wdc)\"\r\n\r\n.. |PyPI version| image:: https://badge.fury.io/py/webdavclient.svg\r\n   :target: http://badge.fury.io/py/webdavclient\r\n.. |Requirements Status| image:: https://requires.io/github/designerror/webdav-client-python/requirements.svg?branch=master&style=flat\r\n   :target: https://requires.io/github/designerror/webdav-client-python/requirements/?branch=master&style=flat\r\n.. |PullReview stats| image:: https://www.pullreview.com/github/designerror/webdavclient/badges/master.svg?\r\n   :target: https://www.pullreview.com/github/designerror/webdavclient/reviews/master\r\n.. |Github| image:: https://github.com/favicon.ico",
    "bugtrack_url": null,
    "license": "MIT License",
    "summary": "Webdav API, resource API \u0438 wdc \u0434\u043b\u044f WebDAV-\u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 (Yandex.Disk, Dropbox, Google Disk, Box, 4shared \u0438 \u0442.\u0434.)",
    "version": "1.0.8",
    "split_keywords": [
        "webdav",
        "client",
        "python",
        "module",
        "library",
        "packet",
        "yandex.disk",
        "dropbox",
        "google disk",
        "box",
        "4shared"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "md5": "96d0c5163790bcb39fb25a5d33f2e216",
                "sha256": "c4df5953822f87b48504fc0f4ecdb08ae6a518e67e96f9e8e27d841c0cd29d7a"
            },
            "downloads": -1,
            "filename": "webdavclient-1.0.8.tar.gz",
            "has_sig": false,
            "md5_digest": "96d0c5163790bcb39fb25a5d33f2e216",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 19438,
            "upload_time": "2016-10-06T17:36:19",
            "upload_time_iso_8601": "2016-10-06T17:36:19.960504Z",
            "url": "https://files.pythonhosted.org/packages/34/be/5800a3946827c9c47dc86f8f4d1d0d548888193a601d7952f1f9426a1724/webdavclient-1.0.8.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2016-10-06 17:36:19",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "github_user": "designerror",
    "github_project": "webdavclient",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "tox": true,
    "lcname": "webdavclient"
}
        
Elapsed time: 0.01876s