blob: 7b1e6cf92fc848ef0f616b7c77f80e84525e578a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
from toscalib.types.property import PropertyDefinition
from toscalib.types.operation import OperationDefinition
class InterfaceDefinition(object):
def __init__(self, name, content = None):
self.name = name
self.raw_content = content
self.parsed = False
self.operations = {}
self.type = None
self.inputs = {}
def _parse_content(self, db):
if self.parsed is True:
return
if self.raw_content is None:
self.parsed = True
return
for key_name in self.raw_content.keys():
if key_name == 'type':
self.type = self.raw_content[key_name]
continue
if key_name == 'inputs':
input_sec = self.raw_content['inputs']
for input_item in input_sec.keys():
self.inputs[input_item] = PropertyDefinition(input_item, input_sec[input_item])
self.inputs[input_item]._parse_content(db)
continue
self.operations[key_name] = OperationDefinition(self.name, key_name, self.raw_content[key_name])
self.operations[key_name]._parse_content(db)
self.parsed = True
return
|