2022年3月12日土曜日

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クライアントのinfoメソッドを使用してWebDAV上のファイルの情報を取得します。以下のサンプルプログラムを保存して、実行します。
wdc3_info.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/Library.jpg'
result = client.info(remotepath)
for key,value in result.items():
  print("{}={}".format(key, value))

・実行コマンド
python3 wdc3_info.py

関連情報

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

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

0 件のコメント:

コメントを投稿