diff options
Diffstat (limited to 'tosca2heat/tosca-parser/toscaparser')
-rw-r--r-- | tosca2heat/tosca-parser/toscaparser/common/exception.py | 4 | ||||
-rw-r--r-- | tosca2heat/tosca-parser/toscaparser/tosca_template.py | 13 |
2 files changed, 11 insertions, 6 deletions
diff --git a/tosca2heat/tosca-parser/toscaparser/common/exception.py b/tosca2heat/tosca-parser/toscaparser/common/exception.py index 9fb331d..67a9f7f 100644 --- a/tosca2heat/tosca-parser/toscaparser/common/exception.py +++ b/tosca2heat/tosca-parser/toscaparser/common/exception.py @@ -20,7 +20,7 @@ import traceback from toscaparser.utils.gettextutils import _ -log = logging.getLogger(__name__) +log = logging.getLogger('tosca') class TOSCAException(Exception): @@ -207,7 +207,7 @@ class ExceptionCollector(object): @staticmethod def removeException(exception_type): - if ExceptionCollector.collecting: + if ExceptionCollector.collecting and ExceptionCollector.exceptions: for i, e in enumerate(ExceptionCollector.exceptions): if isinstance(e, exception_type): del ExceptionCollector.exceptions[i] diff --git a/tosca2heat/tosca-parser/toscaparser/tosca_template.py b/tosca2heat/tosca-parser/toscaparser/tosca_template.py index 30432af..b0df424 100644 --- a/tosca2heat/tosca-parser/toscaparser/tosca_template.py +++ b/tosca2heat/tosca-parser/toscaparser/tosca_template.py @@ -18,6 +18,8 @@ from copy import deepcopy from toscaparser.common.exception import ExceptionCollector from toscaparser.common.exception import InvalidTemplateVersion from toscaparser.common.exception import MissingRequiredFieldError +from toscaparser.common.exception import MissingRequiredInputError +from toscaparser.common.exception import MissingRequiredOutputError from toscaparser.common.exception import MissingRequiredParameterError from toscaparser.common.exception import UnknownFieldError from toscaparser.common.exception import ValidationError @@ -316,11 +318,14 @@ class ToscaTemplate(object): % {'path': path})) def verify_template(self): + if self.no_required_paras_check: + ExceptionCollector.removeException( + MissingRequiredParameterError) + ExceptionCollector.removeException( + MissingRequiredInputError) + ExceptionCollector.removeException( + MissingRequiredOutputError) if ExceptionCollector.exceptionsCaught(): - if self.no_required_paras_check: - ExceptionCollector.removeException( - MissingRequiredParameterError) - if self.input_path: exceptions = ValidationError( message=(_('\nThe input "%(path)s" failed validation with ' |