Skip to content

Commit

Permalink
Merge pull request #3 from sw360/2-do-not-add-empty-acknowlegments-fi…
Browse files Browse the repository at this point in the history
…les-and-filehashes

Do not add empty acknowlegments files and filehashes
  • Loading branch information
tngraf committed May 7, 2024
2 parents b602247 + d08ce0e commit f37ec03
Show file tree
Hide file tree
Showing 8 changed files with 55 additions and 44 deletions.
6 changes: 5 additions & 1 deletion ChangeLog.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
# Python library to read Component License Information (CLI) files

## NEXT

* do not add empty acknowledgments, files and filehashes.

## V2.0.1

* remove requests dependency (has never been used...)
* remove requests dependency (has never been used...).

## V2.0.0

Expand Down
10 changes: 9 additions & 1 deletion RunChecks.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,21 @@
# Run quality checks
# ------------------

# 2023-12-24, T. Graf
# 2024-05-07, T. Graf

Write-Host "flake8 ..."
poetry run flake8

Write-Host "markdownlint ..."
npx -q markdownlint-cli *.md

Write-Host "isort ..."
poetry run isort .

Write-Host "mypy ..."
poetry run mypy .

Write-Host "Done."

# -----------------------------------
# -----------------------------------
7 changes: 4 additions & 3 deletions cli_support/CLI.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# -------------------------------------------------------------------------------
# (c) 2019-2023 Siemens AG
# (c) 2019-2024 Siemens AG
# All Rights Reserved.
# Author: [email protected]
#
Expand Down Expand Up @@ -197,8 +197,9 @@ def write_to_file(self, filename: str) -> None:
tags.text = ",".join(str(x) for x in self.tags)

comment = ET.SubElement(root, "Comment")
cdata = self.CDATA(self.comment)
comment.append(cdata)
if self.comment:
cdata = self.CDATA(self.comment)
comment.append(cdata)

tree = ET.ElementTree(root)
if not sys.version_info < (3, 9):
Expand Down
13 changes: 8 additions & 5 deletions cli_support/cli_assessment_summary.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# -------------------------------------------------------------------------------
# (c) 2023 Siemens AG
# (c) 2023-2024 Siemens AG
# All Rights Reserved.
# Author: [email protected]
#
Expand Down Expand Up @@ -59,9 +59,11 @@ def _read_from_element(self, element: ET.Element) -> None:
def _append_to_xml(self, parent: ET.Element) -> None:
"""Write assessment summary to XML element."""
gi = ET.SubElement(parent, "AssessmentSummary")

node = ET.SubElement(gi, "GeneralAssessment")
cdata = self.CDATA(self.general_assessment)
node.append(cdata)
if self.general_assessment:
cdata = self.CDATA(self.general_assessment)
node.append(cdata)

node = ET.SubElement(gi, "CriticalFilesFound")
node.text = self.critical_files_found
Expand All @@ -76,5 +78,6 @@ def _append_to_xml(self, parent: ET.Element) -> None:
node.text = self.usage_restrictions_found

node = ET.SubElement(gi, "AdditionalNotes")
cdata = self.CDATA(self.additional_notes)
node.append(cdata)
if self.additional_notes:
cdata = self.CDATA(self.additional_notes)
node.append(cdata)
18 changes: 10 additions & 8 deletions cli_support/cli_file_item_base.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# -------------------------------------------------------------------------------
# (c) 2019-2023 Siemens AG
# (c) 2019-2024 Siemens AG
# All Rights Reserved.
# Author: [email protected]
#
Expand Down Expand Up @@ -40,10 +40,12 @@ def _read_files_from_element(self, element: ET.Element) -> None:

def _append_to_xml(self, parent: ET.Element) -> None:
"""Write files and hashes to XML element."""
file_data = ET.SubElement(parent, "Files")
cdata = self.CDATA("\n".join(str(x) for x in self.files))
file_data.append(cdata)

hash_data = ET.SubElement(parent, "FileHash")
cdata = self.CDATA("\n".join(str(x) for x in self.hashes))
hash_data.append(cdata)
if len(self.files) > 0:
file_data = ET.SubElement(parent, "Files")
cdata = self.CDATA("\n".join(str(x) for x in self.files))
file_data.append(cdata)

if len(self.hashes) > 0:
hash_data = ET.SubElement(parent, "FileHash")
cdata = self.CDATA("\n".join(str(x) for x in self.hashes))
hash_data.append(cdata)
12 changes: 7 additions & 5 deletions cli_support/cli_general_information.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# -------------------------------------------------------------------------------
# (c) 2023 Siemens AG
# (c) 2023-2024 Siemens AG
# All Rights Reserved.
# Author: [email protected]
#
Expand Down Expand Up @@ -115,12 +115,14 @@ def _append_to_xml(self, parent: ET.Element) -> None:
node.text = self.component_release_date

hash_data = ET.SubElement(gi, "LinkComponentManagement")
cdata = self.CDATA(self.link_component_management)
hash_data.append(cdata)
if self.link_component_management:
cdata = self.CDATA(self.link_component_management)
hash_data.append(cdata)

hash_data = ET.SubElement(gi, "LinkScanTool")
cdata = self.CDATA(self.link_scan_tool)
hash_data.append(cdata)
if self.link_scan_tool:
cdata = self.CDATA(self.link_scan_tool)
hash_data.append(cdata)

ci = ET.SubElement(gi, "ComponentId")

Expand Down
9 changes: 5 additions & 4 deletions cli_support/cli_license.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# -------------------------------------------------------------------------------
# (c) 2019-2023 Siemens AG
# (c) 2019-2024 Siemens AG
# All Rights Reserved.
# Author: [email protected]
#
Expand Down Expand Up @@ -77,9 +77,10 @@ def _append_to_xml(self, parent: ET.Element) -> None:

CliFileItemBase._append_to_xml(self, lic)

ack = ET.SubElement(lic, "Acknowledgements")
cdata = self.CDATA("\n".join(str(x) for x in self.acknowledgements))
ack.append(cdata)
if len(self.acknowledgements) > 0:
ack = ET.SubElement(lic, "Acknowledgements")
cdata = self.CDATA("\n".join(str(x) for x in self.acknowledgements))
ack.append(cdata)

tags = ET.SubElement(lic, "Tags")
tags.text = ",".join(str(x) for x in self.tags)
24 changes: 7 additions & 17 deletions tests/test_cli_clifile.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# -------------------------------------------------------------------------------
# (c) 2022-2023 Siemens AG
# (c) 2022-2024 Siemens AG
# All Rights Reserved.
# Author: [email protected]
#
Expand Down Expand Up @@ -179,35 +179,25 @@ def test_write_file_minimal(self) -> None:
<ComponentVersion />
<ComponentHash />
<ComponentReleaseDate />
<LinkComponentManagement>
<![CDATA[]]></LinkComponentManagement>
<LinkScanTool>
<![CDATA[]]></LinkScanTool>
<LinkComponentManagement />
<LinkScanTool />
<ComponentId>
<Type />
<Id />
</ComponentId>
</GeneralInformation>
<AssessmentSummary>
<GeneralAssessment>
<![CDATA[]]></GeneralAssessment>
<GeneralAssessment />
<CriticalFilesFound>None</CriticalFilesFound>
<DependencyNotes>None</DependencyNotes>
<ExportRestrictionsFound>None</ExportRestrictionsFound>
<UsageRestrictionsFound>None</UsageRestrictionsFound>
<AdditionalNotes>
<![CDATA[]]></AdditionalNotes>
<AdditionalNotes />
</AssessmentSummary>
<IrrelevantFiles>
<Files>
<![CDATA[]]></Files>
<FileHash>
<![CDATA[]]></FileHash>
</IrrelevantFiles>
<IrrelevantFiles />
<ExternalIds />
<Tags />
<Comment>
<![CDATA[]]></Comment>
<Comment />
</ComponentLicenseInformation>'''

self.delete_file(self.TESTFILE4)
Expand Down

0 comments on commit f37ec03

Please sign in to comment.