From 9567499b909fd9174aa07f28a78b6c59e8b05c36 Mon Sep 17 00:00:00 2001 From: trojvn Date: Sun, 16 Feb 2025 12:35:39 +0300 Subject: [PATCH] rename json and session file to phone number --- basethon/json_converter.py | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/basethon/json_converter.py b/basethon/json_converter.py index edb6c15..7c7458f 100644 --- a/basethon/json_converter.py +++ b/basethon/json_converter.py @@ -19,11 +19,23 @@ class JsonConverter(BaseSession): banned_dir: Path, proxy: str, json_write: bool = True, + rename: bool = False, ): + """ + Конвертер сессий в json + base_dir: директория с сессиями + errors_dir: директория куда перемещать сессии с ошибками + banned_dir: директория куда перемещать забаненные сессии + proxy: прокси для подключения формат: http:ip:port:user:pswd + json_write: записывать в json файл информацию о string_session + proxy? + rename: переименование сессий в формат phone.json и phone.session, + где ключ phone - берет из json файла, а также записывает в json файл + номер телефона в строку ключ session_file + """ super().__init__(base_dir, errors_dir, banned_dir) self.__api_id, self.__api_hash = 2040, "b18441a1ff607e10a989891a5462e627" + self.__json_write, self.__rename = json_write, rename self.__proxy = ProxyParser(proxy).asdict_thon - self.__json_write = json_write def _main(self, item: Path, json_file: Path, json_data: dict) -> dict: """ @@ -42,11 +54,20 @@ class JsonConverter(BaseSession): string_session = ss.save() with contextlib.suppress(Exception): asyncio.run(client.disconnect()) # type: ignore - del client - del ss + del client, ss loop.close() json_data["proxy"] = self.__proxy json_data["string_session"] = string_session + if self.__rename: + if phone := json_data.get("phone"): + for char in ["+", " ", "-", "(", ")"]: + phone = phone.replace(char, "") + if phone.isdigit(): + json_file.rename(self.base_dir / f"{phone}.json") + item.rename(self.base_dir / f"{phone}.session") + json_data["session_file"] = phone + if not self.__json_write: + json_write_sync(json_file, json_data) if self.__json_write: json_write_sync(json_file, json_data) return json_data