Всем привет. Как получить хэш файла на диске webdav для переменной hash_remote?
# Функция для вычисления хэша файла
def calculate_hash(file_path):
hash_md5 = hashlib.md5()
with open(file_path, 'rb') as f:
for chunk in iter(lambda: f.read(4096), b''):
hash_md5.update(chunk)
return hash_md5.hexdigest()
# Список файлов на сетевом диске
for file in media_files:
filename = os.path.basename(file)
remote_path = f"{filename}"
local_path = file
try:
# Проверяем, существует ли файл на WebDAV
if filename not in webdav_client.list():
# Correctly format remote and local paths
webdav_client.upload_sync(remote_path = remote_path, local_path = local_path)
print(f"File uploaded: {filename}")
else:
print(f"File already exists: {filename}")
hash_local = calculate_hash(local_path)
print(f"Local file hash: {hash_local}")
hash_remote = calculate_hash(webdav_client.info(filename))
except Exception as e:
print(f"Error uploading file: {e}")
continue