Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 24, 2020 04:26:28

postrel
Зарегистрирован: 2020-04-23
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

мониторинг WebDav-сервера и загрузка новых файлов с него

цель: мониторить WebDav-сервер на появление новых файлов независимо от каталога и с фильтром по расширени-ю(ям) и загрузка на комп (в одну папку) новых (появившихся на сервере с начала мониторинга)

хотел начать с малого: подключится и скачать файл, что там точно есть

 from webdav3.client import Client
options = {
 'webdav_hostname': "http://192.168.2.146/",
 'webdav_login': "",
 'webdav_password': ""
}
client = Client(options)
files = client.list()
print(files)
res1 = client.resource("image.jpg")
info = res1.info()
print(info)
#вариант 1
#res1.write(local_path="F:/image.jpg")
#вариант 2
kwargs = {
  'remote_path': "image.jpg",
  'local_path': "F:/image.jpg"
  #'callback': callback
}
#client.download_async(**kwargs)
оба варианта заканчиваются так:
webdav3.exceptions.MethodNotSupported: Method ‘is_dir’ not supported for http://192.168.2.146

вопроса два:
1) что в данном примере не так, почему не работает?
2) можно ли решить задачу комплексно (готовыми библиотеками) или нужно самому собирать список файлов, проверять его на появление новых и загрузку их по одному

Офлайн

#2 Апрель 25, 2020 02:22:47

@cckyi_boxxx
От:
Зарегистрирован: 2012-01-13
Сообщения: 181
Репутация: +  14  -
Профиль   Отправить e-mail  

мониторинг WebDav-сервера и загрузка новых файлов с него

В таких ситуациях надо читать доку на выброшенное вам исключение, в данном случае webdav3.exceptions.MethodNotSupported , как правило там написано когда оно вызывается. Во вторых вам-же черным по белому в ошибке написано что метод is_dir не поддерживается сервером, причин может быть две: во-первых в установленной версии сервера может быть не реалирзована поддержка этого метода и надо либо обновить либо откатить версию, во-вторых у используемого вами пользователя может нехватать прав в настройках сервака и нужног крутить его конфиги.



Отредактировано @cckyi_boxxx (Апрель 25, 2020 02:23:40)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version