import uvicornfrom PIL.PcxImagePlugin import loggerfrom PySide6.QtCore import QByteArrayfrom fastapi import FastAPIfrom loguru import loggerfrom commonLib.sftp.sftpClient import SftpClientfrom commonLib.udpComm.udpComm import UdpCommfrom drtdTools.compareYamlFile.compareYamlFile import CompareYamlFilefrom testDir.fastapi_app.file_api import FileAPIfrom testDir.pdfTest import PdfGeneratorfrom testDir.qmlTest.qmlTest import QmlTestqmlTest = Nonedef testQml(context=None, name="QmlTest"):global qmlTestqmlTest = QmlTest(context, name)def testFlastApi():app = FastAPI()app.include_router(FileAPI().router, prefix="/file", tags=["文件接口"])uvicorn.run(app, host="0.0.0.0", port=8000)def testSftp():host = "192.168.73.129"port = 20022sftp = SftpClient(host, port, username="root", password="1")if not sftp.connect():logger.error(f"{host}:{port} connect failed")returnsftp.download_file("/root/virtual_rpt_version.ini", "./aaaa.log")sftp.upload_file("./bb.log", "/home/111/222/333/444/555/666/bb.log")sftp.close()def testPdfOutput():pdfGenerator = PdfGenerator("output.pdf")checkResults = {"serialNum": "23123213213123123123", # 序列号"HardDiskCapacity": True, # 硬盘容量"SoftwareVersion": True, # 软件版本"HardwareVersion": False, # 硬件版本"SpeakerPlay": True, # 喇叭播放"SpeakerMute": True, # 喇叭静默"GooseneckCapture": True, # 鹅颈采集"BodyPTT": True, # 机身PTT"BodyExtButton": True, # 机身扩展按钮"HandMicPTT": True, # 手咪PTT"HandMicCapture": True, # 手咪采集"MicPickup": True, # 话筒摘"MicHang": False, # 话筒挂"MicKeyI": True, # 话筒I键"MicKeyII": True, # 话筒II键"MicPlay": True, # 话筒播放"MicCapture": True, # 话筒采集"MicMute": True, # 话筒静默"TouchScreenPress": True, # 触摸屏按压"Result": True,}pdfGenerator.generate(checkResults)def handle_received(data: QByteArray, host, port):text = data.data().decode("utf-8", errors="ignore")logger.info(f"[主程序回调] 接收到数据: {text} 来自 {host.toString()}:{port}")def testUdp():udp = UdpComm()udp.bind()udp.dataReceived.connect(handle_received)udp.send_data(b"Hello from main.py", "127.0.0.1", 12345)def testYaml():comparer = CompareYamlFile()file1 = "./cfg/config.yaml" # 你第一个yaml文件路径file2 = "./cfg/config1.yaml" # 你第二个yaml文件路径try:diffs = comparer.compare_files(file1, file2)if diffs:logger.info("发现差异项:")for key, val in diffs.items():logger.info(f"{key}:")logger.info(f" file1 = {val['file1']}")logger.info(f" file2 = {val['file2']}")else:logger.info("两个文件内容完全一致。")except Exception as e:logger.info(f"比较时发生错误: {e}")def testFuncs():testSftp()# testFlastApi()
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。