MsAnastasiia
@MsAnastasiia
Девочка.

Как получить хэш файла через webdav3 библиотеку?

Всем привет. Как получить хэш файла на диске 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
  • Вопрос задан
  • 76 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы