2022年2月21日月曜日

Python WebDAV Client 3を使用してNextcloud上にファイルをアップロードする(poetry版)

Python WebDAV Client 3でNextcloudに接続して、ファイルをアップロードする事が出来ます。

インストール手順

1.poetryのインストール
sudo apt-get update && sudo apt-get -y install python3 python3.8-venv

curl -sSL https://install.python-poetry.org | python3 -

echo 'export PATH="/home/ubuntu/.local/bin:$PATH"' >> ~/.profile

source ~/.profile

2. webdav-client-python-3のインストール
以下のコマンドでwebdav-client-python-3をインストールした仮想環境を作成します
mkdir -p ~/webdav-client-python-3

cd ~/webdav-client-python-3

poetry init -n

poetry add webdavclient3

poetry shell

実行手順

WebDAVクライアントを使用してWebDAV上にファイルをアップロードします。以下のサンプルプログラムを保存して、実行します。
wdc3_upload.py
from webdav3.client import Client

dav_user='testuser'
dav_password='testpassword'
dav_server='yourserver:8080'
options = {
# rootにインストールしていない場合
#'webdav_hostname': "http://" + dav_server + "/nextcloud/remote.php/dav/files/" + dav_user + "/",
# rootにインストールしてある場合
'webdav_hostname': "http://" + dav_server + "/remote.php/dav/files/" + dav_user + "/",
'webdav_login':    dav_user,
'webdav_password': dav_password
}
client = Client(options)
client.verify = False # To not check SSL certificates (Default = True)

# コンテンツのアップロード
remotepath='Photos/minetest-floor.png'
localpath='./minetest-floor.png'
client.upload(remotepath, localpath)

・実行コマンド
python3 wdc3_upload.py

〇アップロード後の画面例

関連情報

・Python WebDAV Client 3
https://github.com/ezhov-evgeny/webdav-client-python-3

・Nextcloudに関する記事は、以下のまとめを参照してください。
Nextcloudのまとめ

0 件のコメント:

コメントを投稿