65b82f77087cdb0f2f5a489c5ac91b148cc57191
[releng.git] / utils / test / result_collection_api / resources / pod_models.py
1 __author__ = '__serena__'
2
3
4 class PodCreateRequest(object):
5     def __init__(self, name='', mode='', details=''):
6         self.name = name
7         self.mode = mode
8         self.details = details
9
10     def format(self):
11         return {
12             "name": self.name,
13             "mode": self.mode,
14             "details": self.details,
15         }
16
17
18 class Pod(PodCreateRequest):
19     """ describes a POD platform """
20     def __init__(self, name='', mode='', details='', _id='', create_date=''):
21         super(Pod, self).__init__(name, mode, details)
22         self._id = _id
23         self.creation_date = create_date
24
25     @staticmethod
26     def from_dict(pod_dict):
27         if pod_dict is None:
28             return None
29
30         p = Pod()
31         p._id = pod_dict.get('_id')
32         p.creation_date = str(pod_dict.get('creation_date'))
33         p.name = pod_dict.get('name')
34         p.mode = pod_dict.get('mode')
35         p.details = pod_dict.get('details')
36         return p
37
38     def format(self):
39         f = super(Pod, self).format()
40         f['creation_date'] = str(self.creation_date)
41         return f
42
43     def format_http(self):
44         f = self.format()
45         f['_id'] = str(self._id)
46         return f
47
48
49 class Pods(object):
50     def __init__(self, pods=list()):
51         self.pods = pods
52
53     @staticmethod
54     def from_dict(res_dict):
55         if res_dict is None:
56             return None
57
58         res = Pods()
59         for pod in res_dict.get('pods'):
60             res.pods.append(Pod.from_dict(pod))
61         return res