Make pep8 more picky
[integration/test.git] / csit / libraries / Topology.py
1 """
2 Library for the robot based system test tool of the OpenDaylight project.
3 Authors: Baohua Yang@IBM, Denghui Huang@IBM
4 Updated: 2013-11-10
5 """
6 from robot.libraries.BuiltIn import BuiltIn
7
8
9 class Topology(object):
10     '''
11     Topology class provide topology database and provide many method to get property of topology.
12     '''
13     topo_nodes_db = [
14         [],
15         [{u'type': u'OF', u'id': u'00:00:00:00:00:00:00:01'}],
16         [{u'type': u'OF', u'id': u'00:00:00:00:00:00:00:01'},
17          {u'type': u'OF', u'id': u'00:00:00:00:00:00:00:02'},
18          {u'type': u'OF', u'id': u'00:00:00:00:00:00:00:03'}]
19     ]
20
21     def __init__(self):
22         self.builtin = BuiltIn()
23
24     def get_nodes_from_topology(self, topo_level):
25         '''
26         get nodes from topology database by topology tree level
27         '''
28         if isinstance(topo_level, str) or isinstance(topo_level, unicode):
29             if topo_level.isdigit():
30                 topo_level = int(topo_level)
31                 if topo_level <= 0:
32                     return None
33                 return self.topo_nodes_db[topo_level]
34             else:
35                 return None
36         elif isinstance(topo_level, int):
37             if topo_level <= 0:
38                 return None
39             return self.topo_nodes_db[topo_level]
40         else:
41             return None
42
43 if __name__ == '__main__':
44     topology = Topology()
45     print topology.get_nodes_from_topology(2)
46     print topology.get_nodes_from_topology('2')