From abd2555a0d2fe087303964d0d09a350c432ec64d Mon Sep 17 00:00:00 2001 From: xaoyaoo Date: Mon, 6 May 2024 17:31:32 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=90=88=E5=B9=B6=E5=85=A8?= =?UTF-8?q?=E9=83=A8=E6=95=B0=E6=8D=AE=E5=BA=93=E7=9A=84=E5=91=BD=E4=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pywxdump/__init__.py | 2 +- pywxdump/wx_info/__init__.py | 3 ++- pywxdump/wx_info/merge_db.py | 18 ++++++++++++++++++ tests/test_real_time_msg.py | 18 ++++++++++++++++++ 4 files changed, 39 insertions(+), 2 deletions(-) create mode 100644 tests/test_real_time_msg.py diff --git a/pywxdump/__init__.py b/pywxdump/__init__.py index 8ba67a7..8d7204d 100644 --- a/pywxdump/__init__.py +++ b/pywxdump/__init__.py @@ -9,7 +9,7 @@ # parse_xml_string, read_BytesExtra # from .ui import app_show_chat, get_user_list, export from .wx_info import BiasAddr, read_info, get_wechat_db, batch_decrypt, decrypt, get_core_db -from .wx_info import merge_copy_db, merge_msg_db, merge_media_msg_db, merge_db, decrypt_merge, merge_real_time_db +from .wx_info import merge_copy_db, merge_msg_db, merge_media_msg_db, merge_db, decrypt_merge, merge_real_time_db,all_merge_real_time_db from .analyzer import DBPool from .dbpreprocess import get_user_list, get_recent_user_list, wxid2userinfo, ParsingMSG, ParsingMicroMsg, \ ParsingMediaMSG, ParsingOpenIMContact diff --git a/pywxdump/wx_info/__init__.py b/pywxdump/wx_info/__init__.py index a24cd16..baf70f1 100644 --- a/pywxdump/wx_info/__init__.py +++ b/pywxdump/wx_info/__init__.py @@ -8,4 +8,5 @@ from .get_wx_info import read_info, get_wechat_db, get_core_db from .get_bias_addr import BiasAddr from .decryption import batch_decrypt, decrypt -from .merge_db import merge_msg_db, merge_copy_db, merge_media_msg_db, merge_db, decrypt_merge,merge_real_time_db +from .merge_db import merge_msg_db, merge_copy_db, merge_media_msg_db, merge_db, decrypt_merge, merge_real_time_db, \ + all_merge_real_time_db diff --git a/pywxdump/wx_info/merge_db.py b/pywxdump/wx_info/merge_db.py index 74cd02b..6a6135a 100644 --- a/pywxdump/wx_info/merge_db.py +++ b/pywxdump/wx_info/merge_db.py @@ -403,3 +403,21 @@ def merge_real_time_db(key, db_path: str, merge_path: str, CreateTime: int = 0, os.remove(out_path) return True, merge_path + + +def all_merge_real_time_db(key, wx_path, merge_path): + if not merge_path or not key or not wx_path or not wx_path: + return False, "msg_path or media_path or wx_path or key is required" + try: + from pywxdump import get_core_db + except ImportError: + return False, "未找到模块 pywxdump" + + db_paths = get_core_db(wx_path, ["MediaMSG", "MSG", "MicroMsg"]) + if not db_paths[0]: + # return ReJson(1001, body="media_paths or msg_paths is required") + return False, "media_paths or msg_paths is required" + db_paths = db_paths[1] + for i in db_paths: + merge_real_time_db(key=key, db_path=i, merge_path=merge_path) + return True, merge_path diff --git a/tests/test_real_time_msg.py b/tests/test_real_time_msg.py new file mode 100644 index 0000000..1dc690b --- /dev/null +++ b/tests/test_real_time_msg.py @@ -0,0 +1,18 @@ +# -*- coding: utf-8 -*-# +# ------------------------------------------------------------------------------- +# Name: test_real_time_msg.py +# Description: +# Author: xaoyaoo +# Date: 2024/05/06 +# ------------------------------------------------------------------------------- +from pywxdump import all_merge_real_time_db + +key = "jikoagesrgjolaeri456456454523asdf413" +wx_path = "C:/*****/Tencent/WeChat Files/wxid_*****" +merge_path = "C:/merge_all.db" + +code, ret = all_merge_real_time_db(key=key, wx_path=wx_path, merge_path=merge_path) +if code: + print("合并成功: ", ret) +else: + print(ret)