#!/usr/bin/python """ simple test script to update G13 LCD with temperature values from lm-sensors """ import subprocess import re import time def doCmd(*cmd): # print("cmd = %r" % (cmd,)) p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE) out, err = p.communicate() return out #, err def get_sensors(): sensor_lines = doCmd('sensors').split('\n') print("sensor_lines = %r" % (sensor_lines,)) temp_re = re.compile(r'''([a-zA-Z])[a-zA-Z s]+([0-9])\:\s*\+([0-9.]+)[\xc2\xb0C]*C.*''') temps = [] for line in sensor_lines: m = temp_re.match(line) if m: tag, index, value = m.groups() print("%s%s = %s" % (tag, index, value)) # temps.append("%s%s:%s" % (tag, index, value)) temps.append("%s" % (value,)) # else: # print("failed to match %r" % (line,)) with open('/home/jtgans/.local/var/g13d/in', 'w') as p: p.write('pos 0 0 \n') p.write('out %s\n' % (' '.join(temps))) def main(): while True: get_sensors() time.sleep(1.0) if __name__ == '__main__': main()