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.
		
		
		
		
			
				
					59 lines
				
				1.5 KiB
			
		
		
			
		
	
	
					59 lines
				
				1.5 KiB
			| 
								 
											2 years ago
										 
									 | 
							
								#!/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_()
							 |