changes for 3.0
[monitor.git] / dumpact.py
1 #!/usr/bin/python
2
3 # Read in the act_* databases and print out a human readable version
4
5 import sys
6 import time
7 import getopt
8 import database 
9
10 def main():
11
12         act_all = database.dbLoad(sys.argv[1])
13         plcdb_hn2lb = database.dbLoad("plcdb_hn2lb")
14         s_nodenames = ""
15         sickdb = {}
16
17         sorted_keys = act_all.keys()
18         sorted_keys.sort()
19         for nodename in sorted_keys:
20                 diag_nodelist = act_all[nodename]
21                 if nodename in plcdb_hn2lb:
22                         lb = plcdb_hn2lb[nodename]
23                         if lb not in sickdb:
24                                 sickdb[lb] = {}
25                         sickdb[lb][nodename] = diag_nodelist
26
27         sorted_keys = sickdb.keys()
28         sorted_keys.sort()
29         for loginbase in sorted_keys:
30                 nodedict = sickdb[loginbase]
31                 sort_nodekeys = nodedict.keys()
32                 sort_nodekeys.sort()
33                 print "%s :" % loginbase
34                 for nodename in sort_nodekeys:
35                         if len(act_all[nodename]) == 0:
36                                 print "%20s : %-40s has no events" % (loginbase, nodename)
37                         else:
38                                 l_ev = act_all[nodename]
39                                 print "    %s" % nodename
40                                 for diag_node in l_ev:
41                                         keys = diag_node.keys()
42                                         keys.sort()
43                                         for k in keys:
44                                                 if "message" not in k and "msg" not in k:
45                                                         if 'time' in k:
46                                                                 s_time=time.strftime("%Y/%m/%d %H:%M:%S", time.gmtime(diag_node[k]))
47                                                                 print "\t'%s' : %s" % (k, s_time)
48                                                         else:
49                                                                 print "\t'%s' : %s" % (k, diag_node[k])
50                                         print "\t--"
51
52         print s_nodenames
53
54         
55 if __name__ == '__main__':
56         main()