improved docs.
[monitor.git] / nodeinfo.py
index fee8eb3..726f250 100755 (executable)
@@ -1,20 +1,19 @@
 #!/usr/bin/python
 
-import plc
+from monitor.wrapper import plc
 api = plc.getAuthAPI()
 
 from monitor import *
-#import database
-import reboot
+from monitor import util
+from monitor import parser as parsermodule
 
-import time
-from model import *
-from nodecommon import *
-from unified_model import node_end_record, PersistFlags
-
-import util.file
+from monitor.database.info.model import *
+from monitor import reboot
 
-import parser as parsermodule
+import time
+from monitor.model import *
+from monitor.common import *
+#from monitor.model import node_end_record, PersistFlags
 
 parser = parsermodule.getParser()
 parser.set_defaults(node=None, 
@@ -45,8 +44,11 @@ def plc_print_nodeinfo(plcnode):
                 diff_time(plcnode['last_contact']), plcnode['key'])
 
 def fb_print_nodeinfo(fbnode):
-       pf = PersistFlags(fbnode['hostname'], 1, db='node_persistflags')
-       fbnode['last_change'] = diff_time(pf.last_changed)
+       pf = HistoryNodeRecord.get_by(hostname= fbnode['hostname'])
+       try:
+               fbnode['last_change'] = diff_time(pf.last_changed)
+       except:
+               fbnode['last_change'] = diff_time(time.time())
        print "   Checked: ",
        if 'checked' in fbnode:
                print "%11.11s " % diff_time(fbnode['checked'])
@@ -138,11 +140,11 @@ if config.findbad:
 for node in config.args:
        config.node = node
 
-       fb = database.dbLoad("findbad")
-       plc_nodeinfo = api.GetNodes({'hostname': config.node}, None)[0]
-       fb_nodeinfo  = fb['nodes'][config.node]['values']
-
+       plc_nodeinfo = plccache.GetNodeByName(config.node)
+       fb_noderec = FindbadNodeRecord.get_latest_by(hostname=node) 
+       fb_nodeinfo = fb_noderec.to_dict()
        plc_print_nodeinfo(plc_nodeinfo)
+
        fb_nodeinfo['hostname'] = node
        fb_print_nodeinfo(fb_nodeinfo)