From 6bd0b0d6249461ad8eec9d483b2b700dd2b28dca Mon Sep 17 00:00:00 2001
From: gfdgd_xi <3025613752@qq.com>
Date: Sat, 14 Jan 2023 13:55:25 +0800
Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E6=AD=A5=E6=B7=BB=E5=8A=A0=E7=A8=8B?=
=?UTF-8?q?=E5=BA=8F=E8=AF=84=E5=88=86=E5=8A=9F=E8=83=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ProgramFen.py | 121 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 121 insertions(+)
create mode 100755 ProgramFen.py
diff --git a/ProgramFen.py b/ProgramFen.py
new file mode 100755
index 0000000..0c432c9
--- /dev/null
+++ b/ProgramFen.py
@@ -0,0 +1,121 @@
+#!/usr/bin/env python3
+import os
+import sys
+import base64
+import traceback
+import req as requests
+import PyQt5.QtGui as QtGui
+import PyQt5.QtCore as QtCore
+import PyQt5.QtWidgets as QtWidgets
+
+class ProgramRunStatusShow():
+ msgWindow = None
+ def ShowWindow():
+ try:
+ fenlists = []
+ for i in range(6):
+ fenlists.append(int(requests.get(base64.b64decode("aHR0cHM6Ly9jb2RlLmdpdGxpbmsub3JnLmNuL2dmZGdkLXhpLW9yZy93aW5lLXJ1bm5lci1kb3dubG9hZHMtb2YtcnVubmVyL3Jhdy9icmFuY2gvbWFzdGVyL0Zlbi9GZW4=").decode("utf-8") + f"{i}.txt").text))
+ tipsInfo = ""
+ except:
+ traceback.print_exc()
+ fenlists = [0, 0, 0, 0, 0]
+ tipsInfo = "暂时无人提交此脚本运行情况,是否立即提交?"
+
+ maxHead = fenlists.index(max(fenlists))
+ allNumber = 0
+ for i in fenlists:
+ allNumber += i
+ try:
+ tipsInfo = ""
+ for i in range(len(fenlists)):
+ tipsInfo += f"有 {fenlists[i] / allNumber * 100}% 的用户选择了 {i} 分({fenlists[i]}/{allNumber})\n"
+ maxNumber = max(fenlists) / allNumber * 100
+ #if tipsInfo == "":
+ # tipsInfo = f"有{maxNumber}%的用户选择了这个评分"
+ except:
+ pass
+ ProgramRunStatusShow.msgWindow = QtWidgets.QMainWindow()
+ msgWidget = QtWidgets.QWidget()
+ msgWidgetLayout = QtWidgets.QGridLayout()
+ starLayout = QtWidgets.QHBoxLayout()
+ uploadButton = QtWidgets.QPushButton(QtCore.QCoreApplication.translate("U", "点此上传运行情况"))
+ uploadButton.clicked.connect(ProgramRunStatusUpload.ShowWindow)
+ msgWidgetLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "综合评价:")), 0, 0)
+ msgWidgetLayout.addLayout(starLayout, 0, 1)
+ msgWidgetLayout.addWidget(QtWidgets.QLabel(tipsInfo), 1, 0, 1, 2)
+ msgWidgetLayout.addWidget(uploadButton, 3, 0, 1, 2)
+ end = 5
+ if maxHead > 5:
+ for i in range(end):
+ starLayout.addWidget(QtWidgets.QLabel(f"
"))
+ else:
+ for i in range(maxHead):
+ starLayout.addWidget(QtWidgets.QLabel(f"
"))
+ head = maxHead
+ for i in range(head, end):
+ starLayout.addWidget(QtWidgets.QLabel(f"
"))
+ msgWidget.setLayout(msgWidgetLayout)
+ ProgramRunStatusShow.msgWindow.setCentralWidget(msgWidget)
+ ProgramRunStatusShow.msgWindow.setWindowIcon(QtGui.QIcon(iconPath))
+ ProgramRunStatusShow.msgWindow.setWindowTitle(f"程序运行情况")
+ ProgramRunStatusShow.msgWindow.show()
+
+class ProgramRunStatusUpload():
+ msgWindow = None
+ starLayout = None
+ fen = None
+ starList = []
+ sha1Value = ""
+ programName = None
+ def ChangeStar():
+ if ProgramRunStatusUpload.fen.currentIndex() > 5:
+ for i in ProgramRunStatusUpload.starList:
+ i.setText(f"
")
+ return
+ for i in range(ProgramRunStatusUpload.fen.currentIndex()):
+ ProgramRunStatusUpload.starList[i].setText(f"
")
+ head = ProgramRunStatusUpload.fen.currentIndex()
+ end = len(ProgramRunStatusUpload.starList)
+ for i in range(head, end):
+ ProgramRunStatusUpload.starList[i].setText(f"
")
+
+ def ShowWindow():
+ ProgramRunStatusUpload.starList = []
+ ProgramRunStatusUpload.msgWindow = QtWidgets.QMainWindow(ProgramRunStatusShow.msgWindow)
+ msgWidget = QtWidgets.QWidget()
+ msgWidgetLayout = QtWidgets.QGridLayout()
+ ProgramRunStatusUpload.fen = QtWidgets.QComboBox()
+ ProgramRunStatusUpload.starLayout = QtWidgets.QHBoxLayout()
+ upload = QtWidgets.QPushButton(QtCore.QCoreApplication.translate("U", "上传"))
+ upload.clicked.connect(ProgramRunStatusUpload.Upload)
+ # 生成星星列表
+ for i in [1, 1, 1, 1, 1]:
+ ProgramRunStatusUpload.starList.append(QtWidgets.QLabel(f"
"))
+ ProgramRunStatusUpload.starLayout.addWidget(ProgramRunStatusUpload.starList[-1])
+ ProgramRunStatusUpload.starLayout.addItem(QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum))
+ ProgramRunStatusUpload.fen.addItems(["0分", "1分", "2分", "3分", "4分", "5分"])
+ ProgramRunStatusUpload.fen.setCurrentIndex(5)
+ ProgramRunStatusUpload.fen.currentIndexChanged.connect(ProgramRunStatusUpload.ChangeStar)
+ msgWidgetLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "评分:")), 1, 0)
+ msgWidgetLayout.addWidget(ProgramRunStatusUpload.fen, 1, 1)
+ msgWidgetLayout.addLayout(ProgramRunStatusUpload.starLayout, 2, 1)
+ msgWidgetLayout.addWidget(upload, 3, 1)
+ msgWidget.setLayout(msgWidgetLayout)
+ ProgramRunStatusUpload.msgWindow.setCentralWidget(msgWidget)
+ ProgramRunStatusUpload.msgWindow.setWindowTitle(QtCore.QCoreApplication.translate("U", "上传程序运行情况"))
+ ProgramRunStatusUpload.msgWindow.setWindowIcon(QtGui.QIcon(iconPath))
+ ProgramRunStatusUpload.msgWindow.show()
+
+ def Upload():
+ try:
+ QtWidgets.QMessageBox.information(ProgramRunStatusUpload.msgWindow, QtCore.QCoreApplication.translate("U", "提示"), requests.get(f"http://120.25.153.144/spark-deepin-wine-runner/Install.php?Version=Fen{ProgramRunStatusUpload.fen.currentIndex()}").json()["Error"])
+ except:
+ traceback.print_exc()
+ QtWidgets.QMessageBox.critical(ProgramRunStatusUpload.msgWindow, QtCore.QCoreApplication.translate("U", "错误"), QtCore.QCoreApplication.translate("U", "数据上传失败!"))
+
+if __name__ == "__main__":
+ programPath = os.path.split(os.path.realpath(__file__))[0] # 返回 string
+ iconPath = "{}/deepin-wine-runner.svg".format(programPath)
+ app = QtWidgets.QApplication(sys.argv)
+ ProgramRunStatusShow.ShowWindow()
+ app.exec_()