46 lines
1.1 KiB
Markdown
46 lines
1.1 KiB
Markdown
# WebDAV CLI
|
|
|
|
Can be used to pull a directory from a remote WebDAV server, e.g. as supported by Nextcloud.
|
|
|
|
|
|
## Prerequisites
|
|
|
|
- Python >3.6
|
|
- Pip
|
|
|
|
## Quickstart (using poetry)
|
|
|
|
```
|
|
pip3 install poetry
|
|
git clone <repo-url>
|
|
cd <local-repo-path>
|
|
local-repo-path $ git submodule init && git submodule update
|
|
local-repo-path $ poetry install
|
|
local-repo-path $ poetry run python webdavcli/webdavcli.py -h
|
|
Using python3.7 (3.7.6)
|
|
usage: webdavcli.py [-h] remote_dir local_dir
|
|
|
|
Pulls a WebDAV remote directory.
|
|
|
|
positional arguments:
|
|
remote_dir remote source path
|
|
local_dir local target path
|
|
|
|
optional arguments:
|
|
-h, --help show this help message and exit
|
|
|
|
```
|
|
|
|
To use the client, create a file `.env` in the `local-repo-path` with the following content (adapt it according to your environment):
|
|
|
|
```
|
|
WEBDAV_SYNC_REMOTE_URL="https://nextcloud.example.tld/remote.php/dav/files/<username>/"
|
|
WEBDAV_SYNC_REMOTE_USER="<username>"
|
|
WEBDAV_SYNC_REMOTE_PASS="<password>"
|
|
```
|
|
|
|
Ensure that the remote WebDAV directory exists and then run the client, supplying a remote directory and a local target directory:
|
|
|
|
```
|
|
poetry run python webdavcli/webdavcli.py <remote_dir> <local_dir>
|
|
```
|