|  |  |  | #!/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
 | 
					
						
							|  |  |  | from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QLabel
 | 
					
						
							|  |  |  | from openpilot.selfdrive.ui.qt.python_helpers import set_main_window
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class Window(QWidget):
 | 
					
						
							|  |  |  |   def __init__(self, parent=None):
 | 
					
						
							|  |  |  |     super().__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, capture_output=True,
 | 
					
						
							|  |  |  |                            shell=True, check=False, encoding='utf8').stdout
 | 
					
						
							|  |  |  |       label.setText(out.strip())
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | if __name__ == "__main__":
 | 
					
						
							|  |  |  |   app = QApplication([])
 | 
					
						
							|  |  |  |   w = Window()
 | 
					
						
							|  |  |  |   set_main_window(w)
 | 
					
						
							|  |  |  |   app.exec_()
 |