52 lines
1.3 KiB
Python
Executable File
52 lines
1.3 KiB
Python
Executable File
#!/usr/bin/python3
|
|
import hddtemp
|
|
import cpufantemp
|
|
from rich import print
|
|
from rich.layout import Layout
|
|
from rich.panel import Panel
|
|
|
|
|
|
def main():
|
|
hddtempDict = hddtemp.getHddTemp()
|
|
fanTempDict = cpufantemp.getCpuTempAndFanSpeed()
|
|
|
|
layout = Layout()
|
|
layout.split_row(
|
|
Layout(name="left"),
|
|
Layout(name="center"),
|
|
Layout(name="right"),
|
|
)
|
|
|
|
## Fan speed on left
|
|
fanSpeedString = ""
|
|
for fanKey in sorted(fanTempDict["fan"].keys()):
|
|
fanSpeed = fanTempDict["fan"][fanKey]
|
|
fanSpeedString += f"{fanKey}: {fanSpeed:<4} RPM\n"
|
|
p = Panel(fanSpeedString, title="Fan Speed")
|
|
p.height = 15
|
|
layout["left"].update(p)
|
|
|
|
## CPU temp on center
|
|
cpuTempString = ""
|
|
for cpuKey in sorted(fanTempDict["cpu"].keys()):
|
|
cpuTemp = fanTempDict["cpu"][cpuKey]
|
|
cpuTempString += f"{cpuKey:<8}: {cpuTemp}°C\n"
|
|
p = Panel(cpuTempString, title="CPU Temperature")
|
|
p.height = 15
|
|
layout["center"].update(p)
|
|
|
|
## HDD temp on right
|
|
hddTempString = ""
|
|
print(hddtempDict)
|
|
for hddname in sorted(hddtempDict.keys()):
|
|
temp = hddtempDict[hddname].get("temp", -999.9)
|
|
hddTempString += f"{hddname}: {temp}°C\n"
|
|
p = Panel(hddTempString, title="HDD Temperature")
|
|
p.height = 15
|
|
layout["right"].update(p)
|
|
print(layout)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|