Skip to content

Commit 4799f38

Browse files
authored
Merge pull request #13828 from kiblik/xml_DeprecationWarning
fix(parsers): DeprecationWarning: Testing an element's truth ...
2 parents 3a4a6fd + 32e4e0f commit 4799f38

File tree

3 files changed

+18
-17
lines changed

3 files changed

+18
-17
lines changed

dojo/tools/dependency_check/parser.py

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ def add_finding(self, finding, dupes):
8787
def get_filename_and_path_from_dependency(
8888
self, dependency, related_dependency, namespace,
8989
):
90-
if not related_dependency:
90+
if related_dependency is None:
9191
return dependency.findtext(
9292
f"{namespace}fileName",
9393
), dependency.findtext(f"{namespace}filePath")
@@ -105,10 +105,10 @@ def get_component_name_and_version_from_dependency(
105105
self, dependency, related_dependency, namespace,
106106
):
107107
identifiers_node = dependency.find(namespace + "identifiers")
108-
if identifiers_node:
108+
if identifiers_node is not None:
109109
# analyzing identifier from the more generic to
110110
package_node = identifiers_node.find(".//" + namespace + "package")
111-
if package_node:
111+
if package_node is not None:
112112
pck_id = package_node.findtext(f"{namespace}id")
113113
purl = PackageURL.from_string(pck_id)
114114
purl_parts = purl.to_dict()
@@ -166,7 +166,7 @@ def get_component_name_and_version_from_dependency(
166166
maven_node = identifiers_node.find(
167167
".//" + namespace + 'identifier[@type="maven"]',
168168
)
169-
if maven_node:
169+
if maven_node is not None:
170170
maven_parts = maven_node.findtext(f"{namespace}name").split(
171171
":",
172172
)
@@ -181,7 +181,7 @@ def get_component_name_and_version_from_dependency(
181181
evidence_collected_node = dependency.find(
182182
namespace + "evidenceCollected",
183183
)
184-
if evidence_collected_node:
184+
if evidence_collected_node is not None:
185185
# <evidenceCollected>
186186
# <evidence type="product" confidence="HIGH">
187187
# <source>file</source>
@@ -199,12 +199,12 @@ def get_component_name_and_version_from_dependency(
199199
product_node = evidence_collected_node.find(
200200
".//" + namespace + 'evidence[@type="product"]',
201201
)
202-
if product_node:
202+
if product_node is not None:
203203
component_name = product_node.findtext(f"{namespace}value")
204204
version_node = evidence_collected_node.find(
205205
".//" + namespace + 'evidence[@type="version"]',
206206
)
207-
if version_node:
207+
if version_node is not None:
208208
component_version = version_node.findtext(
209209
f"{namespace}value",
210210
)
@@ -280,7 +280,7 @@ def get_finding_from_vulnerability(
280280
mitigated = None
281281
is_Mitigated = False
282282
name = vulnerability.findtext(f"{namespace}name")
283-
if vulnerability.find(f"{namespace}cwes"):
283+
if vulnerability.find(f"{namespace}cwes") is not None:
284284
cwe_field = vulnerability.find(f"{namespace}cwes").findtext(
285285
f"{namespace}cwe",
286286
)
@@ -425,14 +425,14 @@ def get_findings(self, filename, test):
425425

426426
dependencies = scan.find(namespace + "dependencies")
427427
scan_date = None
428-
if scan.find(f"{namespace}projectInfo"):
428+
if scan.find(f"{namespace}projectInfo") is not None:
429429
projectInfo_node = scan.find(f"{namespace}projectInfo")
430430
if projectInfo_node.findtext(f"{namespace}reportDate"):
431431
scan_date = dateutil.parser.parse(
432432
projectInfo_node.findtext(f"{namespace}reportDate"),
433433
)
434434

435-
if dependencies:
435+
if dependencies is not None:
436436
for dependency in dependencies.findall(namespace + "dependency"):
437437
vulnerabilities = dependency.find(
438438
namespace + "vulnerabilities",
@@ -441,7 +441,7 @@ def get_findings(self, filename, test):
441441
for vulnerability in vulnerabilities.findall(
442442
namespace + "vulnerability",
443443
):
444-
if vulnerability:
444+
if vulnerability is not None:
445445
finding = self.get_finding_from_vulnerability(
446446
dependency,
447447
None,
@@ -456,7 +456,7 @@ def get_findings(self, filename, test):
456456
relatedDependencies = dependency.find(
457457
namespace + "relatedDependencies",
458458
)
459-
if relatedDependencies:
459+
if relatedDependencies is not None:
460460
for (
461461
relatedDependency
462462
) in relatedDependencies.findall(
@@ -479,7 +479,7 @@ def get_findings(self, filename, test):
479479
for suppressedVulnerability in vulnerabilities.findall(
480480
namespace + "suppressedVulnerability",
481481
):
482-
if suppressedVulnerability:
482+
if suppressedVulnerability is not None:
483483
finding = self.get_finding_from_vulnerability(
484484
dependency,
485485
None,

dojo/tools/fortify/xml_parser.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ def xml_structure_before_24_2(self, root, test):
8686
for group in ReportSection.iter("GroupingSection"):
8787
title = group.findtext("groupTitle")
8888
maj_attr_summary = group.find("MajorAttributeSummary")
89-
if maj_attr_summary:
89+
if maj_attr_summary is not None:
9090
meta_info = maj_attr_summary.findall("MetaInfo")
9191
meta_pair[place][title] = {
9292
x.findtext("Name"): x.findtext("Value")
@@ -115,11 +115,11 @@ def xml_structure_before_24_2(self, root, test):
115115
"FilePath": issue.find("Primary").find("FilePath").text,
116116
"LineStart": issue.find("Primary").find("LineStart").text,
117117
}
118-
if issue.find("Primary").find("Snippet"):
118+
if issue.find("Primary").find("Snippet") is not None:
119119
details["Snippet"] = issue.find("Primary").find("Snippet").text
120120
else:
121121
details["Snippet"] = "n/a"
122-
if issue.find("Source"):
122+
if issue.find("Source") is not None:
123123
source = {
124124
"FileName": issue.find("Source").find("FileName").text,
125125
"FilePath": issue.find("Source").find("FilePath").text,

dojo/tools/nmap/parser.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,8 @@ def get_findings(self, file, test):
9696
)
9797
description += service_info
9898
script_id = None
99-
if script := port_element.find("script"):
99+
script = port_element.find("script")
100+
if script is not None:
100101
if script_id := script.attrib.get("id"):
101102
description += f"**Script ID:** {script_id}\n"
102103
if script_output := script.attrib.get("output"):

0 commit comments

Comments
 (0)