8000 [issue-359] Use extracted relationship filtering methods in document_… · spdx/tools-python@48c4e72 · GitHub
[go: up one dir, main page]

Skip to content

Commit 48c4e72

Browse files
nicoweidnerarmintaenzertng
authored andcommitted
[issue-359] Use extracted relationship filtering methods in document_validator.py
Signed-off-by: Nicolaus Weidner <nicolaus.weidner@tngtech.com>
1 parent 2d73d9f commit 48c4e72

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

src/validation/document_validator.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313

1414
from src.model.document import Document
1515
from src.model.relationship import RelationshipType
16+
from src.model.relationship_filters import filter_by_type_and_origin, filter_by_type_and_target
1617
from src.validation.annotation_validator import validate_annotations
1718
from src.validation.creation_info_validator import validate_creation_info
1819
from src.validation.extracted_licensing_info_validator import validate_extracted_licensing_infos
@@ -35,15 +36,16 @@ def validate_full_spdx_document(document: Document, spdx_version: str) -> List[V
3536
validation_messages.extend(validate_extracted_licensing_infos(document.extracted_licensing_info))
3637

3738
document_id = document.creation_info.spdx_id
38-
document_describes_relationships = [relationship for relationship in document.relationships if
39-
relationship.relationship_type == RelationshipType.DESCRIBES and relationship.spdx_element_id == document_id]
40-
described_by_document_relationships = [relationship for relationship in document.relationships if
41-
relationship.relationship_type == RelationshipType.DESCRIBED_BY and relationship.related_spdx_element_id == document_id]
39+
document_describes_relationships = filter_by_type_and_origin(document.relationships, RelationshipType.DESCRIBES,
40+
document_id)
41+
described_by_document_relationships = filter_by_type_and_target(document.relationships,
42+
RelationshipType.DESCRIBED_BY, document_id)
4243

4344
if not document_describes_relationships + described_by_document_relationships:
4445
validation_messages.append(
4546
ValidationMessage(
46-
f'there must be at least one relationship "{document_id} DESCRIBES ..." or "... DESCRIBED_BY {document_id}"',
47+
f'there must be at least one relationship "{document_id} DESCRIBES ..." or "... DESCRIBED_BY '
48+
f'{document_id}"',
4749
ValidationContext(spdx_id=document_id,
4850
element_type=SpdxElementType.DOCUMENT)))
4951

0 commit comments

Comments
 (0)
0