1 from ckbot.logical import Cluster
2 from sys import argv, exit, stderr
3 from time import sleep
4
5 if __name__!="__main__":
6 exit()
7
8 nids = None
9 port = None
10 count = 1
11 out = stderr
12 arg = argv[1:]
13 while arg:
14 if arg[0] == "-n":
15 nids = map(int,arg[1].split(","))
16 arg[:2]=[]
17 continue
18 if arg[0] == "-c":
19 count = int(arg[1])
20 arg[:2]=[]
21 continue
22 if arg[0] == "-p":
23 port = eval(arg[1])
24 arg[:2]=[]
25 continue
26 if arg[0] == "-o":
27 out = open(arg[1],"w")
28 arg[:2]=[]
29 continue
30 print """
31 Options:
32 -n <node-id>
33 Which node to use
34 -c <count>
35 How many nodes to look for
36 -p <port>
37 Port descriptor (see port2port.newConnection)
38 -o <output-file>
39 Specify output file. Otherwise goes to STDERR
40 """
41 exit(5)
42
43 c = Cluster( port=port, count=count )
44 for nid in (nids if nids is not None else c.iterkeys()):
45 m = c[nid]
46 out.write("# Node ID : %d\n" % nid)
47 if m.mem is None:
48 out.write("# No .mem member -- properties are not readable\n")
49 continue
50 for adr,(nm,fmt) in m.mcu._ADDR_DCR.iteritems():
51 out.write("%s : %d\n" % (nm,m.mem[adr]))
52 sleep(0.02)
53