spdx_tools.spdx.parser.parsing_functions
1# SPDX-FileCopyrightText: 2023 spdx contributors 2# 3# SPDX-License-Identifier: Apache-2.0 4from beartype.typing import Any, Dict 5 6from spdx_tools.common.typing.constructor_type_errors import ConstructorTypeErrors 7from spdx_tools.spdx.parser.error import SPDXParsingError 8from spdx_tools.spdx.parser.logger import Logger 9 10 11def construct_or_raise_parsing_error(object_to_construct: Any, args_for_construction: Dict) -> Any: 12 try: 13 constructed_object = object_to_construct(**args_for_construction) 14 except ConstructorTypeErrors as err: 15 raise SPDXParsingError([f"Error while constructing {object_to_construct.__name__}: {err.get_messages()}"]) 16 except TypeError as err: 17 raise SPDXParsingError([f"Error while constructing {object_to_construct.__name__}: {err.args[0]}"]) 18 return constructed_object 19 20 21def raise_parsing_error_if_logger_has_messages(logger: Logger, parsed_object_name: str = None): 22 if logger.has_messages(): 23 if parsed_object_name: 24 raise SPDXParsingError([f"Error while parsing {parsed_object_name}: {logger.get_messages()}"]) 25 else: 26 raise SPDXParsingError(logger.get_messages())
def
construct_or_raise_parsing_error(object_to_construct: Any, args_for_construction: dict) -> Any:
12def construct_or_raise_parsing_error(object_to_construct: Any, args_for_construction: Dict) -> Any: 13 try: 14 constructed_object = object_to_construct(**args_for_construction) 15 except ConstructorTypeErrors as err: 16 raise SPDXParsingError([f"Error while constructing {object_to_construct.__name__}: {err.get_messages()}"]) 17 except TypeError as err: 18 raise SPDXParsingError([f"Error while constructing {object_to_construct.__name__}: {err.args[0]}"]) 19 return constructed_object
def
raise_parsing_error_if_logger_has_messages( logger: spdx_tools.spdx.parser.logger.Logger, parsed_object_name: str = None):
22def raise_parsing_error_if_logger_has_messages(logger: Logger, parsed_object_name: str = None): 23 if logger.has_messages(): 24 if parsed_object_name: 25 raise SPDXParsingError([f"Error while parsing {parsed_object_name}: {logger.get_messages()}"]) 26 else: 27 raise SPDXParsingError(logger.get_messages())