From 4e34226a6a8a2242003f2d4c70f4edbeed463f8c Mon Sep 17 00:00:00 2001 From: shuaikangzhou <863909694@qq.com> Date: Sat, 13 Jan 2024 16:33:57 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=80=E4=BA=9Bemoji?= =?UTF-8?q?=E8=A7=A3=E6=9E=90=E5=A4=B1=E8=B4=A5=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/DataBase/exporter_docx.py | 8 ++++ app/ui/mainview.py | 45 +++--------------- app/ui/menu/about_dialog.cp312-win_amd64.pyd | Bin 0 -> 120320 bytes app/ui/menu/about_dialog.py | 46 ------------------- app/util/emoji.py | 4 ++ 5 files changed, 19 insertions(+), 84 deletions(-) create mode 100644 app/ui/menu/about_dialog.cp312-win_amd64.pyd delete mode 100644 app/ui/menu/about_dialog.py diff --git a/app/DataBase/exporter_docx.py b/app/DataBase/exporter_docx.py index 70ca9de..2fe4e51 100644 --- a/app/DataBase/exporter_docx.py +++ b/app/DataBase/exporter_docx.py @@ -342,9 +342,15 @@ class DocxExporter(ExporterBase): n = 0 index = 0 newdoc() + # document = docx.Document() + # doc = document.add_paragraph() for index, message in enumerate(messages): if index % 200 == 0 and index: + # doc = document.add_paragraph() + filename = os.path.join(origin_docx_path, f"{self.contact.remark}{n}.docx") + doc.save(filename) newdoc() + type_ = message[2] sub_type = message[3] timestamp = message[5] @@ -386,9 +392,11 @@ class DocxExporter(ExporterBase): print(f"【合并 DOCX {self.contact.remark}】{index + 1}/{len(docs)}") doc.insert(0, dx) try: + # document.save(filename) doc.save(filename) except PermissionError: filename = filename[:-5] + f'{time.time()}' + '.docx' + # document.save(filename) doc.save(filename) print(f"【完成导出 DOCX {self.contact.remark}】") self.okSignal.emit(1) diff --git a/app/ui/mainview.py b/app/ui/mainview.py index f27bb33..ca707a6 100644 --- a/app/ui/mainview.py +++ b/app/ui/mainview.py @@ -86,7 +86,7 @@ QCheckBox::indicator:checked{ """ -class MainWinController(QMainWindow, mainwindow.Ui_MainWindow,QCursorGif): +class MainWinController(QMainWindow, mainwindow.Ui_MainWindow, QCursorGif): exitSignal = pyqtSignal(bool) okSignal = pyqtSignal(bool) @@ -148,39 +148,7 @@ class MainWinController(QMainWindow, mainwindow.Ui_MainWindow,QCursorGif): self.setCursorTimeout(100) self.startBusy() - - - self.action_help_contact.triggered.connect( - lambda: QDesktopServices.openUrl(QUrl("https://blog.lc044.love/post/5"))) - self.action_help_chat.triggered.connect( - lambda: QDesktopServices.openUrl(QUrl("https://blog.lc044.love/post/5"))) - self.action_help_decrypt.triggered.connect( - lambda: QDesktopServices.openUrl(QUrl("https://blog.lc044.love/post/4"))) - self.listWidget.setVisible(False) - self.stackedWidget.setVisible(False) - self.listWidget.currentRowChanged.connect(self.setCurrentIndex) - tool_item = QListWidgetItem(Icon.Tool_Icon, '工具', self.listWidget) - chat_item = QListWidgetItem(Icon.Chat_Icon, '聊天', self.listWidget) - contact_item = QListWidgetItem(Icon.Contact_Icon, '好友', self.listWidget) - myinfo_item = QListWidgetItem(Icon.Home_Icon, '我的', self.listWidget) - tool_window = ToolWindow() - tool_window.get_info_signal.connect(self.set_my_info) - tool_window.decrypt_success_signal.connect(self.decrypt_success) - tool_window.load_finish_signal.connect(self.loading) - self.stackedWidget.addWidget(tool_window) - self.chat_window = ChatWindow() - # chat_window = QWidget() - self.stackedWidget.addWidget(self.chat_window) - self.contact_window = ContactWindow() - self.stackedWidget.addWidget(self.contact_window) - label = QLabel('该功能暂不支持哦') - label.setFont(QFont("微软雅黑", 50)) - label.setAlignment(Qt.AlignCenter) - self.stackedWidget.addWidget(label) - tool_window.load_finish_signal.connect(self.loading) - self.statusbar.showMessage('聊天窗口上划到顶部会加载新的聊天记录\n一次不行那就多来几次') - self.contact_window.load_finish_signal.connect(self.loading) - self.chat_window.load_finish_signal.connect(self.loading) + self.about_view = AboutDialog(main_window=self, parent=self) def setCurrentIndex(self, row): self.stackedWidget.setCurrentIndex(row) @@ -200,7 +168,7 @@ class MainWinController(QMainWindow, mainwindow.Ui_MainWindow,QCursorGif): self.avatar = QPixmap() try: img_bytes = misc_db.get_avatar_buffer(wxid) - except : + except: close_db() QMessageBox.critical(self, "数据库错误", "请重启微信后重试") import shutil @@ -244,7 +212,7 @@ class MainWinController(QMainWindow, mainwindow.Ui_MainWindow,QCursorGif): # self.startBusy() if self.sender() == self.action_output_CSV: self.outputThread = Output(None, type_=Output.CSV_ALL) - self.outputThread.startSignal.connect(lambda x:self.startBusy()) + self.outputThread.startSignal.connect(lambda x: self.startBusy()) self.outputThread.okSignal.connect( lambda x: self.message('聊天记录导出成功')) self.outputThread.start() @@ -267,8 +235,8 @@ class MainWinController(QMainWindow, mainwindow.Ui_MainWindow,QCursorGif): 关于 """ # QMessageBox.about(self, "关于",config.about) - about_view = AboutDialog(self) - about_view.show() + # about_view = AboutDialog(self) + self.about_view.show() def decrypt_success(self): QMessageBox.about(self, "解密成功", "请重新启动") @@ -284,6 +252,7 @@ class MainWinController(QMainWindow, mainwindow.Ui_MainWindow,QCursorGif): event.accept() else: event.ignore() + def close(self) -> bool: close_db() super().close() diff --git a/app/ui/menu/about_dialog.cp312-win_amd64.pyd b/app/ui/menu/about_dialog.cp312-win_amd64.pyd new file mode 100644 index 0000000000000000000000000000000000000000..701607e13308ddde9187d9a7edb466f8fb33b515 GIT binary patch literal 120320 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 aV;9G!#)79qr`Mj2oWAWe24DMgJ@DTsWN^m- literal 0 HcmV?d00001 diff --git a/app/ui/menu/about_dialog.py b/app/ui/menu/about_dialog.py deleted file mode 100644 index 13a944c..0000000 --- a/app/ui/menu/about_dialog.py +++ /dev/null @@ -1,46 +0,0 @@ -from PyQt5.QtCore import QSize, QUrl -from PyQt5.QtGui import QPixmap -from PyQt5.QtWidgets import QApplication, QDialog - -try: - from app.ui.menu.dialog import Ui_Dialog - from app import config - from app.resources import resource_rc -except: - from dialog import Ui_Dialog - from ..resources import resource_rc - - -class AboutDialog(QDialog, Ui_Dialog): - def __init__(self, parent=None): - super(AboutDialog, self).__init__(parent) - self.setupUi(self) - self.setWindowTitle('关于') - self.resize(QSize(640,520)) - self.init_ui() - - def init_ui(self): - pixmap = QPixmap(':/icons/icons/logo99.png') - self.label_logo.setPixmap(pixmap) - pixmap = QPixmap(':/icons/icons/weixin.png') - self.label_weixin.setPixmap(pixmap) - self.label_version.setText('《留痕》') - self.textBrowser.setHtml(config.about) - self.textBrowser.setOpenExternalLinks(True) - self.textBrowser.anchorClicked.connect(self.handleAnchorClicked) - - - def handleAnchorClicked(self, url): - # 打开默认浏览器 - QUrl(url).openUrl(url) -if __name__ == '__main__': - import sys - - app = QApplication(sys.argv) - dialog = AboutDialog() - result = dialog.exec_() # 使用exec_()获取用户的操作结果 - if result == QDialog.Accepted: - print("用户点击了导出按钮") - else: - print("用户点击了取消按钮") - sys.exit(app.exec_()) diff --git a/app/util/emoji.py b/app/util/emoji.py index 3b9fb13..5939b3a 100644 --- a/app/util/emoji.py +++ b/app/util/emoji.py @@ -9,6 +9,7 @@ emoji.py """ import os +import re import traceback import xml.etree.ElementTree as ET import sqlite3 @@ -52,6 +53,9 @@ def parser_xml(xml_string): try: root = ET.fromstring(xml_string) except: + res = re.search('.*', xml_string) + if res: + xml_string = res.group() root = ET.fromstring(xml_string.replace("&", "&")) emoji = root.find("./emoji") # Accessing attributes of the 'emoji' element