eric7/CycloneDXInterface/CycloneDXMetaDataDialog.py

Thu, 09 Jun 2022 16:13:18 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Thu, 09 Jun 2022 16:13:18 +0200
branch
eric7
changeset 9141
7085ece52151
child 9175
21e2be5f0b41
permissions
-rw-r--r--

Completed the SBOM generation support by adding a metadata dialog.

9141
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3 # Copyright (c) 2022 Detlev Offenbach <detlev@die-offenbachs.de>
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing a dialog to edit the metadata of the CycloneDX SBOM.
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
10 import os
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
11
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
12 from PyQt6.QtCore import pyqtSlot, QCoreApplication
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
13 from PyQt6.QtWidgets import QDialog, QDialogButtonBox
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
14
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
15 from EricWidgets import EricMessageBox
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
16
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17 from cyclonedx.model.component import ComponentType
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
18
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
19 from .Ui_CycloneDXMetaDataDialog import Ui_CycloneDXMetaDataDialog
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22 class CycloneDXMetaDataDialog(QDialog, Ui_CycloneDXMetaDataDialog):
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23 """
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24 Class implementing a dialog to edit the metadata of the CycloneDX SBOM.
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25 """
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26 ComponentTypeMapping = {
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27 ComponentType.APPLICATION: QCoreApplication.translate(
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28 "CycloneDXMetaDataDialog", "Application"),
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29 ComponentType.CONTAINER: QCoreApplication.translate(
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30 "CycloneDXMetaDataDialog", "Container"),
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31 ComponentType.DEVICE: QCoreApplication.translate(
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32 "CycloneDXMetaDataDialog", "Device"),
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33 ComponentType.FILE: QCoreApplication.translate(
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34 "CycloneDXMetaDataDialog", "File"),
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
35 ComponentType.FIRMWARE: QCoreApplication.translate(
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
36 "CycloneDXMetaDataDialog", "Firmware"),
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
37 ComponentType.FRAMEWORK: QCoreApplication.translate(
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
38 "CycloneDXMetaDataDialog", "Framework"),
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
39 ComponentType.LIBRARY: QCoreApplication.translate(
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
40 "CycloneDXMetaDataDialog", "Library"),
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
41 ComponentType.OPERATING_SYSTEM: QCoreApplication.translate(
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
42 "CycloneDXMetaDataDialog", "Operating System"),
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
43 }
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
44
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
45 def __init__(self, metadata=None, parent=None):
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
46 """
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
47 Constructor
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
48
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
49 @param metadata dictionary containing metadata to populate the dialog
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
50 (defaults to None)
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
51 @type dict (optional)
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
52 @param parent reference to the parent widget (defaults to None)
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
53 @type QWidget (optional)
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
54 """
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
55 super().__init__(parent)
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
56 self.setupUi(self)
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
57
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
58 self.__populateComponentTypeSelector()
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
59 self.__populateLicenseSelector()
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
60
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
61 if metadata:
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
62 # populate the dialog from given metadata dictionary
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
63 self.nameEdit.setText(metadata["Name"])
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
64 self.versionEdit.setText(metadata["Version"])
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
65 self.descriptionEdit.setPlainText(metadata["Description"])
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
66 self.authorEdit.setText(metadata["AuthorName"])
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
67 self.emailEdit.setText(metadata["AuthorEmail"])
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
68 self.licenseComboBox.setCurrentText(metadata["License"])
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
69 self.manufacturerEdit.setText(metadata["Manufacturer"])
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
70 self.supplierEdit.setText(metadata["Supplier"])
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
71 index = self.typeComboBox.findData(metadata["Type"])
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
72 self.typeComboBox.setCurrentIndex(index)
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
73
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
74 self.nameEdit.textChanged.connect(self.__updateOkButton)
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
75 self.typeComboBox.currentTextChanged.connect(self.__updateOkButton)
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
76 self.licenseComboBox.currentTextChanged.connect(self.__updateOkButton)
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
77
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
78 self.__updateOkButton()
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
79
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
80 def __populateComponentTypeSelector(self):
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
81 """
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
82 Private method to populate the component type selector.
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
83 """
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
84 self.typeComboBox.addItem("", "")
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
85 for componentType, displayStr in sorted(
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
86 CycloneDXMetaDataDialog.ComponentTypeMapping.items(),
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
87 key=lambda x: x[1]
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
88 ):
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
89 self.typeComboBox.addItem(displayStr, componentType)
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
90
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
91 def __populateLicenseSelector(self):
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
92 """
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
93 Private method to populate the license selector with the list of trove
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
94 license types.
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
95
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
96 Note: The trove licanese list file was created from querying
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
97 "https://pypi.org/pypi?%3Aaction=list_classifiers".
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
98 """
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
99 filename = os.path.join(
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
100 os.path.dirname(__file__), "..", "data",
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
101 "trove_license_classifiers.txt")
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
102 try:
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
103 with open(filename, "r") as f:
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
104 lines = f.readlines()
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
105 except OSError as err:
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
106 EricMessageBox.warning(
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
107 self,
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
108 self.tr("Reading Trove License Classifiers"),
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
109 self.tr("""<p>The Trove License Classifiers file <b>{0}</b>"""
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
110 """ could not be read.</p><p>Reason: {1}</p>""")
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
111 .format(filename, str(err)))
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
112 return
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
113
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
114 self.licenseComboBox.addItem("")
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
115 self.licenseComboBox.addItems(sorted(
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
116 line.split("::")[-1].strip()
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
117 for line in lines
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
118 if line.startswith("License ") # play it safe
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
119 ))
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
120
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
121 @pyqtSlot()
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
122 def __updateOkButton(self):
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
123 """
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
124 Private slot to update the enabled state of the OK button.
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
125 """
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
126 self.buttonBox.button(QDialogButtonBox.StandardButton.Ok).setEnabled(
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
127 bool(self.nameEdit.text()) and
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
128 bool(self.typeComboBox.currentText()) and
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
129 bool(self.licenseComboBox.currentText())
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
130 )
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
131
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
132 def getMetaData(self):
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
133 """
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
134 Public method to get the entered data.
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
135
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
136 @return dictionary containing the metadata.
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
137 @rtype dict
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
138 """
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
139 return {
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
140 "Name": self.nameEdit.text(),
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
141 "Type": self.typeComboBox.currentData(),
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
142 "Version": self.versionEdit.text(),
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
143 "Description": self.descriptionEdit.toPlainText(),
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
144 "AuthorName": self.authorEdit.text(),
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
145 "AuthorEmail": self.emailEdit.text(),
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
146 "License": self.licenseComboBox.currentText(),
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
147 "Manufacturer": self.manufacturerEdit.text(),
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
148 "Supplier": self.supplierEdit.text(),
7085ece52151 Completed the SBOM generation support by adding a metadata dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
149 }

eric ide

mercurial