Brasd99's picture
Refactoring + bug fix
08e6595
raw
history blame
No virus
1.4 kB
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)