From 5cab0e77f89dd02b8a315e1464353e7e9e07e7c9 Mon Sep 17 00:00:00 2001 From: shuaikangzhou <863909694@qq.com> Date: Wed, 13 Dec 2023 22:40:56 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E7=94=B1=E4=BA=8E=E5=BC=95?= =?UTF-8?q?=E7=94=A8=E6=B6=88=E6=81=AF=E8=A7=A3=E6=9E=90=E5=A4=B1=E8=B4=A5?= =?UTF-8?q?=E5=AF=BC=E8=87=B4=E7=9A=84=E9=97=AA=E9=80=80=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/DataBase/media_msg.py | 7 +++-- app/ui/contact/export_dialog.py | 3 ++ app/ui/tool/pc_decrypt/pc_decrypt.py | 2 +- app/util/compress_content.py | 41 ++++++++++++++++++---------- 4 files changed, 35 insertions(+), 18 deletions(-) diff --git a/app/DataBase/media_msg.py b/app/DataBase/media_msg.py index 46ba2e7..cb73125 100644 --- a/app/DataBase/media_msg.py +++ b/app/DataBase/media_msg.py @@ -78,8 +78,11 @@ class MediaMsg: # 获取 FFmpeg 可执行文件的路径 ffmpeg_path = get_ffmpeg_path() # 调用 FFmpeg - # subprocess.run([ffmpeg_path, f'''-loglevel quiet -y -f s16le -i {pcm_path} -ar 44100 -ac 1 {mp3_path}'''], check=True) - cmd = f'''{get_ffmpeg_path()} -loglevel quiet -y -f s16le -i {pcm_path} -ar 44100 -ac 1 {mp3_path}''' + cmd = f'''{ffmpeg_path} -loglevel quiet -y -f s16le -i {pcm_path} -ar 44100 -ac 1 {mp3_path}''' + system(cmd) + # 源码运行的时候下面的有效 + # 这里不知道怎么捕捉异常 + cmd = f'''{os.path.join(os.getcwd(), 'app', 'resources', 'ffmpeg.exe')} -loglevel quiet -y -f s16le -i {pcm_path} -ar 44100 -ac 1 {mp3_path}''' system(cmd) except subprocess.CalledProcessError as e: print(f"Error: {e}") diff --git a/app/ui/contact/export_dialog.py b/app/ui/contact/export_dialog.py index 7786fc6..d83d874 100644 --- a/app/ui/contact/export_dialog.py +++ b/app/ui/contact/export_dialog.py @@ -49,6 +49,9 @@ class ExportDialog(QDialog): layout.addWidget(checkbox) layout.addWidget(self.progress_bar) layout.addWidget(self.progress_label) + self.notice_label = QLabel(self) + self.notice_label.setText("注意:导出HTML时选择图片、视频、语音、表情包(特别是表情包)\n会导致大大影响导出速度,请合理选择导出的类型") + layout.addWidget(self.notice_label) hlayout = QHBoxLayout(self) self.export_button = QPushButton("导出") self.export_button.clicked.connect(self.export_data) diff --git a/app/ui/tool/pc_decrypt/pc_decrypt.py b/app/ui/tool/pc_decrypt/pc_decrypt.py index 77f6b6a..bba7eee 100644 --- a/app/ui/tool/pc_decrypt/pc_decrypt.py +++ b/app/ui/tool/pc_decrypt/pc_decrypt.py @@ -188,7 +188,7 @@ class DecryptControl(QWidget, decryptUi.Ui_Dialog): # 音频数据库文件 target_database = "app/DataBase/Msg/MediaMSG.db" # 源数据库文件列表 - source_databases = [f"app/DataBase/Msg/MediaMSG{i}.db" for i in range(1, 20)] + source_databases = [f"app/DataBase/Msg/MediaMSG{i}.db" for i in range(1, 200)] shutil.copy2("app/DataBase/Msg/MediaMSG0.db", target_database) # 使用一个数据库文件作为模板 # 合并数据库 try: diff --git a/app/util/compress_content.py b/app/util/compress_content.py index 4d6511e..d0ddfe3 100644 --- a/app/util/compress_content.py +++ b/app/util/compress_content.py @@ -48,19 +48,30 @@ def parser_reply(data: bytes): 'displayname': '用户名', } } - root = ET.XML(xml_content) - appmsg = root.find('appmsg') - msg_type = int(appmsg.find('type').text) - title = appmsg.find('title').text - refermsg_content = appmsg.find('refermsg').find('content').text - refermsg_type = int(appmsg.find('refermsg').find('type').text) - refermsg_displayname = appmsg.find('refermsg').find('displayname').text - return { - 'type': msg_type, - 'title': escape_js_and_html(title), - 'refer': None if refermsg_type != 1 else { - 'type': refermsg_type, - 'content': escape_js_and_html(refermsg_content), - 'displayname': escape_js_and_html(refermsg_displayname), + try : + root = ET.XML(xml_content) + appmsg = root.find('appmsg') + msg_type = int(appmsg.find('type').text) + title = appmsg.find('title').text + refermsg_content = appmsg.find('refermsg').find('content').text + refermsg_type = int(appmsg.find('refermsg').find('type').text) + refermsg_displayname = appmsg.find('refermsg').find('displayname').text + return { + 'type': msg_type, + 'title': escape_js_and_html(title), + 'refer': None if refermsg_type != 1 else { + 'type': refermsg_type, + 'content': escape_js_and_html(refermsg_content), + 'displayname': escape_js_and_html(refermsg_displayname), + } + } + except: + return { + 'type': 57, + 'title': "发生错误", + 'refer': { + 'type': '1', + 'content': '引用错误', + 'displayname': '用户名', + } } - }