You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
58 lines
1.5 KiB
58 lines
1.5 KiB
#!/usr/bin/env python3
|
|
import signal
|
|
import subprocess
|
|
|
|
signal.signal(signal.SIGINT, signal.SIG_DFL)
|
|
signal.signal(signal.SIGTERM, signal.SIG_DFL)
|
|
|
|
from PyQt5.QtCore import QTimer # pylint: disable=no-name-in-module, import-error
|
|
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QLabel # pylint: disable=no-name-in-module, import-error
|
|
from selfdrive.ui.qt.python_helpers import set_main_window
|
|
|
|
class Window(QWidget):
|
|
def __init__(self, parent=None):
|
|
super(Window, self).__init__(parent)
|
|
|
|
layout = QVBoxLayout()
|
|
self.setLayout(layout)
|
|
|
|
self.l = QLabel("jenkins runner")
|
|
layout.addWidget(self.l)
|
|
layout.addStretch(1)
|
|
layout.setContentsMargins(20, 20, 20, 20)
|
|
|
|
cmds = [
|
|
"cat /etc/hostname",
|
|
"echo AGNOS v$(cat /VERSION)",
|
|
"uptime -p",
|
|
]
|
|
self.labels = {}
|
|
for c in cmds:
|
|
self.labels[c] = QLabel(c)
|
|
layout.addWidget(self.labels[c])
|
|
|
|
self.setStyleSheet("""
|
|
* {
|
|
color: white;
|
|
font-size: 55px;
|
|
background-color: black;
|
|
font-family: "JetBrains Mono";
|
|
}
|
|
""")
|
|
|
|
self.timer = QTimer()
|
|
self.timer.timeout.connect(self.update)
|
|
self.timer.start(10 * 1000)
|
|
self.update()
|
|
|
|
def update(self):
|
|
for cmd, label in self.labels.items():
|
|
out = subprocess.run(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE,
|
|
shell=True, check=False, encoding='utf8').stdout
|
|
label.setText(out.strip())
|
|
|
|
if __name__ == "__main__":
|
|
app = QApplication([])
|
|
w = Window()
|
|
set_main_window(w)
|
|
app.exec_()
|
|
|