Spaces:
Runtime error
Runtime error
| 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=0.5): | |
| total_items = len(dump) | |
| percent_range = 1 - min_percent | |
| update_progress(min_percent, 'Скачиваю изображения и формирую дамп...') | |
| for i, (id, value) in enumerate(dump.items(), start=1): | |
| folder_path = os.path.join(dump_folder, f'{value["name"]}_{id}') | |
| os.makedirs(folder_path, exist_ok=True) | |
| 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 = ((i / total_items) * percent_range + min_percent) | |
| update_progress(percent, 'Скачиваю изображения и формирую дамп...') | |
| def create_folder(folder_name): | |
| if os.path.exists(folder_name): | |
| shutil.rmtree(folder_name) | |
| os.makedirs(folder_name) |