#!/usr/bin/python2
#coding: utf-8
import os
def readline(fname):
with open(fname) as handle:
return handle.readline()
def handle_cooling(basepath, devicename):
fnames = ('cur_state', 'max_state')
fpaths = (os.path.join(basepath, devicename, fname) for fname in fnames)
state, maxstate = (int(readline(fpath)) for fpath in fpaths)
print "%s %d/%d" % (devicename, state, maxstate)
def handle_thermal(basepath, devicename):
fpath = os.path.join(basepath, devicename, 'temp')
temp = float(readline(fpath))
print u"%s %g °C" % (devicename, temp / 1000.)
def main():
childops = (('cooling_device', handle_cooling),
('thermal_zone', handle_thermal),
)
basepath = '/sys/class/thermal'
filelist = os.listdir(basepath)
for entry in filelist:
for entrytype, operation in childops:
if entry.startswith(entrytype):
operation(basepath, entry)
break
if __name__ == '__main__':
main()
Comments