#!/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('?')