src/eric7/CycloneDXInterface/CycloneDXConfigDialog.py

branch
eric7
changeset 9221
bf71ee032bb4
parent 9209
b99e7fd55fd3
child 9258
52a1ff7adb16
--- a/src/eric7/CycloneDXInterface/CycloneDXConfigDialog.py	Wed Jul 13 11:16:20 2022 +0200
+++ b/src/eric7/CycloneDXInterface/CycloneDXConfigDialog.py	Wed Jul 13 14:55:47 2022 +0200
@@ -22,6 +22,7 @@
     """
     Class implementing a dialog to configure the CycloneDX SBOM generation.
     """
+
     SupportedSchemas = {
         "JSON": [
             (1, 4),
@@ -46,11 +47,11 @@
         "JSON": "cyclonedx.json",
         "XML": "cyclonedx.xml",
     }
-    
+
     def __init__(self, environment, parent=None):
         """
         Constructor
-        
+
         @param environment name of the virtual environment
         @type str
         @param parent reference to the parent widget (defaults to None)
@@ -58,97 +59,101 @@
         """
         super().__init__(parent)
         self.setupUi(self)
-        
+
         if environment == "<project>":
             self.__project = ericApp().getObject("Project")
             self.__defaultDirectory = self.__project.getProjectPath()
         else:
             self.__project = None
             venvManager = ericApp().getObject("VirtualEnvManager")
-            self.__defaultDirectory = venvManager.getVirtualenvDirectory(
-                environment)
-        
+            self.__defaultDirectory = venvManager.getVirtualenvDirectory(environment)
+
         self.environmentLabel.setText(environment)
-        
-        self.pipenvButton.setEnabled(os.path.isfile(os.path.join(
-            self.__defaultDirectory,
-            CycloneDXConfigDialog.Sources["pipenv"]
-        )))
-        self.poetryButton.setEnabled(os.path.isfile(os.path.join(
-            self.__defaultDirectory,
-            CycloneDXConfigDialog.Sources["poetry"]
-        )))
-        self.requirementsButton.setEnabled(os.path.isfile(os.path.join(
-            self.__defaultDirectory,
-            CycloneDXConfigDialog.Sources["requirements"]
-        )))
-        
+
+        self.pipenvButton.setEnabled(
+            os.path.isfile(
+                os.path.join(
+                    self.__defaultDirectory, CycloneDXConfigDialog.Sources["pipenv"]
+                )
+            )
+        )
+        self.poetryButton.setEnabled(
+            os.path.isfile(
+                os.path.join(
+                    self.__defaultDirectory, CycloneDXConfigDialog.Sources["poetry"]
+                )
+            )
+        )
+        self.requirementsButton.setEnabled(
+            os.path.isfile(
+                os.path.join(
+                    self.__defaultDirectory,
+                    CycloneDXConfigDialog.Sources["requirements"],
+                )
+            )
+        )
+
         self.vulnerabilityCheckBox.toggled.connect(
-            self.__repopulateSchemaVersionComboBox)
-        
+            self.__repopulateSchemaVersionComboBox
+        )
+
         self.filePicker.setMode(EricPathPickerModes.SAVE_FILE_OVERWRITE_MODE)
         self.filePicker.setDefaultDirectory(self.__defaultDirectory)
-        
-        self.fileFormatComboBox.setCurrentText(
-            CycloneDXConfigDialog.DefaultFileFormat)
+
+        self.fileFormatComboBox.setCurrentText(CycloneDXConfigDialog.DefaultFileFormat)
         self.on_fileFormatComboBox_currentTextChanged(
-            CycloneDXConfigDialog.DefaultFileFormat)
-        
+            CycloneDXConfigDialog.DefaultFileFormat
+        )
+
         self.__metadata = None
         self.__metadataButton = self.buttonBox.addButton(
-            self.tr("Edit Metadata..."),
-            QDialogButtonBox.ButtonRole.ActionRole)
+            self.tr("Edit Metadata..."), QDialogButtonBox.ButtonRole.ActionRole
+        )
         self.__metadataButton.clicked.connect(self.__editMetaData)
-        
+
         msh = self.minimumSizeHint()
         self.resize(max(self.width(), msh.width()), msh.height())
-    
+
     @pyqtSlot()
     def __repopulateSchemaVersionComboBox(self):
         """
         Private slot to repopulate the schema version selector.
         """
         fileFormat = self.fileFormatComboBox.currentText()
-        minSchemaVersion = (
-            (1, 4)
-            if self.vulnerabilityCheckBox.isChecked() else
-            (1, 0)
-        )
+        minSchemaVersion = (1, 4) if self.vulnerabilityCheckBox.isChecked() else (1, 0)
         self.schemaVersionComboBox.clear()
         self.schemaVersionComboBox.addItems(
             "{0}.{1}".format(*f)
             for f in CycloneDXConfigDialog.SupportedSchemas[fileFormat]
             if f >= minSchemaVersion
         )
-    
+
     @pyqtSlot(str)
     def on_fileFormatComboBox_currentTextChanged(self, fileFormat):
         """
         Private slot to handle the selection of a SBOM file format.
-        
+
         @param fileFormat selected format
         @type str
         """
         # re-populate the file schema combo box
         self.__repopulateSchemaVersionComboBox()
-        
+
         # set the file filter
         if fileFormat == "JSON":
-            self.filePicker.setFilters(
-                self.tr("JSON Files (*.json);;All Files (*)"))
+            self.filePicker.setFilters(self.tr("JSON Files (*.json);;All Files (*)"))
         elif fileFormat == "XML":
-            self.filePicker.setFilters(
-                self.tr("XML Files (*.xml);;All Files (*)"))
+            self.filePicker.setFilters(self.tr("XML Files (*.xml);;All Files (*)"))
         else:
             self.filePicker.setFilters(self.tr("All Files (*)"))
-    
+
     @pyqtSlot()
     def __editMetaData(self):
         """
         Private slot to open a dialog for editing the SBOM metadata.
         """
         from .CycloneDXMetaDataDialog import CycloneDXMetaDataDialog
-        
+
         # populate a metadata dictionary from project data
         metadata = (
             {
@@ -162,18 +167,18 @@
                 "Manufacturer": "",
                 "Supplier": "",
             }
-            if self.__metadata is None and self.__project is not None else
-            self.__metadata
+            if self.__metadata is None and self.__project is not None
+            else self.__metadata
         )
-        
+
         dlg = CycloneDXMetaDataDialog(metadata=metadata, parent=self)
         if dlg.exec() == QDialog.DialogCode.Accepted:
             self.__metadata = dlg.getMetaData()
-    
+
     def getData(self):
         """
         Public method to get the SBOM configuration data.
-        
+
         @return tuple containing the input source, the input file name, the
             file format, the schema version, the path of the SBOM file to be
             written, a flag indicating to include vulnerability information,
@@ -187,26 +192,23 @@
         elif self.pipenvButton.isChecked():
             inputSource = "pipenv"
             inputFile = os.path.join(
-                self.__defaultDirectory,
-                CycloneDXConfigDialog.Sources["pipenv"]
+                self.__defaultDirectory, CycloneDXConfigDialog.Sources["pipenv"]
             )
         elif self.poetryButton.isChecked():
             inputSource = "poetry"
             inputFile = os.path.join(
-                self.__defaultDirectory,
-                CycloneDXConfigDialog.Sources["poetry"]
+                self.__defaultDirectory, CycloneDXConfigDialog.Sources["poetry"]
             )
         elif self.requirementsButton.isChecked():
             inputSource = "requirements"
             inputFile = os.path.join(
-                self.__defaultDirectory,
-                CycloneDXConfigDialog.Sources["requirements"]
+                self.__defaultDirectory, CycloneDXConfigDialog.Sources["requirements"]
             )
         else:
             # should not happen
             inputSource = None
             inputFile = None
-        
+
         fileFormat = self.fileFormatComboBox.currentText()
         schemaVersion = self.schemaVersionComboBox.currentText()
         sbomFile = self.filePicker.text()
@@ -214,15 +216,19 @@
             try:
                 sbomFile = os.path.join(
                     self.__defaultDirectory,
-                    CycloneDXConfigDialog.DefaultFileNames[fileFormat]
+                    CycloneDXConfigDialog.DefaultFileNames[fileFormat],
                 )
             except KeyError:
                 # should not happen
                 sbomFile = None
-        
+
         return (
-            inputSource, inputFile, fileFormat, schemaVersion, sbomFile,
+            inputSource,
+            inputFile,
+            fileFormat,
+            schemaVersion,
+            sbomFile,
             self.vulnerabilityCheckBox.isChecked(),
             self.dependenciesCheckBox.isChecked(),
-            self.__metadata
+            self.__metadata,
         )

eric ide

mercurial