Add buildArtifacts and build_interfaces 89/8089/1
authorying.yunlong <ying.yunlong@zte.com.cn>
Sat, 19 Aug 2017 08:30:23 +0000 (16:30 +0800)
committerying.yunlong <ying.yunlong@zte.com.cn>
Sat, 19 Aug 2017 08:30:23 +0000 (16:30 +0800)
Implementing buildArtifacts and
 build_interfaces Methods.

Change-Id: I71d39e7b88c219bb2e905893be5eed99ed9a8768
Issue-ID: VFC-119
Signed-off-by: ying.yunlong <ying.yunlong@zte.com.cn>
lcm/pub/utils/toscaparser/basemodel.py
lcm/pub/utils/toscaparser/nsdmodel.py

index 143120e..254a326 100644 (file)
@@ -175,4 +175,19 @@ class BaseInfoModel(object):
                  if m == input_def.name][0]
             capabilities = re.sub(r'\{"get_input":\s*"([\w|\-]+)"\}', json.dumps(aa.default), capabilities,1)
         if capabilities != 'null':
-            ret['capabilities'] = json.loads(capabilities)
\ No newline at end of file
+            ret['capabilities'] = json.loads(capabilities)
+
+    def buildArtifacts(self, nodeTemplate, inputs, ret):
+        artifacts = json.dumps(nodeTemplate.entity_tpl.get('artifacts', None))
+        match = re.findall(r'\{"get_input":\s*"([\w|\-]+)"\}',artifacts)
+        for m in match:
+            aa= [input_def for input_def in inputs
+                 if m == input_def.name][0]
+            artifacts = re.sub(r'\{"get_input":\s*"([\w|\-]+)"\}', json.dumps(aa.default), artifacts,1)
+        if artifacts != 'null':
+            ret['artifacts'] = json.loads(artifacts)
+
+    def build_interfaces(self, node_template):
+        if 'interfaces' in node_template.entity_tpl:
+            return node_template.entity_tpl['interfaces']
+        return None
\ No newline at end of file
index f051206..c6e4943 100644 (file)
@@ -53,7 +53,7 @@ class EtsiNsdInfoModel(BaseInfoModel):
         ret['properties'] = self.verify_properties(props, inputs, parsed_params)
         ret['requirements'] = self.build_requirements(nodeTemplate)
         self.buildCapabilities(nodeTemplate, inputs, ret)
-        self.buildArtifacts(nodeTemplate, inputs, ret)
-        interfaces = self.build_interfaces(nodeTemplate)
-        if interfaces: ret['interfaces'] = interfaces
+        self.buildArtifacts(nodeTemplate, inputs, ret)
+        interfaces = self.build_interfaces(nodeTemplate)
+        if interfaces: ret['interfaces'] = interfaces
         return ret