diff options
author | julien zhang <zhang.jun3g@zte.com.cn> | 2016-04-22 08:43:26 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@172.30.200.206> | 2016-04-22 08:43:26 +0000 |
commit | 2fa4785aa218cf655f3405d832d2200d64fd033e (patch) | |
tree | 0061edccecca9a99aa9a50c6c0e2783c07370112 /tosca2heat/tosca-parser-0.3.0/toscaparser/shell.py | |
parent | 56c2a5d3ba6193c9a98870a264bc5e3aca19a086 (diff) | |
parent | c8201c119ec686e79797721156767685fe848aca (diff) |
Merge "Update tosca lib to version 0.5"
Diffstat (limited to 'tosca2heat/tosca-parser-0.3.0/toscaparser/shell.py')
-rw-r--r-- | tosca2heat/tosca-parser-0.3.0/toscaparser/shell.py | 106 |
1 files changed, 0 insertions, 106 deletions
diff --git a/tosca2heat/tosca-parser-0.3.0/toscaparser/shell.py b/tosca2heat/tosca-parser-0.3.0/toscaparser/shell.py deleted file mode 100644 index 848726f..0000000 --- a/tosca2heat/tosca-parser-0.3.0/toscaparser/shell.py +++ /dev/null @@ -1,106 +0,0 @@ -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. - - -import os -import sys - -from toscaparser.tosca_template import ToscaTemplate -from toscaparser.utils.gettextutils import _ -import toscaparser.utils.urlutils - -""" -CLI entry point to show how TOSCA Parser can be used programmatically - -This is a basic command line utility showing the entry point in the -TOSCA Parser and how to iterate over parsed template. It can be extended -or modified to fit an individual need. - -It can be used as, -#tosca-parser --template-file=<path to the YAML template> -#tosca-parser --template-file=<path to the CSAR zip file> -#tosca-parser --template-file=<URL to the template or CSAR> - -e.g. -#tosca-parser - --template-file=toscaparser/tests/data/tosca_helloworld.yaml -#tosca-parser - --template-file=toscaparser/tests/data/CSAR/csar_hello_world.zip -""" - - -class ParserShell(object): - - def _validate(self, args): - if len(args) < 1: - msg = _('The program requires a template or a CSAR file as an ' - 'argument. Please refer to the usage documentation.') - raise ValueError(msg) - if "--template-file=" not in args[0]: - msg = _('The program expects "--template-file" as the first ' - 'argument. Please refer to the usage documentation.') - raise ValueError(msg) - - def main(self, args): - self._validate(args) - path = args[0].split('--template-file=')[1] - if os.path.isfile(path): - self.parse(path) - elif toscaparser.utils.urlutils.UrlUtils.validate_url(path): - self.parse(path, False) - else: - raise ValueError(_('"%(path)s" is not a valid file.') - % {'path': path}) - - def parse(self, path, a_file=True): - output = None - tosca = ToscaTemplate(path, None, a_file) - - version = tosca.version - if tosca.version: - print ("\nversion: " + version) - - if hasattr(tosca, 'description'): - description = tosca.description - if description: - print ("\ndescription: " + description) - - if hasattr(tosca, 'inputs'): - inputs = tosca.inputs - if inputs: - print ("\ninputs:") - for input in inputs: - print ("\t" + input.name) - - if hasattr(tosca, 'nodetemplates'): - nodetemplates = tosca.nodetemplates - if nodetemplates: - print ("\nnodetemplates:") - for node in nodetemplates: - print ("\t" + node.name) - - if hasattr(tosca, 'outputs'): - outputs = tosca.outputs - if outputs: - print ("\noutputs:") - for output in outputs: - print ("\t" + output.name) - - -def main(args=None): - if args is None: - args = sys.argv[1:] - ParserShell().main(args) - - -if __name__ == '__main__': - main() |