import struct
from monitor import reboot
from monitor import util
-from monitor import database
+from monitor import query
from monitor.wrapper import plc
from datetime import datetime, timedelta
return l
def color_pcu_state(fbnode):
+ if fbnode['plc_pcuid'] is None:
+ return 'NOPCU'
+ else:
+ return 'PCU'
if 'plcnode' in fbnode and 'pcu_ids' in fbnode['plcnode'] and len(fbnode['plcnode']['pcu_ids']) > 0 :
values = reboot.get_pcu_values(fbnode['plcnode']['pcu_ids'][0])
if values == None:
return fbnode['pcu']
else:
+ print fbnode.keys()
if 'pcu' not in fbnode:
return 'NOPCU'
else:
# perform this query after the above options, so that the filter above
# does not break.
if config.nodeselect:
- fbquery = FindbadNodeRecord.get_all_latest()
+ fbquery = HistoryNodeRecord.query.all()
node_list = [ n.hostname for n in fbquery ]
- l_nodes = node_select(config.nodeselect, node_list, None)
+ l_nodes = query.node_select(config.nodeselect, node_list, None)
return l_nodes
full_title = "exception running monitor %s" % title
m=Message(full_title, msg, False)
- m.send([config.cc_email])
+ m.send([config.exception_email])
return
def changed_lessthan(last_changed, days):
return False
def changed_greaterthan(last_changed, days):
+ if last_changed is None:
+ return False
+
if datetime.now() - last_changed > timedelta(days):
#print "last changed more than %s" % timedelta(days)
return True
print "%s NOT found_within %s in recent_actions" % (action_type, timedelta(within) )
return False
+
+class Time:
+ @classmethod
+ def dt_to_ts(cls, dt):
+ t = time.mktime(dt.timetuple())
+ return t
+
+ @classmethod
+ def ts_to_dt(cls, ts):
+ d = datetime.fromtimestamp(ts)
+ return d
+
+