#!/usr/bin/python
import time
import subprocess
from subprocess import PIPE,call
process = subprocess.Popen(["/usr/bin/dstat", "--nocolor", "--noheaders", "-n"], bufsize=0, stdin=PIPE, stdout=PIPE)
# $ /usr/local/bin/gpio -g mode 22 out
# amadiro@storage ~ $ /usr/local/bin/gpio -g write 22 1
def do_housekeeping():
subprocess.call(["/usr/local/bin/update-hdd-usage"])
subprocess.call(["/usr/local/bin/temperature-logger"])
call(["/etc/cron.daily/smartcheck"])
time.sleep(1)
call(["/usr/local/bin/hddsleep"])
time.sleep(1)
for x in range(0, 3):
process.stdout.readline() # discard first three header lines
call(["/etc/cron.daily/smartcheck"])
call(["/usr/local/bin/gpio", "-g", "mode", "22", "out"])
i = 0
do_housekeeping()
while True:
i += 1
if i % 3000 == 0:
do_housekeeping()
the_input = process.stdout.readline().strip()
call(["/usr/local/bin/gpio", "-g", "write", "22", "0"])
a = the_input.split(" ")
up = a[-1]
down = a[0]
f = open("/tmp/networkspeed", "w")
f.write("%s\n" % up)
f.write("%s\n" % down)
f.close()
if up[-1] == 'k':
if int(up[0:-1]) > 500:
call(["/usr/local/bin/gpio", "-g", "write", "22", "1"])
if down[-1] == 'k':
if int(down[0:-1]) > 500:
call(["/usr/local/bin/gpio", "-g", "write", "22", "1"])