#!/usr/bin/python # -*- coding: utf-8 -*- #TODO check_speed is nearly the same as check_speeder, consolidate both scripts, probably by giving HIGH:LOW as params import sys import urllib if len(sys.argv) < 2 or '-h' in sys.argv: print ("?? usage: %s URL [low-mhashes] ..." % sys.argv[0]) print ("?? Server reply should look like this: '2011-07-11T09:00 400.0'") exit(3) URL=sys.argv[1] thresholds=[ float(i) for i in sys.argv[2:]] ecode=0 try: ret = urllib.urlopen(URL).read().split() date = ret[0] speeds = [float(i) for i in ret[1:]] print ("** %s : %s Mhashes" % (date,' '.join([str(i) for i in speeds]))) if len(speeds) != len(thresholds): raise Exception("!! Number of speeds != number of given thresholds") for i,speed in enumerate(speeds): if speed < thresholds[i]: print ("!! %.2f Mhash < %.2f Mhash ! (field %d)" %(speed,thresholds[i],i)) ecode=2 except Exception,e: print("!! Something aweful happened: "+str(e)) exit (1) #TODO return WARNING if date is too old if not ecode: print ("** Everything is fine!") exit(ecode)