Skip to content

Commit 3dedc36

Browse files
authored
Move the cyclonedx and spdx root modules into the pipes module (#657)
Signed-off-by: Thomas Druez <tdruez@nexb.com>
1 parent c71b6ea commit 3dedc36

12 files changed

Lines changed: 34 additions & 29 deletions

File tree

CHANGELOG.rst

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@ v33.0.0 (unreleased)
88
once.
99
https://github.com/nexB/scancode.io/issues/646
1010

11+
- Move the ``cyclonedx`` and ``spdx`` root modules into the ``pipes`` module.
12+
https://github.com/nexB/scancode.io/issues/657
13+
1114
- Remove the admin app and views.
1215
https://github.com/nexB/scancode.io/issues/645
1316

scanpipe/models.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,6 @@
7878
from rq.job import JobStatus
7979

8080
from scancodeio import __version__ as scancodeio_version
81-
from scanpipe import spdx
8281
from scanpipe import tasks
8382

8483
logger = logging.getLogger(__name__)
@@ -1873,6 +1872,8 @@ def get_spdx_types(self):
18731872

18741873
def as_spdx(self):
18751874
"""Return this CodebaseResource as an SPDX Package entry."""
1875+
from scanpipe.pipes import spdx
1876+
18761877
spdx_license_keys = [license["spdx_license_key"] for license in self.licenses]
18771878
copyrights = [copyright["copyright"] for copyright in self.copyrights]
18781879
holders = [holder["holder"] for holder in self.holders]
@@ -2200,6 +2201,8 @@ def get_license_expression_spdx_id(self):
22002201

22012202
def as_spdx(self):
22022203
"""Return this DiscoveredPackage as an SPDX Package entry."""
2204+
from scanpipe.pipes import spdx
2205+
22032206
checksums = [
22042207
spdx.Checksum(algorithm=algorithm, value=checksum_value)
22052208
for algorithm in ["sha1", "md5"]
@@ -2496,6 +2499,8 @@ def spdx_id(self):
24962499

24972500
def as_spdx(self):
24982501
"""Return this Package as an SPDX Package entry."""
2502+
from scanpipe.pipes import spdx
2503+
24992504
external_refs = []
25002505

25012506
if package_url := self.package_url:
Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -31,21 +31,21 @@
3131
CyclonedxSoftwareBillOfMaterialsStandard as Bom_1_4,
3232
)
3333

34+
SCHEMAS_PATH = pathlib.Path(__file__).parent / "schemas"
35+
3436
CYCLONEDX_SPEC_VERSION = "1.4"
35-
CYCLONEDX_JSON_SCHEMA_LOCATION = "bom-1.4.schema.json"
36-
CYCLONEDX_JSON_SCHEMA_PATH = (
37-
pathlib.Path(__file__).parent / CYCLONEDX_JSON_SCHEMA_LOCATION
38-
)
39-
CYCLONEDX_JSON_SCHEMA_URL = (
37+
CYCLONEDX_SCHEMA_NAME = "bom-1.4.schema.json"
38+
CYCLONEDX_SCHEMA_PATH = SCHEMAS_PATH / CYCLONEDX_SCHEMA_NAME
39+
CYCLONEDX_SCHEMA_URL = (
4040
"https://raw.githubusercontent.com/"
4141
"CycloneDX/specification/master/schema/bom-1.4.schema.json"
4242
)
4343

44-
SPDX_JSON_SCHEMA_LOCATION = "spdx.schema.json"
45-
SPDX_JSON_SCHEMA_PATH = pathlib.Path(__file__).parent / SPDX_JSON_SCHEMA_LOCATION
44+
SPDX_SCHEMA_NAME = "spdx.schema.json"
45+
SPDX_SCHEMA_PATH = SCHEMAS_PATH / SPDX_SCHEMA_NAME
4646

47-
JSF_JSON_SCHEMA_LOCATION = "jsf-0.82.schema.json"
48-
JSF_JSON_SCHEMA_PATH = pathlib.Path(__file__).parent / JSF_JSON_SCHEMA_LOCATION
47+
JSF_SCHEMA_NAME = "jsf-0.82.schema.json"
48+
JSF_SCHEMA_PATH = SCHEMAS_PATH / JSF_SCHEMA_NAME
4949

5050

5151
def get_bom(cyclonedx_document):
@@ -152,7 +152,7 @@ def get_properties_data(component):
152152
return properties_data
153153

154154

155-
def validate_document(document, schema=CYCLONEDX_JSON_SCHEMA_PATH):
155+
def validate_document(document, schema=CYCLONEDX_SCHEMA_PATH):
156156
"""Check the validity of this CycloneDX document."""
157157
if isinstance(document, str):
158158
document = json.loads(document)
@@ -163,8 +163,8 @@ def validate_document(document, schema=CYCLONEDX_JSON_SCHEMA_PATH):
163163
if isinstance(schema, str):
164164
schema = json.loads(schema)
165165

166-
spdx_schema = SPDX_JSON_SCHEMA_PATH.read_text()
167-
jsf_schema = JSF_JSON_SCHEMA_PATH.read_text()
166+
spdx_schema = SPDX_SCHEMA_PATH.read_text()
167+
jsf_schema = JSF_SCHEMA_PATH.read_text()
168168

169169
store = {
170170
"http://cyclonedx.org/schema/spdx.schema.json": json.loads(spdx_schema),

scanpipe/pipes/output.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@
4040

4141
from scancodeio import SCAN_NOTICE
4242
from scancodeio import __version__ as scancodeio_version
43-
from scanpipe import spdx
43+
from scanpipe.pipes import spdx
4444

4545
scanpipe_app = apps.get_app_config("scanpipe")
4646

scanpipe/pipes/resolve.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,9 @@
3333
from packageurl import PackageURL
3434
from python_inspector.resolve_cli import resolver_api
3535

36-
from scanpipe import cyclonedx
37-
from scanpipe import spdx
3836
from scanpipe.models import DiscoveredPackage
37+
from scanpipe.pipes import cyclonedx
38+
from scanpipe.pipes import spdx
3939

4040
"""
4141
Resolve packages from manifest, lockfile, and SBOM.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,9 @@
3030

3131
SPDX_SPEC_VERSION = "2.3"
3232
SPDX_LICENSE_LIST_VERSION = "3.18"
33-
SPDX_JSON_SCHEMA_LOCATION = "spdx-schema-2.3.json"
34-
SPDX_JSON_SCHEMA_PATH = pathlib.Path(__file__).parent / SPDX_JSON_SCHEMA_LOCATION
35-
SPDX_JSON_SCHEMA_URL = (
33+
SPDX_SCHEMA_NAME = "spdx-schema-2.3.json"
34+
SPDX_SCHEMA_PATH = pathlib.Path(__file__).parent / "schemas" / SPDX_SCHEMA_NAME
35+
SPDX_SCHEMA_URL = (
3636
"https://raw.githubusercontent.com/spdx/spdx-spec/v2.3/schemas/spdx-schema.json"
3737
)
3838

@@ -612,7 +612,7 @@ def validate(self, schema):
612612
return validate_document(document=self.as_dict(), schema=schema)
613613

614614

615-
def validate_document(document, schema=SPDX_JSON_SCHEMA_PATH):
615+
def validate_document(document, schema=SPDX_SCHEMA_PATH):
616616
"""
617617
SPDX document validation.
618618
Requires the `jsonschema` library.

0 commit comments

Comments
 (0)