summaryrefslogtreecommitdiffstats
path: root/tosca2heat/tosca-parser/toscaparser/shell.py
diff options
context:
space:
mode:
Diffstat (limited to 'tosca2heat/tosca-parser/toscaparser/shell.py')
-rw-r--r--tosca2heat/tosca-parser/toscaparser/shell.py21
1 files changed, 16 insertions, 5 deletions
diff --git a/tosca2heat/tosca-parser/toscaparser/shell.py b/tosca2heat/tosca-parser/toscaparser/shell.py
index 0256dfc..f669e27 100644
--- a/tosca2heat/tosca-parser/toscaparser/shell.py
+++ b/tosca2heat/tosca-parser/toscaparser/shell.py
@@ -12,9 +12,11 @@
import argparse
+import logging
import os
import sys
+from toscaparser.common.exception import ValidationError
from toscaparser.tosca_template import ToscaTemplate
from toscaparser.utils.gettextutils import _
import toscaparser.utils.urlutils
@@ -38,6 +40,8 @@ e.g.
--template-file=toscaparser/tests/data/CSAR/csar_hello_world.zip
"""
+log = logging.getLogger("tosca.model")
+
class ParserShell(object):
@@ -62,17 +66,24 @@ class ParserShell(object):
path = args.template_file
nrpv = args.no_required_paras_valid
if os.path.isfile(path):
- self.parse(path, no_required_paras_valid=nrpv)
+ self.parse(path, no_req_paras_valid=nrpv)
elif toscaparser.utils.urlutils.UrlUtils.validate_url(path):
- self.parse(path, False, no_required_paras_valid=nrpv)
+ self.parse(path, False, no_req_paras_valid=nrpv)
else:
raise ValueError(_('"%(path)s" is not a valid file.')
% {'path': path})
- def parse(self, path, a_file=True, no_required_paras_valid=False):
+ def parse(self, path, a_file=True, no_req_paras_valid=False):
output = None
- tosca = ToscaTemplate(path, None, a_file,
- no_required_paras_valid=no_required_paras_valid)
+ tosca = None
+ try:
+ tosca = ToscaTemplate(path, None, a_file,
+ no_required_paras_valid=no_req_paras_valid)
+ except ValidationError as e:
+ msg = _(' ===== main service template ===== ')
+ log.error(msg)
+ log.error(e.message)
+ raise e
version = tosca.version
if tosca.version: