spdx_tools.spdx.validation.actor_validator

 1# SPDX-FileCopyrightText: 2022 spdx contributors
 2#
 3# SPDX-License-Identifier: Apache-2.0
 4
 5from beartype.typing import List
 6
 7from spdx_tools.spdx.model import Actor, ActorType
 8from spdx_tools.spdx.validation.validation_message import SpdxElementType, ValidationContext, ValidationMessage
 9
10
11def validate_actors(actors: List[Actor], parent_id: str) -> List[ValidationMessage]:
12    validation_messages = []
13    for actor in actors:
14        validation_messages.extend(validate_actor(actor, parent_id))
15
16    return validation_messages
17
18
19def validate_actor(actor: Actor, parent_id: str) -> List[ValidationMessage]:
20    validation_messages = []
21
22    if actor.actor_type == ActorType.TOOL and actor.email is not None:
23        validation_messages.append(
24            ValidationMessage(
25                f"email must be None if actor_type is TOOL, but is: {actor.email}",
26                ValidationContext(parent_id=parent_id, element_type=SpdxElementType.ACTOR, full_element=actor),
27            )
28        )
29
30    return validation_messages
def validate_actors( actors: list[spdx_tools.spdx.model.actor.Actor], parent_id: str) -> list[spdx_tools.spdx.validation.validation_message.ValidationMessage]:
12def validate_actors(actors: List[Actor], parent_id: str) -> List[ValidationMessage]:
13    validation_messages = []
14    for actor in actors:
15        validation_messages.extend(validate_actor(actor, parent_id))
16
17    return validation_messages
def validate_actor( actor: spdx_tools.spdx.model.actor.Actor, parent_id: str) -> list[spdx_tools.spdx.validation.validation_message.ValidationMessage]:
20def validate_actor(actor: Actor, parent_id: str) -> List[ValidationMessage]:
21    validation_messages = []
22
23    if actor.actor_type == ActorType.TOOL and actor.email is not None:
24        validation_messages.append(
25            ValidationMessage(
26                f"email must be None if actor_type is TOOL, but is: {actor.email}",
27                ValidationContext(parent_id=parent_id, element_type=SpdxElementType.ACTOR, full_element=actor),
28            )
29        )
30
31    return validation_messages