9b7e655b8f1a8e8c124389514adcf89c3540b559
[vfc/nfvo/lcm.git] / lcm / pub / utils / toscaparser / parser.py
1 # Copyright 2017 ZTE Corporation.\r
2 #\r
3 # Licensed under the Apache License, Version 2.0 (the "License");\r
4 # you may not use this file except in compliance with the License.\r
5 # You may obtain a copy of the License at\r
6 #\r
7 #         http://www.apache.org/licenses/LICENSE-2.0\r
8 #\r
9 # Unless required by applicable law or agreed to in writing, software\r
10 # distributed under the License is distributed on an "AS IS" BASIS,\r
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
12 # See the License for the specific language governing permissions and\r
13 # limitations under the License.\r
14 from os import R_OK, access\r
15 \r
16 from lcm.pub.exceptions import NSLCMException\r
17 \r
18 def parse_nsd_model(path, input_parameters):\r
19     isexist = check_file_exist(path)\r
20     if isexist:\r
21         nsd_tpl = parse_nsd_csar(path, input_parameters)\r
22     else:\r
23         raise NSLCMException('%s is not exist.' % path)\r
24     return nsd_tpl\r
25 \r
26 \r
27 def parse_vnfd_model(path, input_parameters):\r
28     isexist = check_file_exist(path)\r
29     if isexist:\r
30         vnfd_tpl = parse_vnfd_csar(path, input_parameters)\r
31     else:\r
32         raise NSLCMException('%s is not exist.' % path)\r
33     return vnfd_tpl\r
34 \r
35 def check_file_exist(path):\r
36     if path.exists(path) and path.isfile(path) and access(path, R_OK):\r
37         return True\r
38     else:\r
39         return False\r
40 \r
41 def parse_nsd_csar(path, input_parameters=[], a_file=True):\r
42     nsd_object = None\r
43     from toscaparser.tosca_template import ToscaTemplate\r
44     nsd_object = ToscaTemplate(path, input_parameters)\r
45     return nsd_object\r
46 \r
47 \r
48 def parse_vnfd_csar(path, input_parameters=[], a_file=True):\r
49     vnfd_object = None\r
50     from toscaparser.tosca_template import ToscaTemplate\r
51     vnfd_object = ToscaTemplate(path, input_parameters)\r
52     return vnfd_object