annotate tools/python-PE/Routing/StartXML.py @ 8:6c40056777be

Initial revision
author fuchita
date Sat, 16 Feb 2008 13:18:02 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
8
6c40056777be Initial revision
fuchita
parents:
diff changeset
1 import re
6c40056777be Initial revision
fuchita
parents:
diff changeset
2 import sys
6c40056777be Initial revision
fuchita
parents:
diff changeset
3 import string
6c40056777be Initial revision
fuchita
parents:
diff changeset
4
6c40056777be Initial revision
fuchita
parents:
diff changeset
5 sys.path.append('../modules')
6c40056777be Initial revision
fuchita
parents:
diff changeset
6
6c40056777be Initial revision
fuchita
parents:
diff changeset
7 import FederatedLinda
6c40056777be Initial revision
fuchita
parents:
diff changeset
8
6c40056777be Initial revision
fuchita
parents:
diff changeset
9 ROUTING_HEADER_FORMAT = "!I"
6c40056777be Initial revision
fuchita
parents:
diff changeset
10 TUPLE_ID_LINKCONFIG = 1
6c40056777be Initial revision
fuchita
parents:
diff changeset
11 TUPLE_ID_ROUTING = 2
6c40056777be Initial revision
fuchita
parents:
diff changeset
12
6c40056777be Initial revision
fuchita
parents:
diff changeset
13 ROUTING_COMMAND_CONNECT = 1
6c40056777be Initial revision
fuchita
parents:
diff changeset
14 ROUTING_COMMAND_DISCONNECT = 2
6c40056777be Initial revision
fuchita
parents:
diff changeset
15 ROUTING_COMMAND_TRANSFER = 3
6c40056777be Initial revision
fuchita
parents:
diff changeset
16 ROUTING_COMMAND_UPDATE_TABLE = 4
6c40056777be Initial revision
fuchita
parents:
diff changeset
17
6c40056777be Initial revision
fuchita
parents:
diff changeset
18 testxml = \
6c40056777be Initial revision
fuchita
parents:
diff changeset
19 """<graph name = "Graf">
6c40056777be Initial revision
fuchita
parents:
diff changeset
20 <node label = "A" tsid = "ged.cr.ie.u-ryukyu.ac.jp:10000">
6c40056777be Initial revision
fuchita
parents:
diff changeset
21 <destination label = "B"/>
6c40056777be Initial revision
fuchita
parents:
diff changeset
22 </node>
6c40056777be Initial revision
fuchita
parents:
diff changeset
23 <node label = "B" tsid = "ged.cr.ie.u-ryukyu.ac.jp:10001">
6c40056777be Initial revision
fuchita
parents:
diff changeset
24 <destination label = "C"/>
6c40056777be Initial revision
fuchita
parents:
diff changeset
25 <destination label = "D"/>
6c40056777be Initial revision
fuchita
parents:
diff changeset
26 </node>
6c40056777be Initial revision
fuchita
parents:
diff changeset
27 <node label = "C" tsid = "ged.cr.ie.u-ryukyu.ac.jp:10002">
6c40056777be Initial revision
fuchita
parents:
diff changeset
28 <destination label = "D"/>
6c40056777be Initial revision
fuchita
parents:
diff changeset
29 </node>
6c40056777be Initial revision
fuchita
parents:
diff changeset
30 <node label = "D" tsid = "ged.cr.ie.u-ryukyu.ac.jp:10003">
6c40056777be Initial revision
fuchita
parents:
diff changeset
31 <destination label = "A"/>
6c40056777be Initial revision
fuchita
parents:
diff changeset
32 </node>
6c40056777be Initial revision
fuchita
parents:
diff changeset
33 </graph>
6c40056777be Initial revision
fuchita
parents:
diff changeset
34 """
6c40056777be Initial revision
fuchita
parents:
diff changeset
35 def getFirstTsid(xmltext):
6c40056777be Initial revision
fuchita
parents:
diff changeset
36 p = re.compile('(?<=tsid = \").*(?=\")')
6c40056777be Initial revision
fuchita
parents:
diff changeset
37 m = p.findall(xmltext)
6c40056777be Initial revision
fuchita
parents:
diff changeset
38 return m[0]
6c40056777be Initial revision
fuchita
parents:
diff changeset
39
6c40056777be Initial revision
fuchita
parents:
diff changeset
40
6c40056777be Initial revision
fuchita
parents:
diff changeset
41
6c40056777be Initial revision
fuchita
parents:
diff changeset
42 if __name__ == "__main__":
6c40056777be Initial revision
fuchita
parents:
diff changeset
43
6c40056777be Initial revision
fuchita
parents:
diff changeset
44 if (len(sys.argv) == 2):
6c40056777be Initial revision
fuchita
parents:
diff changeset
45 print " : %s <xmlfilename>" % sys.argv[0]
6c40056777be Initial revision
fuchita
parents:
diff changeset
46 xmltext = open(sys.argv[1]).read()
6c40056777be Initial revision
fuchita
parents:
diff changeset
47 if xmltext is None:
6c40056777be Initial revision
fuchita
parents:
diff changeset
48 sys.exit(1)
6c40056777be Initial revision
fuchita
parents:
diff changeset
49 else:
6c40056777be Initial revision
fuchita
parents:
diff changeset
50 xmltext = testxml
6c40056777be Initial revision
fuchita
parents:
diff changeset
51
6c40056777be Initial revision
fuchita
parents:
diff changeset
52 firsttsid = getFirstTsid(xmltext)
6c40056777be Initial revision
fuchita
parents:
diff changeset
53
6c40056777be Initial revision
fuchita
parents:
diff changeset
54 flinda = FederatedLinda.FederatedLinda()
6c40056777be Initial revision
fuchita
parents:
diff changeset
55
6c40056777be Initial revision
fuchita
parents:
diff changeset
56 host, portnum = string.split(firsttsid,':')
6c40056777be Initial revision
fuchita
parents:
diff changeset
57
6c40056777be Initial revision
fuchita
parents:
diff changeset
58 linda1 = flinda.open(host, int(portnum))
6c40056777be Initial revision
fuchita
parents:
diff changeset
59 linda1.Out(TUPLE_ID_LINKCONFIG, testxml)
6c40056777be Initial revision
fuchita
parents:
diff changeset
60 flinda.sync()
6c40056777be Initial revision
fuchita
parents:
diff changeset
61
6c40056777be Initial revision
fuchita
parents:
diff changeset
62
6c40056777be Initial revision
fuchita
parents:
diff changeset
63