scripts/gputemp.py

43 lines
1.1 KiB
Python
Executable File

#!/usr/bin/python
import os
import re
import logging
from subprocess import check_output
FORMAT = "%(asctime)s %(levelname)s %(message)s"
logging.basicConfig(format=FORMAT, filename=__file__+'.log', level=logging.DEBUG)
def is_exe(fpath):
return os.path.isfile(fpath) and os.access(fpath, os.X_OK)
aticonfig_available = is_exe("/usr/bin/aticonfig")
sensors_available = is_exe("/usr/bin/sensors")
if sensors_available:
commands = ["sensors radeon-pci-* | grep temp1", "sensors thinkpad-isa-* | grep ATI"]
for try_command in commands:
command = try_command
return_command = check_output(command, shell=True)
if return_command is not None:
break
if aticonfig_available:
command = "aticonfig --odgt"
# Run command
return_value = check_output(command, shell=True)
# Default return value
if sensors_available:
m = re.search(r'\+(.*)°C ',return_value.decode("utf-8"))
print(m.group(1))
logging.info(m.group(1))
elif aticonfig_available:
m = re.search(r'- (.*) C',return_value.decode("utf-8"))
print(m.group(1))
logging.info(m.group(1))
else:
print("?")
logging.info('?')