spdx_tools.spdx.parser.jsonlikedict.extracted_licensing_info_parser
1# SPDX-FileCopyrightText: 2022 spdx contributors 2# 3# SPDX-License-Identifier: Apache-2.0 4from beartype.typing import Dict, List, Optional, Union 5 6from spdx_tools.spdx.model import ExtractedLicensingInfo, SpdxNoAssertion 7from spdx_tools.spdx.parser.jsonlikedict.dict_parsing_functions import parse_field_or_no_assertion 8from spdx_tools.spdx.parser.logger import Logger 9from spdx_tools.spdx.parser.parsing_functions import construct_or_raise_parsing_error 10 11 12class ExtractedLicensingInfoParser: 13 logger: Logger 14 15 def __init__(self): 16 self.logger = Logger() 17 18 @staticmethod 19 def parse_extracted_licensing_info(extracted_licensing_info_dict: Dict) -> ExtractedLicensingInfo: 20 license_id: Optional[str] = extracted_licensing_info_dict.get("licenseId") 21 extracted_text: Optional[str] = extracted_licensing_info_dict.get("extractedText") 22 license_name: Optional[Union[str, SpdxNoAssertion]] = parse_field_or_no_assertion( 23 extracted_licensing_info_dict.get("name") 24 ) 25 cross_references: List[str] = extracted_licensing_info_dict.get("seeAlsos", []) 26 comment: Optional[str] = extracted_licensing_info_dict.get("comment") 27 extracted_licensing_info = construct_or_raise_parsing_error( 28 ExtractedLicensingInfo, 29 dict( 30 license_id=license_id, 31 extracted_text=extracted_text, 32 comment=comment, 33 license_name=license_name, 34 cross_references=cross_references, 35 ), 36 ) 37 return extracted_licensing_info
class
ExtractedLicensingInfoParser:
13class ExtractedLicensingInfoParser: 14 logger: Logger 15 16 def __init__(self): 17 self.logger = Logger() 18 19 @staticmethod 20 def parse_extracted_licensing_info(extracted_licensing_info_dict: Dict) -> ExtractedLicensingInfo: 21 license_id: Optional[str] = extracted_licensing_info_dict.get("licenseId") 22 extracted_text: Optional[str] = extracted_licensing_info_dict.get("extractedText") 23 license_name: Optional[Union[str, SpdxNoAssertion]] = parse_field_or_no_assertion( 24 extracted_licensing_info_dict.get("name") 25 ) 26 cross_references: List[str] = extracted_licensing_info_dict.get("seeAlsos", []) 27 comment: Optional[str] = extracted_licensing_info_dict.get("comment") 28 extracted_licensing_info = construct_or_raise_parsing_error( 29 ExtractedLicensingInfo, 30 dict( 31 license_id=license_id, 32 extracted_text=extracted_text, 33 comment=comment, 34 license_name=license_name, 35 cross_references=cross_references, 36 ), 37 ) 38 return extracted_licensing_info
@staticmethod
def
parse_extracted_licensing_info( extracted_licensing_info_dict: dict) -> spdx_tools.spdx.model.extracted_licensing_info.ExtractedLicensingInfo:
19 @staticmethod 20 def parse_extracted_licensing_info(extracted_licensing_info_dict: Dict) -> ExtractedLicensingInfo: 21 license_id: Optional[str] = extracted_licensing_info_dict.get("licenseId") 22 extracted_text: Optional[str] = extracted_licensing_info_dict.get("extractedText") 23 license_name: Optional[Union[str, SpdxNoAssertion]] = parse_field_or_no_assertion( 24 extracted_licensing_info_dict.get("name") 25 ) 26 cross_references: List[str] = extracted_licensing_info_dict.get("seeAlsos", []) 27 comment: Optional[str] = extracted_licensing_info_dict.get("comment") 28 extracted_licensing_info = construct_or_raise_parsing_error( 29 ExtractedLicensingInfo, 30 dict( 31 license_id=license_id, 32 extracted_text=extracted_text, 33 comment=comment, 34 license_name=license_name, 35 cross_references=cross_references, 36 ), 37 ) 38 return extracted_licensing_info