Skip to content

Commit 690646c

Browse files
authored
refactor: revisit type:ignore (#507)
* refactor: remove uspecific type-ignores Signed-off-by: Jan Kowalleck <[email protected]> * refactor: revisi all type ignores Signed-off-by: Jan Kowalleck <[email protected]> --------- Signed-off-by: Jan Kowalleck <[email protected]>
1 parent 1fe7cae commit 690646c

File tree

8 files changed

+56
-57
lines changed

8 files changed

+56
-57
lines changed

cyclonedx/model/__init__.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -685,7 +685,7 @@ def __init__(self, *, type: ExternalReferenceType, url: XsUri, comment: Optional
685685
self.url = url
686686
self.comment = comment
687687
self.type = type
688-
self.hashes = hashes or [] # type: ignore
688+
self.hashes = hashes or [] # type:ignore[assignment]
689689

690690
@property
691691
@serializable.xml_sequence(1)
@@ -1115,8 +1115,8 @@ def __init__(self, *, name: Optional[str] = None, urls: Optional[Iterable[XsUri]
11151115
'One of name, urls or contacts must be supplied for an OrganizationalEntity - none supplied.'
11161116
)
11171117
self.name = name
1118-
self.urls = urls or [] # type: ignore
1119-
self.contacts = contacts or [] # type: ignore
1118+
self.urls = urls or [] # type:ignore[assignment]
1119+
self.contacts = contacts or [] # type:ignore[assignment]
11201120

11211121
@property
11221122
@serializable.xml_sequence(1)
@@ -1204,8 +1204,8 @@ def __init__(self, *, vendor: Optional[str] = None, name: Optional[str] = None,
12041204
self.vendor = vendor
12051205
self.name = name
12061206
self.version = version
1207-
self.hashes = hashes or [] # type: ignore
1208-
self.external_references = external_references or [] # type: ignore
1207+
self.hashes = hashes or [] # type:ignore[assignment]
1208+
self.external_references = external_references or [] # type:ignore[assignment]
12091209

12101210
@property
12111211
@serializable.xml_sequence(1)

cyclonedx/model/bom.py

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -65,13 +65,13 @@ def __init__(self, *, tools: Optional[Iterable[Tool]] = None,
6565
properties: Optional[Iterable[Property]] = None,
6666
timestamp: Optional[datetime] = None) -> None:
6767
self.timestamp = timestamp or _get_now_utc()
68-
self.tools = tools or [] # type: ignore
69-
self.authors = authors or [] # type: ignore
68+
self.tools = tools or [] # type:ignore[assignment]
69+
self.authors = authors or [] # type:ignore[assignment]
7070
self.component = component
7171
self.manufacture = manufacture
7272
self.supplier = supplier
73-
self.licenses = licenses or [] # type: ignore
74-
self.properties = properties or [] # type: ignore
73+
self.licenses = licenses or [] # type:ignore[assignment]
74+
self.properties = properties or [] # type:ignore[assignment]
7575

7676
if not tools:
7777
self.tools.add(ThisTool)
@@ -284,7 +284,7 @@ def __init__(self, *, components: Optional[Iterable[Component]] = None,
284284
self.services = services or [] # type:ignore[assignment]
285285
self.external_references = external_references or [] # type:ignore[assignment]
286286
self.vulnerabilities = vulnerabilities or [] # type:ignore[assignment]
287-
self.dependencies = dependencies or SortedSet() # type:ignore[assignment]
287+
self.dependencies = dependencies or [] # type:ignore[assignment]
288288

289289
@property
290290
@serializable.type_mapping(UrnUuidHelper)
@@ -553,22 +553,21 @@ def has_vulnerabilities(self) -> bool:
553553

554554
def register_dependency(self, target: Dependable, depends_on: Optional[Iterable[Dependable]] = None) -> None:
555555
_d = next(filter(lambda _d: _d.ref == target.bom_ref, self.dependencies), None)
556-
557-
if _d and depends_on:
556+
if _d:
558557
# Dependency Target already registered - but it might have new dependencies to add
559-
_d.dependencies = _d.dependencies.union( # type: ignore
560-
set(map(lambda _d: Dependency(ref=_d.bom_ref), depends_on)) if depends_on else []
561-
)
562-
elif not _d:
558+
if depends_on:
559+
_d.dependencies.update(map(lambda _d: Dependency(ref=_d.bom_ref), depends_on))
560+
else:
563561
# First time we are seeing this target as a Dependency
564562
self._dependencies.add(Dependency(
565563
ref=target.bom_ref,
566564
dependencies=map(lambda _dep: Dependency(ref=_dep.bom_ref), depends_on) if depends_on else []
567565
))
568566

569-
# Ensure dependents are registered with no further dependents in the Dependency Graph as per CDX specification
570-
for _d2 in depends_on if depends_on else []:
571-
self.register_dependency(target=_d2, depends_on=None)
567+
if depends_on:
568+
# Ensure dependents are registered with no further dependents in the DependencyGraph
569+
for _d2 in depends_on:
570+
self.register_dependency(target=_d2, depends_on=None)
572571

573572
def urn(self) -> str:
574573
return f'urn:cdx:{self.serial_number}/{self.version}'

cyclonedx/model/component.py

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -195,8 +195,8 @@ def __init__(self, *, licenses: Optional[Iterable[License]] = None,
195195
'At least one of `licenses` or `copyright` must be supplied for a `ComponentEvidence`.'
196196
)
197197

198-
self.licenses = licenses or [] # type: ignore
199-
self.copyright = copyright or [] # type: ignore
198+
self.licenses = licenses or [] # type:ignore[assignment]
199+
self.copyright = copyright or [] # type:ignore[assignment]
200200

201201
# @property
202202
# ...
@@ -498,7 +498,7 @@ def __init__(self, *, type: PatchClassification, diff: Optional[Diff] = None,
498498
resolves: Optional[Iterable[IssueType]] = None) -> None:
499499
self.type = type
500500
self.diff = diff
501-
self.resolves = resolves or [] # type: ignore
501+
self.resolves = resolves or [] # type:ignore[assignment]
502502

503503
@property
504504
@serializable.xml_attribute()
@@ -593,11 +593,11 @@ def __init__(self, *, ancestors: Optional[Iterable['Component']] = None,
593593
'provided for `Pedigree`'
594594
)
595595

596-
self.ancestors = ancestors or [] # type: ignore
597-
self.descendants = descendants or [] # type: ignore
598-
self.variants = variants or [] # type: ignore
599-
self.commits = commits or [] # type: ignore
600-
self.patches = patches or [] # type: ignore
596+
self.ancestors = ancestors or [] # type:ignore[assignment]
597+
self.descendants = descendants or [] # type:ignore[assignment]
598+
self.variants = variants or [] # type:ignore[assignment]
599+
self.commits = commits or [] # type:ignore[assignment]
600+
self.patches = patches or [] # type:ignore[assignment]
601601
self.notes = notes
602602

603603
@property
@@ -927,17 +927,17 @@ def __init__(self, *,
927927
self.version = version
928928
self.description = description
929929
self.scope = scope
930-
self.hashes = hashes or [] # type: ignore
931-
self.licenses = licenses or [] # type: ignore
930+
self.hashes = hashes or [] # type:ignore[assignment]
931+
self.licenses = licenses or [] # type:ignore[assignment]
932932
self.copyright = copyright
933933
self.cpe = cpe
934934
self.purl = purl
935935
self.swid = swid
936936
self.modified = modified
937937
self.pedigree = pedigree
938-
self.external_references = external_references or [] # type: ignore
939-
self.properties = properties or [] # type: ignore
940-
self.components = components or [] # type: ignore
938+
self.external_references = external_references or [] # type:ignore[assignment]
939+
self.properties = properties or [] # type:ignore[assignment]
940+
self.components = components or [] # type:ignore[assignment]
941941
self.evidence = evidence
942942
self.release_notes = release_notes
943943

cyclonedx/model/issue.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ def __init__(self, *, type: IssueClassification, id: Optional[str] = None, name:
122122
self.name = name
123123
self.description = description
124124
self.source = source
125-
self.references = references or [] # type: ignore
125+
self.references = references or [] # type:ignore[assignment]
126126

127127
@property
128128
@serializable.xml_attribute()

cyclonedx/model/release_note.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -45,11 +45,11 @@ def __init__(self, *, type: str, title: Optional[str] = None, featured_image: Op
4545
self.social_image = social_image
4646
self.description = description
4747
self.timestamp = timestamp
48-
self.aliases = aliases or [] # type: ignore
49-
self.tags = tags or [] # type: ignore
50-
self.resolves = resolves or [] # type: ignore
51-
self.notes = notes or [] # type: ignore
52-
self.properties = properties or [] # type: ignore
48+
self.aliases = aliases or [] # type:ignore[assignment]
49+
self.tags = tags or [] # type:ignore[assignment]
50+
self.resolves = resolves or [] # type:ignore[assignment]
51+
self.notes = notes or [] # type:ignore[assignment]
52+
self.properties = properties or [] # type:ignore[assignment]
5353

5454
@property
5555
@serializable.xml_sequence(1)

cyclonedx/model/service.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -67,15 +67,15 @@ def __init__(self, *, name: str, bom_ref: Optional[Union[str, BomRef]] = None,
6767
self.name = name
6868
self.version = version
6969
self.description = description
70-
self.endpoints = endpoints or [] # type: ignore
70+
self.endpoints = endpoints or [] # type:ignore[assignment]
7171
self.authenticated = authenticated
7272
self.x_trust_boundary = x_trust_boundary
73-
self.data = data or [] # type: ignore
74-
self.licenses = licenses or [] # type: ignore
75-
self.external_references = external_references or [] # type: ignore
76-
self.services = services or [] # type: ignore
73+
self.data = data or [] # type:ignore[assignment]
74+
self.licenses = licenses or [] # type:ignore[assignment]
75+
self.external_references = external_references or [] # type:ignore[assignment]
76+
self.services = services or [] # type:ignore[assignment]
7777
self.release_notes = release_notes
78-
self.properties = properties or [] # type: ignore
78+
self.properties = properties or [] # type:ignore[assignment]
7979

8080
@property
8181
@serializable.json_name('bom-ref')

cyclonedx/model/vulnerability.py

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ class BomTarget:
155155

156156
def __init__(self, *, ref: str, versions: Optional[Iterable[BomTargetVersionRange]] = None) -> None:
157157
self.ref = ref
158-
self.versions = versions or [] # type: ignore
158+
self.versions = versions or [] # type:ignore[assignment]
159159

160160
@property
161161
@serializable.xml_sequence(1)
@@ -222,7 +222,7 @@ def __init__(self, *, state: Optional[ImpactAnalysisState] = None,
222222
)
223223
self.state = state
224224
self.justification = justification
225-
self.responses = responses or [] # type: ignore
225+
self.responses = responses or [] # type:ignore[assignment]
226226
self.detail = detail
227227

228228
@property
@@ -587,7 +587,7 @@ def get_value_pre_1_4(self) -> str:
587587
"""
588588
if self == VulnerabilityScoreSource.OWASP:
589589
return 'OWASP Risk'
590-
return self.value # type: ignore
590+
return self.value # type:ignore[no-any-return]
591591

592592

593593
class _VulnerabilityScoreSourceSerializationHelper(serializable.helpers.BaseHelper):
@@ -836,8 +836,8 @@ def __init__(self, *, organizations: Optional[Iterable[OrganizationalEntity]] =
836836
raise NoPropertiesProvidedException(
837837
'One of `organizations` or `individuals` must be populated - neither were'
838838
)
839-
self.organizations = organizations or [] # type: ignore
840-
self.individuals = individuals or [] # type: ignore
839+
self.organizations = organizations or [] # type:ignore[assignment]
840+
self.individuals = individuals or [] # type:ignore[assignment]
841841

842842
@property
843843
@serializable.xml_array(serializable.XmlArraySerializationType.NESTED, 'organization')
@@ -919,21 +919,21 @@ def __init__(self, *,
919919
self._bom_ref = BomRef(value=str(bom_ref) if bom_ref else None)
920920
self.id = id
921921
self.source = source
922-
self.references = references or [] # type: ignore
923-
self.ratings = ratings or [] # type: ignore
924-
self.cwes = cwes or [] # type: ignore
922+
self.references = references or [] # type:ignore[assignment]
923+
self.ratings = ratings or [] # type:ignore[assignment]
924+
self.cwes = cwes or [] # type:ignore[assignment]
925925
self.description = description
926926
self.detail = detail
927927
self.recommendation = recommendation
928-
self.advisories = advisories or [] # type: ignore
928+
self.advisories = advisories or [] # type:ignore[assignment]
929929
self.created = created
930930
self.published = published
931931
self.updated = updated
932932
self.credits = credits
933-
self.tools = tools or [] # type: ignore
933+
self.tools = tools or [] # type:ignore[assignment]
934934
self.analysis = analysis
935-
self.affects = affects or [] # type: ignore
936-
self.properties = properties or [] # type: ignore
935+
self.affects = affects or [] # type:ignore[assignment]
936+
self.properties = properties or [] # type:ignore[assignment]
937937

938938
@property
939939
@serializable.json_name('bom-ref')

cyclonedx/spdx.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
from json import load as json_load
2323
from typing import TYPE_CHECKING, Dict, Optional, Set
2424

25-
from license_expression import get_spdx_licensing # type: ignore
25+
from license_expression import get_spdx_licensing # type:ignore[import-untyped]
2626

2727
from .schema._res import SPDX_JSON as __SPDX_JSON_SCHEMA
2828

0 commit comments

Comments
 (0)