Skip to content

Commit 0359001

Browse files
author
Nicolaus Weidner
committed
[issue-359] Convert underscores to dashes in enum names
Signed-off-by: Nicolaus Weidner <[email protected]>
1 parent 26fe138 commit 0359001

File tree

5 files changed

+11
-5
lines changed

5 files changed

+11
-5
lines changed

src/jsonschema/external_package_ref_converter.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ def _get_property_value(self, external_ref: ExternalPackageRef, external_ref_pro
2323
if external_ref_property == ExternalPackageRefProperty.COMMENT:
2424
return external_ref.comment
2525
elif external_ref_property == ExternalPackageRefProperty.REFERENCE_CATEGORY:
26-
return external_ref.category.name
26+
return external_ref.category.json_name()
2727
elif external_ref_property == ExternalPackageRefProperty.REFERENCE_LOCATOR:
2828
return external_ref.locator
2929
elif external_ref_property == ExternalPackageRefProperty.REFERENCE_TYPE:

src/jsonschema/package_converter.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ def _get_property_value(self, package: Package, package_property: PackagePropert
9999
elif package_property == PackageProperty.PACKAGE_VERIFICATION_CODE:
100100
return apply_if_present(self.package_verification_code_converter.convert, package.verification_code)
101101
elif package_property == PackageProperty.PRIMARY_PACKAGE_PURPOSE:
102-
return package.primary_package_purpose.name if package.primary_package_purpose is not None else None
102+
return package.primary_package_purpose.json_name() if package.primary_package_purpose is not None else None
103103
elif package_property == PackageProperty.RELEASE_DATE:
104104
return apply_if_present(datetime_to_iso_string, package.release_date)
105105
elif package_property == PackageProperty.SOURCE_INFO:

src/model/package.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,9 @@ class PackagePurpose(Enum):
3636
INSTALL = auto()
3737
OTHER = auto()
3838

39+
def json_name(self):
40+
return self.name.replace("_", "-")
41+
3942

4043
@dataclass_with_properties
4144
class PackageVerificationCode:
@@ -53,6 +56,9 @@ class ExternalPackageRefCategory(Enum):
5356
PERSISTENT_ID = auto()
5457
OTHER = auto()
5558

59+
def json_name(self) -> str:
60+
return self.name.replace("_", "-")
61+
5662

5763
@dataclass_with_properties
5864
class ExternalPackageRef:

tests/jsonschema/test_external_package_ref_converter.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ def test_successful_conversion(converter: ExternalPackageRefConverter):
4545

4646
assert converted_dict == {
4747
converter.json_property_name(ExternalPackageRefProperty.COMMENT): "comment",
48-
converter.json_property_name(ExternalPackageRefProperty.REFERENCE_CATEGORY): "PACKAGE_MANAGER",
48+
converter.json_property_name(ExternalPackageRefProperty.REFERENCE_CATEGORY): "PACKAGE-MANAGER",
4949
converter.json_property_name(ExternalPackageRefProperty.REFERENCE_LOCATOR): "locator",
5050
converter.json_property_name(ExternalPackageRefProperty.REFERENCE_TYPE): "type"
5151
}

tests/jsonschema/test_package_converter.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ def test_successful_conversion(converter: PackageConverter):
107107
copyright_text="copyrightText", summary="summary", description="description", comment="comment",
108108
external_references=[external_package_ref_fixture()],
109109
attribution_texts=["attributionText1", "attributionText2"],
110-
primary_package_purpose=PackagePurpose.APPLICATION, release_date=datetime(2022, 12, 1),
110+
primary_package_purpose=PackagePurpose.OPERATING_SYSTEM, release_date=datetime(2022, 12, 1),
111111
built_date=datetime(2022, 12, 2), valid_until_date=datetime(2022, 12, 3))
112112

113113
annotation = Annotation(package.spdx_id, AnnotationType.REVIEW, Actor(ActorType.TOOL, "toolName"),
@@ -141,7 +141,7 @@ def test_successful_conversion(converter: PackageConverter):
141141
converter.json_property_name(PackageProperty.DESCRIPTION): "description",
142142
converter.json_property_name(PackageProperty.COMMENT): "comment",
143143
converter.json_property_name(PackageProperty.EXTERNAL_REFS): ["mock_package_ref"],
144-
converter.json_property_name(PackageProperty.PRIMARY_PACKAGE_PURPOSE): "APPLICATION",
144+
converter.json_property_name(PackageProperty.PRIMARY_PACKAGE_PURPOSE): "OPERATING-SYSTEM",
145145
converter.json_property_name(PackageProperty.RELEASE_DATE): "2022-12-01T00:00:00Z",
146146
converter.json_property_name(PackageProperty.BUILT_DATE): "2022-12-02T00:00:00Z",
147147
converter.json_property_name(PackageProperty.VALID_UNTIL_DATE): "2022-12-03T00:00:00Z"

0 commit comments

Comments
 (0)