123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147 |
- from PyQt6 import QtCore
- from PyQt6.QtCore import QThreadPool
- from UI.findserver import Ui_FormLink
- from UI.mapWeb import Ui_FormMapWeb
- from PyQt6.QtCore import Qt
- from PyQt6.QtGui import QColor,QFont
- from PyQt6.QtWidgets import QWidget,QAbstractItemView,QMessageBox, QTableWidgetItem
- from .Worker2 import Worker2
- from .LogerinTxt import app_logger
- import os
- import requests
- from Functions import serverFind
- class mapWebWidget(Ui_FormMapWeb, QWidget):
- def __init__(self):
- super().__init__()
- self.setupUi(self)
- # self.webEngineView.load(QUrl('http://192.168.2.22:6010/'))
- class findServerWidget(Ui_FormLink, QWidget):
- selectServer_signal = QtCore.pyqtSignal(str)
- def __init__(self, parent=None):
- super().__init__(parent)
- try:
- self.threadpool = QThreadPool()
- self.setupUi(self)
- self.serverList = []
- self.tableWidget.setColumnCount(2)
- self.tableWidget.setHorizontalHeaderLabels(['服务器地址', '备注'])
- self.threadWork_findServer()
- self.tableWidget.setEditTriggers(QAbstractItemView.EditTrigger.NoEditTriggers)
- self.tableWidget.cellDoubleClicked.connect(self.selectServer)
- self.pushButton_manset.clicked.connect(self.setipinfo)
- except Exception as e:
- app_logger.log_error(e)
- def setipinfo(self):
- try:
- self.ipinfo = ""
- if os.path.exists("server.code") is True:
- read_path = os.getcwd() + "\\server.code"
- with open(read_path, "r", encoding="utf-8") as f2:
- rember_2 = f2.read()
- if ';' in rember_2:
- self.ipinfo = rember_2.split(';')[0]
- self.ipinfo1 = rember_2.split(':')[0]
- ip = "http://" + str(self.ipinfo) + "/static/linktest"
- try:
- res = requests.get(url=ip, timeout=30)
- self.selectServer_signal.emit(self.ipinfo1)
- if res.text == "ok":
- QMessageBox.warning(self, "提示", "服务器人工配置成功!")
- else:
- QMessageBox.warning(self, "提示", "服务器人工配置失败,请检查配置文件或联系管理员检查服务器!")
- except Exception as e:
- QMessageBox.warning(self, "提示", "服务器人工配置失败,请联系管理员检查服务器!")
- app_logger.log_error(e)
- else:
- QMessageBox.warning(self, "提示", "服务器人工配置失败,请检查配置文件或联系管理员检查服务器!")
- else:
- QMessageBox.warning(self, "提示", "服务器人工配置失败,系统缺少配置文件!")
- except Exception as e:
- app_logger.log_error(e)
- def setipinfo2(self):
- try:
- self.ipinfo = ""
- if os.path.exists("server.code") is True:
- read_path = os.getcwd() + "\\server.code"
- with open(read_path, "r", encoding="utf-8") as f2:
- rember_2 = f2.read()
- if ';' in rember_2:
- self.ipinfo = rember_2.split(';')[0]
- self.ipinfo1 = rember_2.split(':')[0]
- ip = "http://" + str(self.ipinfo) + "/static/linktest"
- try:
- res = requests.get(url=ip, timeout=30)
- self.selectServer_signal.emit(self.ipinfo1)
- if res.text == "ok":
- QMessageBox.warning(self, "提示", "服务器搜索失败,自动检索配置文件配置成功!")
- else:
- QMessageBox.warning(self, "提示", "服务器搜索失败,自动检索配置文件配置成功,服务器连接失败,请检查配置文件或联系管理员检查服务器!")
- except Exception as e:
- QMessageBox.warning(self, "提示", "服务器搜索失败,自动检索配置文件配置成功,服务器连接失败,请检查配置文件或联系管理员检查服务器!")
- app_logger.log_error(e)
- else:
- QMessageBox.warning(self, "提示", "服务器搜索失败,自动检索配置文件配置失败,请检查配置文件或联系管理员检查服务器!")
- else:
- QMessageBox.warning(self, "提示", "服务器搜索失败,自动检索配置文件配置失败,系统缺少配置文件!")
- except Exception as e:
- app_logger.log_error(e)
- def selectServer(self, row, col):
- # print(self.tableWidget.item(row,col).text())
- try:
- self.selectServer_signal.emit(self.tableWidget.item(row, 0).text())
- except Exception as e:
- app_logger.log_error(e)
- def threadWork_findServer(self):
- try:
- worker = Worker2(self.fn)
- worker.signals.result.connect(self.print_out_result)
- self.threadpool.start(worker)
- except Exception as e:
- app_logger.log_error(e)
- def fn(self):
- try:
- serverList = serverFind.findServer()
- return serverList
- except Exception as e:
- app_logger.log_error(e)
- def print_out_result(self, dlist):
- try:
- self.serverList = dlist
- # print(self.serverList)
- if self.serverList == [] or self.serverList ==None:
- self.setipinfo2()
- else:
- self.tableWidget.setRowCount(len(self.serverList))
- rowNum = 0
- for row in self.serverList:
- colNum = 0
- for col in row:
- self.tableWidget.setItem(rowNum, colNum, QTableWidgetItem(col))
- self.tableWidget.item(rowNum, colNum).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
- if "测试服务器" in row[1]:
- self.tableWidget.item(rowNum, colNum).setForeground(QColor('red'))
- elif "主机服务器" in row[1]:
- self.tableWidget.item(rowNum, colNum).setForeground(QColor('green'))
- font = QFont()
- # font.setFamily("SimHei")
- font.setFamily("Microsoft YaHei")
- font.setBold(True)
- self.tableWidget.item(rowNum, colNum).setFont(font)
- else:
- self.tableWidget.item(rowNum, colNum).setForeground(QColor('blue'))
- colNum += 1
- rowNum += 1
- self.tableWidget.resizeColumnsToContents()
- except Exception as e:
- app_logger.log_error(e)
|