2015-04-25 19:16:45 +03:00
|
|
|
#!/usr/bin/python
|
|
|
|
import os
|
|
|
|
import re
|
2017-02-18 09:32:51 +02:00
|
|
|
import logging
|
2015-04-25 19:16:45 +03:00
|
|
|
from subprocess import check_output
|
|
|
|
|
2017-02-18 09:32:51 +02:00
|
|
|
FORMAT = "%(asctime)s %(levelname)s %(message)s"
|
|
|
|
logging.basicConfig(format=FORMAT, filename=__file__+'.log', level=logging.DEBUG)
|
|
|
|
|
2015-04-25 19:16:45 +03:00
|
|
|
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:
|
2017-02-19 23:30:12 +02:00
|
|
|
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
|
2015-04-25 19:16:45 +03:00
|
|
|
if aticonfig_available:
|
|
|
|
command = "aticonfig --odgt"
|
|
|
|
|
|
|
|
# Run command
|
2017-02-18 09:39:31 +02:00
|
|
|
|
2015-04-25 19:16:45 +03:00
|
|
|
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))
|
2017-02-18 09:32:51 +02:00
|
|
|
logging.info(m.group(1))
|
2015-04-25 19:16:45 +03:00
|
|
|
elif aticonfig_available:
|
|
|
|
m = re.search(r'- (.*) C',return_value.decode("utf-8"))
|
|
|
|
print(m.group(1))
|
2017-02-18 09:32:51 +02:00
|
|
|
logging.info(m.group(1))
|
2015-04-25 19:16:45 +03:00
|
|
|
else:
|
|
|
|
print("?")
|
2017-02-18 09:32:51 +02:00
|
|
|
logging.info('?')
|