改善python3.8以下版本的容错

This commit is contained in:
xaoyaoo 2023-12-18 22:36:11 +08:00
parent 5a98f08e5b
commit 1587095814
5 changed files with 29 additions and 21 deletions

View File

@ -76,6 +76,7 @@ qq交流群577704006左边二维码 or 点击链接加入群聊[pywxdum
* 11.增加好友的信息获取 * 11.增加好友的信息获取
* 12.备份后的聊天记录,恢复到微信中 * 12.备份后的聊天记录,恢复到微信中
* 13.朋友圈的查看与备份 * 13.朋友圈的查看与备份
* 14.微信存储空间清理,减少微信占用空间
## 4. 其他 ## 4. 其他

View File

@ -69,14 +69,15 @@ python build_exe.py
```shell script ```shell script
wxdump 模式 [参数] wxdump 模式 [参数]
# 运行模式(mode): # mode 运行模式:
# bias 获取微信基址偏移 # bias 获取微信基址偏移
# info 获取微信信息 # info 获取微信信息
# db_path 获取微信文件夹路径 # db_path 获取微信文件夹路径
# decrypt 解密微信数据库 # decrypt 解密微信数据库
# dbshow 聊天记录查看 # merge [测试功能]合并微信数据库(MSG.db or MediaMSG.db)
# export 聊天记录导出为html # dbshow 聊天记录查看
# all 获取微信信息,解密微信数据库,查看聊天记录 # export 聊天记录导出为html
# all 获取微信信息,解密微信数据库,查看聊天记录
``` ```
*示例* *示例*

View File

@ -5,13 +5,16 @@
# Author: xaoyaoo # Author: xaoyaoo
# Date: 2023/10/14 # Date: 2023/10/14
# ------------------------------------------------------------------------------- # -------------------------------------------------------------------------------
from .wx_info import BiasAddr,read_info, get_wechat_db,encrypt,batch_decrypt,decrypt from .wx_info import BiasAddr, read_info, get_wechat_db, encrypt, batch_decrypt, decrypt
from .wx_info import merge_copy_db, merge_msg_db, merge_media_msg_db,merge_db from .wx_info import merge_copy_db, merge_msg_db, merge_media_msg_db, merge_db
from .analyzer.db_parsing import read_img_dat, read_emoji, decompress_CompressContent, read_audio_buf, read_audio, parse_xml_string,read_BytesExtra from .analyzer.db_parsing import read_img_dat, read_emoji, decompress_CompressContent, read_audio_buf, read_audio, \
parse_xml_string, read_BytesExtra
from .ui import app_show_chat, get_user_list, export from .ui import app_show_chat, get_user_list, export
import os,json import os, json
VERSION_LIST_PATH = os.path.join(os.path.dirname(__file__), "version_list.json") VERSION_LIST_PATH = os.path.join(os.path.dirname(__file__), "version_list.json")
with open(VERSION_LIST_PATH, "r", encoding="utf-8") as f: with open(VERSION_LIST_PATH, "r", encoding="utf-8") as f:
VERSION_LIST = json.load(f) VERSION_LIST = json.load(f)
__version__ = "2.3.23"

View File

@ -10,6 +10,7 @@ import os
import sys import sys
from pywxdump import * from pywxdump import *
import pywxdump
wxdump_ascii = r""" wxdump_ascii = r"""
@ -352,19 +353,14 @@ class MainAll():
args.filestorage_path = FileStorage_path args.filestorage_path = FileStorage_path
MainShowChatRecords().run(args) MainShowChatRecords().run(args)
try: PYWXDUMP_VERSION = pywxdump.__version__
import importlib.metadata as importlib
except ImportError:
import importlib_metadata as importlib
PYWXDUMP_VERSION = importlib.version('pywxdump')
class CustomArgumentParser(argparse.ArgumentParser): class CustomArgumentParser(argparse.ArgumentParser):
def format_help(self): def format_help(self):
# 首先显示软件简介 # 首先显示软件简介
# 定义软件简介文本并进行格式化 # 定义软件简介文本并进行格式化
line_len = 70 line_len = 70
PYWXDUMP_VERSION = importlib.version('pywxdump') PYWXDUMP_VERSION = pywxdump.__version__
wxdump_line = '\n'.join([f'\033[36m{line:^{line_len}}\033[0m' for line in wxdump_ascii.split('\n') if line]) wxdump_line = '\n'.join([f'\033[36m{line:^{line_len}}\033[0m' for line in wxdump_ascii.split('\n') if line])
first_line = f'\033[36m{" PyWxDump v" + PYWXDUMP_VERSION + " ":=^{line_len}}\033[0m' first_line = f'\033[36m{" PyWxDump v" + PYWXDUMP_VERSION + " ":=^{line_len}}\033[0m'
brief = 'PyWxDump功能获取账号信息、解密数据库、查看聊天记录、导出聊天记录为html等' brief = 'PyWxDump功能获取账号信息、解密数据库、查看聊天记录、导出聊天记录为html等'
@ -381,7 +377,7 @@ class CustomArgumentParser(argparse.ArgumentParser):
def console_run(): def console_run():
# 创建命令行参数解析器 # 创建命令行参数解析器
parser = CustomArgumentParser(formatter_class=argparse.RawTextHelpFormatter) parser = CustomArgumentParser(formatter_class=argparse.RawTextHelpFormatter)
PYWXDUMP_VERSION = importlib.version('pywxdump') PYWXDUMP_VERSION = pywxdump.__version__
parser.add_argument('-V', '--version', action='version', version=f"PyWxDump v{PYWXDUMP_VERSION}") parser.add_argument('-V', '--version', action='version', version=f"PyWxDump v{PYWXDUMP_VERSION}")
# 添加子命令解析器 # 添加子命令解析器

View File

@ -3,7 +3,14 @@ from setuptools import setup, find_packages
with open("README.md", "r", encoding="utf-8") as fh: with open("README.md", "r", encoding="utf-8") as fh:
long_description = fh.read() long_description = fh.read()
version = "2.3.22" # 读取版本号 pywxdump/__init__.py 中的 __version__
with open("pywxdump/__init__.py", "r", encoding="utf-8") as f:
for line in f.readlines():
if line.startswith("__version__"):
version = line.split("=")[-1].strip().strip("\"'")
break
else:
raise RuntimeError("version not found")
install_requires = [ install_requires = [
"psutil", "psutil",