2021年2月12日金曜日

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

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

インストール手順(pipenvの場合)

1.pipenvのインストール
pipenvをインストール済みでない場合は、以下のコマンドでインストールします。
sudo dnf -y install python3

sudo pip3 install --upgrade pip

sudo pip3 install --upgrade setuptools

sudo pip3 install pipenv

echo "export PIPENV_VENV_IN_PROJECT=true" >> ~/.bashrc

source ~/.bashrc

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

cd ~/webdav-client-python-3

pipenv --python 3

pipenv install webdavclient3

pipenv shell

実行手順

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

dav_user='test'
dav_password='testpassword'
dav_server='mynextcloud'
options = {
'webdav_hostname': "http://" + dav_server + "/nextcloud/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.png'
localpath='/tmp/minetest.png'
client.upload(remotepath, localpath)

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

関連情報

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

・Nextcloudに関する他の情報は以下のまとめページを参照してください。
Nextcloudのまとめ

0 件のコメント:

コメントを投稿