clearer names for actions, and infer actions better
[monitor.git] / monitor / common.py
index c3ece6f..ae32156 100644 (file)
@@ -43,12 +43,17 @@ def get_current_state(fbnode):
        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:
@@ -202,7 +207,11 @@ def get_nodeset(config):
                l_nodes = api.GetNodes(ng[0]['node_ids'], ['hostname'])
        elif config.site:
                site = api.GetSites(config.site)
-               l_nodes = api.GetNodes(site[0]['node_ids'], ['hostname'])
+               if len(site) > 0:
+                       l_nodes = api.GetNodes(site[0]['node_ids'], ['hostname'])
+               else:
+                       print "No site returned for : %s" % config.site
+                       return []
                
        l_nodes = [node['hostname'] for node in l_nodes]
 
@@ -240,6 +249,9 @@ 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
@@ -270,3 +282,14 @@ def found_within(recent_actions, action_type, within):
        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