8000 Issue 611 fix xml parser by meretp · Pull Request #612 · spdx/tools-python · GitHub
[go: up one dir, main page]

Skip to content

Issue 611 fix xml parser #612

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Apr 24, 2023
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
[issue-611] use list helper methods for creators to raise an error if…
… no creators provided

Signed-off-by: Meret Behrens <meret.behrens@tngtech.com>
  • Loading branch information
meretp committed Apr 24, 2023
commit 3094f04006e0958ce8e57c8bf0a2c4e4aa39da35
19 changes: 2 additions & 17 deletions src/spdx_tools/spdx/parser/jsonlikedict/creation_info_parser.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,7 @@
from spdx_tools.spdx.parser.actor_parser import ActorParser
from spdx_tools.spdx.parser.error import SPDXParsingError
from spdx_tools.spdx.parser.jsonlikedict.checksum_parser import ChecksumParser
from spdx_tools.spdx.parser.jsonlikedict.dict_parsing_functions import (
append_parsed_field_or_log_error,
parse_field_or_log_error,
parse_field_or_no_assertion,
)
from spdx_tools.spdx.parser.jsonlikedict.dict_parsing_functions import parse_field_or_log_error
from spdx_tools.spdx.parser.logger import Logger
from spdx_tools.spdx.parser.parsing_functions import (
construct_or_raise_parsing_error,
Expand Down Expand Up @@ -45,7 +41,7 @@ def parse_creation_info(self, doc_dict: Dict) -> CreationInfo:
raise SPDXParsingError([f"Error while parsing document {name}: {logger.get_messages()}"])

creators: List[Actor] = parse_field_or_log_error(
logger, creation_info_dict.get("creators"), self.parse_creators
logger, creation_info_dict.get("creators"), self.actor_parser.parse_actor, field_is_list=True
)

created: Optional[datetime] = parse_field_or_log_error(
Expand Down Expand Up @@ -83,17 +79,6 @@ def parse_creation_info(self, doc_dict: Dict) -> CreationInfo:

return creation_info

def parse_creators(self, creators_list_from_dict: List[str]) -> List[Actor]:
logger = Logger()
creators = []
for creator_str in creators_list_from_dict:
creators = append_parsed_field_or_log_error(
logger, creators, creator_str, lambda x: parse_field_or_no_assertion(x, self.actor_parser.parse_actor)
)

raise_parsing_error_if_logger_has_messages(logger)
return creators

@staticmethod
def parse_version(version_str: str) -> Version:
try:
Expand Down
0