Squashed commit of the following:
commitb7dcadf359Author: Julian Freeman <freemanjulian372@gmail.com> Date: Fri Feb 2 17:55:23 2024 -0400 v1.0.0 commitd84b107177Author: Julian Freeman <freemanjulian372@gmail.com> Date: Fri Feb 2 09:35:56 2024 -0400 dev 02020935 commita69ba157a5Author: Julian Freeman <freemanjulian372@gmail.com> Date: Thu Feb 1 21:49:26 2024 -0400 dev 02012149 commit38d98dee94Author: Julian Freeman <freemanjulian372@gmail.com> Date: Thu Feb 1 18:12:45 2024 -0400 dev 02011812 commit3e17def627Author: Julian Freeman <freemanjulian372@gmail.com> Date: Thu Feb 1 11:27:24 2024 -0400 dev 02011127 commit06327f3bfcAuthor: Julian Freeman <freemanjulian372@gmail.com> Date: Thu Feb 1 00:44:45 2024 -0400 dev 24.01.31
This commit is contained in:
101
mw_dailycheck.py
Normal file
101
mw_dailycheck.py
Normal file
@@ -0,0 +1,101 @@
|
||||
# coding: utf8
|
||||
import json
|
||||
from pathlib import Path
|
||||
from datetime import datetime
|
||||
from PySide6 import QtWidgets, QtGui, QtCore
|
||||
from wg_basic import WgBasic
|
||||
from wg_software import WgSoftware
|
||||
from wg_extensions import WgExtensions
|
||||
from global_vars import (
|
||||
request_content,
|
||||
accept_warning,
|
||||
)
|
||||
|
||||
|
||||
class UiMwDailyCheck(object):
|
||||
|
||||
def __init__(self, window: QtWidgets.QMainWindow):
|
||||
|
||||
self.cw = QtWidgets.QWidget(window)
|
||||
window.setCentralWidget(self.cw)
|
||||
|
||||
self.vly_m = QtWidgets.QVBoxLayout()
|
||||
self.cw.setLayout(self.vly_m)
|
||||
self.tw_m = QtWidgets.QTabWidget(self.cw)
|
||||
self.vly_m.addWidget(self.tw_m)
|
||||
self.wg_basic = WgBasic(self.cw)
|
||||
self.wg_software = WgSoftware(self.cw)
|
||||
self.wg_extensions = WgExtensions(self.cw)
|
||||
self.tw_m.addTab(self.wg_basic, "基本信息")
|
||||
self.tw_m.addTab(self.wg_software, "已安装软件")
|
||||
self.tw_m.addTab(self.wg_extensions, "已安装插件")
|
||||
|
||||
self.menu_bar = window.menuBar()
|
||||
self.menu_help = self.menu_bar.addMenu("帮助")
|
||||
self.menu_about = self.menu_bar.addMenu("关于")
|
||||
|
||||
self.act_update_safe = QtGui.QAction("更新安全标注", window)
|
||||
self.act_export_unknown = QtGui.QAction("导出未知", window)
|
||||
|
||||
self.act_about = QtGui.QAction("关于", window)
|
||||
self.act_about_qt = QtGui.QAction("关于 Qt", window)
|
||||
|
||||
self.menu_help.addActions([self.act_update_safe, self.act_export_unknown])
|
||||
self.menu_about.addActions([self.act_about, self.act_about_qt])
|
||||
|
||||
|
||||
class MwDailyCheck(QtWidgets.QMainWindow):
|
||||
|
||||
def __init__(self, version: tuple, parent=None):
|
||||
super().__init__(parent)
|
||||
self.version = version
|
||||
self.setWindowTitle("日常检查工具")
|
||||
self.setWindowIcon(QtGui.QIcon(":/images/dailycheck_128.png"))
|
||||
self.ui = UiMwDailyCheck(self)
|
||||
|
||||
self.ui.act_update_safe.triggered.connect(self.on_act_update_safe_triggered)
|
||||
self.ui.act_export_unknown.triggered.connect(self.on_act_export_unknown_triggered)
|
||||
self.ui.act_about.triggered.connect(self.on_act_about_triggered)
|
||||
self.ui.act_about_qt.triggered.connect(self.on_act_about_qt_triggered)
|
||||
|
||||
def sizeHint(self):
|
||||
return QtCore.QSize(800, 600)
|
||||
|
||||
def on_act_about_triggered(self):
|
||||
msg = f"日常检查工具\n\n适用于 Windows 平台。版本:{self.version[0]}.{self.version[1]}.{self.version[-1]}"
|
||||
QtWidgets.QMessageBox.about(self, "关于", msg)
|
||||
|
||||
def on_act_about_qt_triggered(self):
|
||||
QtWidgets.QMessageBox.aboutQt(self, "关于 Qt")
|
||||
|
||||
def on_act_update_safe_triggered(self):
|
||||
root_url = "https://julianfreeman.github.io/dailycheckutils"
|
||||
marks_all = request_content(f"{root_url}/marks_all.json").decode("utf8")
|
||||
if len(marks_all) == 0:
|
||||
return
|
||||
marks_all_d = json.loads(marks_all)
|
||||
self.ui.wg_software.update_safe(marks_all_d["software_win"])
|
||||
self.ui.wg_extensions.update_safe(marks_all_d["extensions"])
|
||||
self.ui.wg_basic.update_safe(marks_all_d["isp"], marks_all_d["manufacturer"])
|
||||
|
||||
def on_act_export_unknown_triggered(self):
|
||||
dirname = QtWidgets.QFileDialog.getExistingDirectory(self, "导出未知")
|
||||
if len(dirname) == 0:
|
||||
return
|
||||
now = datetime.strftime(datetime.now(), "%y%m%d%H%M")
|
||||
ex_file = Path(dirname, f"未知信息{now}.json")
|
||||
if accept_warning(self, ex_file.exists(), "警告", "文件已存在,确认覆盖吗?"):
|
||||
return
|
||||
|
||||
unknown_software = self.ui.wg_software.export_unknown()
|
||||
unknown_ext = self.ui.wg_extensions.export_unknown()
|
||||
unknown_isp_manu = self.ui.wg_basic.export_unknown()
|
||||
|
||||
unknown_all = {
|
||||
"software_win": unknown_software,
|
||||
"extensions": unknown_ext,
|
||||
}
|
||||
unknown_all.update(unknown_isp_manu)
|
||||
|
||||
ex_file.write_text(json.dumps(unknown_all, indent=4, ensure_ascii=False), "utf8")
|
||||
QtWidgets.QMessageBox.information(self, "提示", f"已导出到 {ex_file}")
|
||||
Reference in New Issue
Block a user