8000 SPDX-2.2 validation by armintaenzertng · Pull Request #490 · spdx/tools-python · GitHub
[go: up one dir, main page]

Skip to content

SPDX-2.2 validation #490

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
Show file tree
Hide file tree
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-463] change "version" to "spdx_version"
Signed-off-by: Armin Tänzer <armin.taenzer@tngtech.com>
  • Loading branch information
armintaenzertng committed Feb 22, 2023
commit d87d372f3282b56ed70a5f03beae15b462edc841
16 changes: 8 additions & 8 deletions src/spdx/validation/file_validator.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,32 +20,32 @@
from spdx.validation.validation_message import ValidationMessage, ValidationContext, SpdxElementType


def validate_files(files: List[File], version: str, document: Optional[Document] = None) -> List[ValidationMessage]:
def validate_files(files: List[File], 8000 spdx_version: str, document: Optional[Document] = None) -> List[ValidationMessage]:
validation_messages = []
if document:
for file in files:
validation_messages.extend(validate_file_within_document(file, version, document))
validation_messages.extend(validate_file_within_document(file, spdx_version, document))
else:
for file in files:
validation_messages.extend(validate_file(file, version))
validation_messages.extend(validate_file(file, spdx_version))

return validation_messages


def validate_file_within_document(file: File, version: str, document: Document) -> List[ValidationMessage]:
def validate_file_within_document(file: File, spdx_version: str, document: Document) -> List[ValidationMessage]:
validation_messages: List[ValidationMessage] = []
context = ValidationContext(spdx_id=file.spdx_id, parent_id=document.creation_info.spdx_id,
element_type=SpdxElementType.FILE, full_element=file)

for message in validate_spdx_id(file.spdx_id, document):
validation_messages.append(ValidationMessage(message, context))

validation_messages.extend(validate_file(file, version, context))
validation_messages.extend(validate_file(file, spdx_version, context))

return validation_messages


def validate_file(file: File, version: str, context: Optional[ValidationContext] = None) -> List[ValidationMessage]:
def validate_file(file: File, spdx_version: str, context: Optional[ValidationContext] = None) -> List[ValidationMessage]:
validation_messages = []
if not context:
context = ValidationContext(spdx_id=file.spdx_id, element_type=SpdxElementType.FILE, full_element=file)
Expand All @@ -63,13 +63,13 @@ def validate_file(file: File, version: str, context: Optional[ValidationContext]
context)
)

validation_messages.extend(validate_checksums(file.checksums, file.spdx_id, version))
validation_messages.extend(validate_checksums(file.checksums, file.spdx_id, spdx_version))

validation_messages.extend(validate_license_expression(file.license_concluded))

validation_messages.extend(validate_license_expressions(file.license_info_in_file))

if version == "SPDX-2.2":
if spdx_version == "SPDX-2.2":
if file.license_concluded is None:
validation_messages.append(
ValidationMessage(f"license_concluded is mandatory in SPDX-2.2", context))
Expand Down
16 changes: 8 additions & 8 deletions src/spdx/validation/package_validator.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,20 +24,20 @@
from spdx.validation.validation_message import ValidationMessage, ValidationContext, SpdxElementType


def validate_packages(packages: List[Package], version: str, document: Optional[Document] = None) -> List[
def validate_packages(packages: List[Package], spdx_version: str, document: Optional[Document] = None) -> List[
ValidationMessage]:
validation_messages: List[ValidationMessage] = []
if document:
for package in packages:
validation_messages.extend(validate_package_within_document(package, version, document))
validation_messages.extend(validate_package_within_document(package, spdx_version, document))
else:
for package in packages:
validation_messages.extend(validate_package(package, version))
validation_messages.extend(validate_package(package, spdx_version))

return validation_messages


def validate_package_within_document(package: Package, version: str, document: Document) -> List[ValidationMessage]:
def validate_package_within_document(package: Package, spdx_version: str, document: Document) -> List[ValidationMessage]:
validation_messages: List[ValidationMessage] = []
context = ValidationContext(spdx_id=package.spdx_id, parent_id=document.creation_info.spdx_id,
element_type=SpdxElementType.PACKAGE, full_element=package)
Expand All @@ -60,12 +60,12 @@ def validate_package_within_document(package: Package, version: str, document: D
context)
)

validation_messages.extend(validate_package(package, version, context))
validation_messages.extend(validate_package(package, spdx_version, context))

return validation_messages


def validate_package(package: Package, version: str, context: Optional[ValidationContext] = None) -> List[
def validate_package(package: Package, spdx_version: str, context: Optional[ValidationContext] = None) -> List[
ValidationMessage]:
validation_messages: List[ValidationMessage] = []
if not context:
Expand All @@ -91,7 +91,7 @@ def validate_package(package: Package, version: str, context: Optional[Validatio
else:
validation_messages.extend(validate_verification_code(verification_code, package.spdx_id))

validation_messages.extend(validate_checksums(package.checksums, package.spdx_id, version))
validation_messages.extend(validate_checksums(package.checksums, package.spdx_id, spdx_version))

validation_messages.extend(validate_license_expression(package.license_concluded))

Expand All @@ -110,7 +110,7 @@ def validate_package(package: Package, version: str, context: Optional[Validatio

validation_messages.extend(validate_external_package_refs(package.external_references, package.spdx_id))

if version == "SPDX-2.2":
if spdx_version == "SPDX-2.2":
if package.primary_package_purpose is not None:
validation_messages.append(
ValidationMessage(f"primary_package_purpose is not supported in SPDX-2.2", context))
Expand Down
14 changes: 7 additions & 7 deletions src/spdx/validation/snippet_validator.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,19 +19,19 @@
from spdx.validation.validation_message import ValidationMessage, ValidationContext, SpdxElementType


def validate_snippets(snippets: List[Snippet], version: str, document: Optional[Document] = None) -> List[ValidationMessage]:
def validate_snippets(snippets: List[Snippet], spdx_version: str, document: Optional[Document] = None) -> List[ValidationMessage]:
validation_messages = []
if document:
for snippet in snippets:
validation_messages.extend(validate_snippet_within_document(snippet, version, document))
validation_messages.extend(validate_snippet_within_document(snippet, spdx_version, document))
else:
for snippet in snippets:
validation_messages.extend(validate_snippet(snippet, version))
validation_messages.extend(validate_snippet(snippet, spdx_version))

return validation_messages


def validate_snippet_within_document(snippet: Snippet, version: str, document: Document) -> List[ValidationMessage]:
def validate_snippet_within_document(snippet: Snippet, spdx_version: str, document: Document) -> List[ValidationMessage]:
validation_messages: List[ValidationMessage] = []
context = ValidationContext(spdx_id=snippet.spdx_id, parent_id=document.creation_info.spdx_id,
element_type=SpdxElementType.SNIPPET, full_element=snippet)
Expand All @@ -44,12 +44,12 @@ def validate_snippet_within_document(snippet: Snippet, version: str, document: D
for message in messages:
validation_messages.append(ValidationMessage(message, context))

validation_messages.extend(validate_snippet(snippet, version, context))
validation_messages.extend(validate_snippet(snippet, spdx_version, context))

return validation_messages


def validate_snippet(snippet: Snippet, version: str, context: Optional[ValidationContext] = None) -> List[ValidationMessage]:
def validate_snippet(snippet: Snippet, spdx_version: str, context: Optional[ValidationContext] = None) -> List[ValidationMessage]:
validation_messages = []
if not context:
context = ValidationContext(spdx_id=snippet.spdx_id, element_type=SpdxElementType.SNIPPET, full_element=snippet)
Expand Down Expand Up @@ -87,7 +87,7 @@ def validate_snippet(snippet: Snippet, version: str, context: Optional[Validatio

validation_messages.extend(validate_license_expressions(snippet.license_info_in_snippet))

if version == "SPDX-2.2":
if spdx_version == "SPDX-2.2":
if snippet.license_concluded is None:
validation_messages.append(
ValidationMessage(f"license_concluded is mandatory in SPDX-2.2", context))
Expand Down
0