mirror of
https://github.com/billz/raspap-webgui.git
synced 2025-03-01 10:31:47 +00:00
initial install test
This commit is contained in:
86
api/modules/system.py
Normal file
86
api/modules/system.py
Normal file
@@ -0,0 +1,86 @@
|
||||
import subprocess
|
||||
|
||||
revisions = {
|
||||
'0002': 'Model B Revision 1.0',
|
||||
'0003': 'Model B Revision 1.0 + ECN0001',
|
||||
'0004': 'Model B Revision 2.0 (256 MB)',
|
||||
'0005': 'Model B Revision 2.0 (256 MB)',
|
||||
'0006': 'Model B Revision 2.0 (256 MB)',
|
||||
'0007': 'Model A',
|
||||
'0008': 'Model A',
|
||||
'0009': 'Model A',
|
||||
'000d': 'Model B Revision 2.0 (512 MB)',
|
||||
'000e': 'Model B Revision 2.0 (512 MB)',
|
||||
'000f': 'Model B Revision 2.0 (512 MB)',
|
||||
'0010': 'Model B+',
|
||||
'0013': 'Model B+',
|
||||
'0011': 'Compute Module',
|
||||
'0012': 'Model A+',
|
||||
'a01041': 'a01041',
|
||||
'a21041': 'a21041',
|
||||
'900092': 'PiZero 1.2',
|
||||
'900093': 'PiZero 1.3',
|
||||
'9000c1': 'PiZero W',
|
||||
'a02082': 'Pi 3 Model B',
|
||||
'a22082': 'Pi 3 Model B',
|
||||
'a32082': 'Pi 3 Model B',
|
||||
'a52082': 'Pi 3 Model B',
|
||||
'a020d3': 'Pi 3 Model B+',
|
||||
'a220a0': 'Compute Module 3',
|
||||
'a020a0': 'Compute Module 3',
|
||||
'a02100': 'Compute Module 3+',
|
||||
'a03111': 'Model 4B Revision 1.1 (1 GB)',
|
||||
'b03111': 'Model 4B Revision 1.1 (2 GB)',
|
||||
'c03111': 'Model 4B Revision 1.1 (4 GB)',
|
||||
'c03111': 'Model 4B Revision 1.1 (4 GB)',
|
||||
'a03140': 'Compute Module 4 (1 GB)',
|
||||
'b03140': 'Compute Module 4 (2 GB)',
|
||||
'c03140': 'Compute Module 4 (4 GB)',
|
||||
'd03140': 'Compute Module 4 (8 GB)',
|
||||
'c04170': 'Pi 5 (4 GB)',
|
||||
'd04170': 'Pi 5 (8 GB)'
|
||||
}
|
||||
|
||||
def hostname():
|
||||
return subprocess.run("hostname", shell=True, capture_output=True, text=True).stdout.strip()
|
||||
|
||||
def uptime():
|
||||
return subprocess.run("uptime -p", shell=True, capture_output=True, text=True).stdout.strip()
|
||||
|
||||
def systime():
|
||||
return subprocess.run("date", shell=True, capture_output=True, text=True).stdout.strip()
|
||||
|
||||
def usedMemory():
|
||||
return round(float(subprocess.run("free -m | awk 'NR==2{total=$2 ; used=$3 } END { print used/total*100}'", shell=True, capture_output=True, text=True).stdout.strip()),2)
|
||||
|
||||
def processorCount():
|
||||
return int(subprocess.run("nproc --all", shell=True, capture_output=True, text=True).stdout.strip())
|
||||
|
||||
def LoadAvg1Min():
|
||||
return round(float(subprocess.run("awk '{print $1}' /proc/loadavg", shell=True, capture_output=True, text=True).stdout.strip()),2)
|
||||
|
||||
def systemLoadPercentage():
|
||||
return round((float(LoadAvg1Min())*100)/float(processorCount()),2)
|
||||
|
||||
def systemTemperature():
|
||||
try:
|
||||
output = subprocess.run("cat /sys/class/thermal/thermal_zone0/temp", shell=True, capture_output=True, text=True).stdout.strip()
|
||||
return round(float(output)/1000,2)
|
||||
except ValueError:
|
||||
return 0
|
||||
|
||||
def hostapdStatus():
|
||||
return int(subprocess.run("pidof hostapd | wc -l", shell=True, capture_output=True, text=True).stdout.strip())
|
||||
|
||||
def operatingSystem():
|
||||
return subprocess.run('''grep PRETTY_NAME /etc/os-release | cut -d= -f2- | sed 's/"//g' ''', shell=True, capture_output=True, text=True).stdout.strip()
|
||||
|
||||
def kernelVersion():
|
||||
return subprocess.run("uname -r", shell=True, capture_output=True, text=True).stdout.strip()
|
||||
|
||||
def rpiRevision():
|
||||
output = subprocess.run("grep Revision /proc/cpuinfo | awk '{print $3}'", shell=True, capture_output=True, text=True).stdout.strip()
|
||||
try:
|
||||
return revisions[output]
|
||||
except KeyError:
|
||||
return 'Unknown Device'
|
||||
Reference in New Issue
Block a user