File size: 1,403 Bytes
2f50f00
 
 
 
 
 
 
 
 
08e6595
 
 
 
 
c8d1e1a
08e6595
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2f50f00
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
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)