1198 # updateVulnerabilityDbAct |
1198 # updateVulnerabilityDbAct |
1199 self.__pipMenu.addAction( |
1199 self.__pipMenu.addAction( |
1200 self.tr("Update Vulnerability Database"), |
1200 self.tr("Update Vulnerability Database"), |
1201 self.__updateVulnerabilityDbCache) |
1201 self.__updateVulnerabilityDbCache) |
1202 self.__pipMenu.addSeparator() |
1202 self.__pipMenu.addSeparator() |
|
1203 self.__cyclonedxAct = self.__pipMenu.addAction( |
|
1204 self.tr("Create SBOM file"), |
|
1205 self.__createSBOMFile) |
|
1206 self.__pipMenu.addSeparator() |
1203 self.__cacheInfoAct = self.__pipMenu.addAction( |
1207 self.__cacheInfoAct = self.__pipMenu.addAction( |
1204 self.tr("Show Cache Info..."), |
1208 self.tr("Show Cache Info..."), |
1205 self.__showCacheInfo) |
1209 self.__showCacheInfo) |
1206 self.__cacheShowListAct = self.__pipMenu.addAction( |
1210 self.__cacheShowListAct = self.__pipMenu.addAction( |
1207 self.tr("Show Cached Files..."), |
1211 self.tr("Show Cached Files..."), |
1258 self.__editVirtualenvConfigAct.setEnabled(enable) |
1262 self.__editVirtualenvConfigAct.setEnabled(enable) |
1259 |
1263 |
1260 self.__checkVulnerabilityAct.setEnabled( |
1264 self.__checkVulnerabilityAct.setEnabled( |
1261 enable & self.vulnerabilityCheckBox.isEnabled()) |
1265 enable & self.vulnerabilityCheckBox.isEnabled()) |
1262 |
1266 |
|
1267 self.__cyclonedxAct.setEnabled(enable) |
|
1268 |
1263 self.__showLicensesDialogAct.setEnabled(enable) |
1269 self.__showLicensesDialogAct.setEnabled(enable) |
1264 |
1270 |
1265 @pyqtSlot() |
1271 @pyqtSlot() |
1266 def __installPip(self): |
1272 def __installPip(self): |
1267 """ |
1273 """ |
1848 localPackages=localPackages, |
1854 localPackages=localPackages, |
1849 usersite=usersite, |
1855 usersite=usersite, |
1850 parent=self |
1856 parent=self |
1851 ) |
1857 ) |
1852 dlg.exec() |
1858 dlg.exec() |
|
1859 |
|
1860 ################################################################## |
|
1861 ## Interface to create a SBOM file using CycloneDX |
|
1862 ################################################################## |
|
1863 |
|
1864 @pyqtSlot() |
|
1865 def __createSBOMFile(self): |
|
1866 """ |
|
1867 Private slot to create a "Software Bill Of Material" file. |
|
1868 """ |
|
1869 import CycloneDXInterface |
|
1870 |
|
1871 venvName = self.environmentsComboBox.currentText() |
|
1872 if venvName == self.__pip.getProjectEnvironmentString(): |
|
1873 venvName = "<project>" |
|
1874 CycloneDXInterface.createCycloneDXFile(venvName) |