2022年3月13日日曜日

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_list.py
from webdav3.client import Client

dav_user='testuser'
dav_password='testpassword'
dav_server='mynextcloud: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)

files = client.list(get_info=True)
for file in files:
        if file['isdir'] == True:
                print("directory:" + file['path'])
        else:
                print("file:" + file['path'])

・実行コマンド
python3 wdc3_list.py

関連情報

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

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

0 件のコメント:

コメントを投稿