2e645032c9a26d9db03d428c4e9b2c8417620221
[releng.git] / utils / test / result_collection_api / opnfv_testapi / resources / pod_models.py
1 from opnfv_testapi.tornado_swagger_ui.tornado_swagger import swagger
2
3 __author__ = '__serena__'
4
5 # name: name of the POD e.g. zte-1
6 # mode: metal or virtual
7 # details: any detail
8 # role: ci-pod or community-pod or single-node
9
10
11 @swagger.model()
12 class PodCreateRequest(object):
13     def __init__(self, name, mode='', details='', role=""):
14         self.name = name
15         self.mode = mode
16         self.details = details
17         self.role = role
18
19     def format(self):
20         return {
21             "name": self.name,
22             "mode": self.mode,
23             "details": self.details,
24             "role": self.role,
25         }
26
27
28 @swagger.model()
29 class Pod(PodCreateRequest):
30     def __init__(self,
31                  name='', mode='', details='',
32                  role="", _id='', create_date=''):
33         super(Pod, self).__init__(name, mode, details, role)
34         self._id = _id
35         self.creation_date = create_date
36
37     @staticmethod
38     def from_dict(pod_dict):
39         if pod_dict is None:
40             return None
41
42         p = Pod()
43         p._id = pod_dict.get('_id')
44         p.creation_date = str(pod_dict.get('creation_date'))
45         p.name = pod_dict.get('name')
46         p.mode = pod_dict.get('mode')
47         p.details = pod_dict.get('details')
48         p.role = pod_dict.get('role')
49         return p
50
51     def format(self):
52         f = super(Pod, self).format()
53         f['creation_date'] = str(self.creation_date)
54         return f
55
56     def format_http(self):
57         f = self.format()
58         f['_id'] = str(self._id)
59         return f
60
61
62 @swagger.model()
63 class Pods(object):
64     """
65         @property pods:
66         @ptype pods: C{list} of L{Pod}
67     """
68     def __init__(self):
69         self.pods = list()
70
71     @staticmethod
72     def from_dict(res_dict):
73         if res_dict is None:
74             return None
75
76         res = Pods()
77         for pod in res_dict.get('pods'):
78             res.pods.append(Pod.from_dict(pod))
79         return res