OSDN Git Service

improve ssh performane
[ti2/ti2.git] / linkpair / linkpair.py
1 # vim: tabstop=4 shiftwidth=4 softtabstop=4
2 # -*- coding: utf-8 -*-
3 #
4
5 import base64
6 from device import Device
7 from port import Port
8
9
10 class LinkPair(object):
11     def __init__(self, device1, device2, port1, port2, format, format_name=""):
12         self.device1 = device1
13         self.device2 = device2
14         self.port1 = port1
15         self.port2 = port2
16         self.format = format
17         self.format_name = format_name
18
19     @apply
20     def device1():
21         def get(self):
22             return self.device1
23
24         def set(self, device):
25             self.device1 = device
26
27     @apply
28     def device2():
29         def get(self):
30             return self.device2
31
32         def set(self, device):
33             self.device2 = device
34
35     @apply
36     def port1():
37         def get(self):
38             return self.port1
39
40         def set(self, port):
41             self.port1 = port
42
43     @apply
44     def port2():
45         def get(self):
46             return self.port2
47
48         def set(self, port):
49             self.port2 = port
50
51     @apply
52     def format():
53         def get(self):
54             return self.__format
55
56         def set(self, format):
57             self.__format = format
58
59     def __str__(self):
60         return "[" + str(self.device1) + "]:" + str(self.port1) + \
61                " -- " + str(self.port2) + ":[" + str(self.device2) + "]"
62
63     def _get_format_as_string(self, format):
64         return "\"" + str(self.format) + "\""
65     
66     def get_linkpair_linkid(self):
67         return str(self.device1).replace(" ", "_") + "__" + \
68                str(self.device2).replace(" ", "_") + "__" + \
69                str(self.port1).replace(" ", "_") + "__" + \
70                str(self.port2).replace(" ", "_")
71     
72     def to_json(self):
73         return "{\"device1\":" + repr(self.device1) + "," + \
74                "\"device2\":" + repr(self.device2) + "," + \
75                "\"port1\":" + repr(self.port1) + "," + \
76                "\"port2\":" + repr(self.port2) + "," + \
77                "\"format\":" + self._get_format_as_string(self.format) + "}"