import requests import shutil import os def download_photo(url, save_path): response = requests.get(url) with open(save_path, 'wb') as file: file.write(response.content) def save_data(dump, dump_folder, update_progress, min_percent=50): update_progress(min_percent, 'Скачиваю фото и формирую дамп...') for i, (id, value) in enumerate(dump.items()): folder_path = os.path.join(dump_folder, f'{value["name"]}_{id}') os.makedirs(folder_path) for photo_url in value['photos']: file_name = photo_url.split("/")[-1] save_path = os.path.join(folder_path, file_name) download_photo(photo_url, save_path) with open(os.path.join(folder_path, 'chat.txt'), 'w') as file: for message in value['messages']: name = f'[{value["name"] if message["from"] == id else "Me"}]' file.write(f'{name}: {message["message"]}' + '\n') percent_range = 100 - min_percent percent = (((i + 1) / len(dump)) * percent_range + min_percent) / 100 update_progress(percent, 'Скачиваю фото и формирую дамп...') def create_folder(folder_name): if os.path.exists(folder_name): shutil.rmtree(folder_name) os.makedirs(folder_name)