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