1143 def __initPipMenu(self): |
1143 def __initPipMenu(self): |
1144 """ |
1144 """ |
1145 Private method to create the super menu and attach it to the super |
1145 Private method to create the super menu and attach it to the super |
1146 menu button. |
1146 menu button. |
1147 """ |
1147 """ |
|
1148 ################################################################### |
|
1149 ## Menu with pip related actions |
|
1150 ################################################################### |
|
1151 |
|
1152 self.__pipSubmenu = QMenu(self.tr("Pip")) |
|
1153 self.__installPipAct = self.__pipSubmenu.addAction( |
|
1154 self.tr("Install Pip"), self.__installPip |
|
1155 ) |
|
1156 self.__installPipUserAct = self.__pipSubmenu.addAction( |
|
1157 self.tr("Install Pip to User-Site"), self.__installPipUser |
|
1158 ) |
|
1159 self.__repairPipAct = self.__pipSubmenu.addAction( |
|
1160 self.tr("Repair Pip"), self.__repairPip |
|
1161 ) |
|
1162 |
|
1163 ################################################################### |
|
1164 ## Menu with install related actions |
|
1165 ################################################################### |
|
1166 |
|
1167 self.__installSubmenu = QMenu(self.tr("Install")) |
|
1168 self.__installPackagesAct = self.__installSubmenu.addAction( |
|
1169 self.tr("Install Packages"), self.__installPackages |
|
1170 ) |
|
1171 self.__installLocalPackageAct = self.__installSubmenu.addAction( |
|
1172 self.tr("Install Local Package"), self.__installLocalPackage |
|
1173 ) |
|
1174 self.__reinstallPackagesAct = self.__installSubmenu.addAction( |
|
1175 self.tr("Re-Install Selected Packages"), self.__reinstallPackages |
|
1176 ) |
|
1177 |
|
1178 ################################################################### |
|
1179 ## Menu for requirements and constraints management |
|
1180 ################################################################### |
|
1181 |
|
1182 self.__requirementsSubenu = QMenu(self.tr("Requirements/Constraints")) |
|
1183 self.__installRequirementsAct = self.__requirementsSubenu.addAction( |
|
1184 self.tr("Install Requirements"), self.__installRequirements |
|
1185 ) |
|
1186 self.__uninstallRequirementsAct = self.__requirementsSubenu.addAction( |
|
1187 self.tr("Uninstall Requirements"), self.__uninstallRequirements |
|
1188 ) |
|
1189 self.__generateRequirementsAct = self.__requirementsSubenu.addAction( |
|
1190 self.tr("Generate Requirements..."), self.__generateRequirements |
|
1191 ) |
|
1192 self.__requirementsSubenu.addSeparator() |
|
1193 self.__generateConstraintsAct = self.__requirementsSubenu.addAction( |
|
1194 self.tr("Generate Constraints..."), self.__generateConstraints |
|
1195 ) |
|
1196 |
|
1197 ################################################################### |
|
1198 ## Menu for requirements and constraints management |
|
1199 ################################################################### |
|
1200 |
|
1201 self.__cacheSubmenu = QMenu(self.tr("Cache")) |
|
1202 self.__cacheInfoAct = self.__cacheSubmenu.addAction( |
|
1203 self.tr("Show Cache Info..."), self.__showCacheInfo |
|
1204 ) |
|
1205 self.__cacheShowListAct = self.__cacheSubmenu.addAction( |
|
1206 self.tr("Show Cached Files..."), self.__showCacheList |
|
1207 ) |
|
1208 self.__cacheRemoveAct = self.__cacheSubmenu.addAction( |
|
1209 self.tr("Remove Cached Files..."), self.__removeCachedFiles |
|
1210 ) |
|
1211 self.__cachePurgeAct = self.__cacheSubmenu.addAction( |
|
1212 self.tr("Purge Cache..."), self.__purgeCache |
|
1213 ) |
|
1214 |
|
1215 ################################################################### |
|
1216 ## Main menu |
|
1217 ################################################################### |
|
1218 |
1148 self.__pipMenu = QMenu() |
1219 self.__pipMenu = QMenu() |
1149 self.__installPipAct = self.__pipMenu.addAction( |
1220 self.__pipSubmenuAct = self.__pipMenu.addMenu(self.__pipSubmenu) |
1150 self.tr("Install Pip"), self.__installPip |
|
1151 ) |
|
1152 self.__installPipUserAct = self.__pipMenu.addAction( |
|
1153 self.tr("Install Pip to User-Site"), self.__installPipUser |
|
1154 ) |
|
1155 self.__repairPipAct = self.__pipMenu.addAction( |
|
1156 self.tr("Repair Pip"), self.__repairPip |
|
1157 ) |
|
1158 self.__pipMenu.addSeparator() |
1221 self.__pipMenu.addSeparator() |
1159 self.__installPackagesAct = self.__pipMenu.addAction( |
1222 self.__installSubmenuAct = self.__pipMenu.addMenu(self.__installSubmenu) |
1160 self.tr("Install Packages"), self.__installPackages |
|
1161 ) |
|
1162 self.__installLocalPackageAct = self.__pipMenu.addAction( |
|
1163 self.tr("Install Local Package"), self.__installLocalPackage |
|
1164 ) |
|
1165 self.__pipMenu.addSeparator() |
1223 self.__pipMenu.addSeparator() |
1166 self.__installRequirementsAct = self.__pipMenu.addAction( |
1224 self.__requirementsSubmenuAct = self.__pipMenu.addMenu( |
1167 self.tr("Install Requirements"), self.__installRequirements |
1225 self.__requirementsSubenu |
1168 ) |
|
1169 self.__reinstallPackagesAct = self.__pipMenu.addAction( |
|
1170 self.tr("Re-Install Selected Packages"), self.__reinstallPackages |
|
1171 ) |
|
1172 self.__uninstallRequirementsAct = self.__pipMenu.addAction( |
|
1173 self.tr("Uninstall Requirements"), self.__uninstallRequirements |
|
1174 ) |
|
1175 self.__generateRequirementsAct = self.__pipMenu.addAction( |
|
1176 self.tr("Generate Requirements..."), self.__generateRequirements |
|
1177 ) |
1226 ) |
1178 self.__pipMenu.addSeparator() |
1227 self.__pipMenu.addSeparator() |
1179 self.__showLicensesDialogAct = self.__pipMenu.addAction( |
1228 self.__showLicensesDialogAct = self.__pipMenu.addAction( |
1180 self.tr("Show Licenses..."), self.__showLicensesDialog |
1229 self.tr("Show Licenses..."), self.__showLicensesDialog |
1181 ) |
1230 ) |
1190 self.__pipMenu.addSeparator() |
1239 self.__pipMenu.addSeparator() |
1191 self.__cyclonedxAct = self.__pipMenu.addAction( |
1240 self.__cyclonedxAct = self.__pipMenu.addAction( |
1192 self.tr("Create SBOM file"), self.__createSBOMFile |
1241 self.tr("Create SBOM file"), self.__createSBOMFile |
1193 ) |
1242 ) |
1194 self.__pipMenu.addSeparator() |
1243 self.__pipMenu.addSeparator() |
1195 self.__cacheInfoAct = self.__pipMenu.addAction( |
1244 self.__cacheSubmenuAct = self.__pipMenu.addMenu(self.__cacheSubmenu) |
1196 self.tr("Show Cache Info..."), self.__showCacheInfo |
|
1197 ) |
|
1198 self.__cacheShowListAct = self.__pipMenu.addAction( |
|
1199 self.tr("Show Cached Files..."), self.__showCacheList |
|
1200 ) |
|
1201 self.__cacheRemoveAct = self.__pipMenu.addAction( |
|
1202 self.tr("Remove Cached Files..."), self.__removeCachedFiles |
|
1203 ) |
|
1204 self.__cachePurgeAct = self.__pipMenu.addAction( |
|
1205 self.tr("Purge Cache..."), self.__purgeCache |
|
1206 ) |
|
1207 self.__pipMenu.addSeparator() |
1245 self.__pipMenu.addSeparator() |
1208 # editUserConfigAct |
1246 # editUserConfigAct |
1209 self.__pipMenu.addAction( |
1247 self.__pipMenu.addAction( |
1210 self.tr("Edit User Configuration..."), self.__editUserConfiguration |
1248 self.tr("Edit User Configuration..."), self.__editUserConfiguration |
1211 ) |
1249 ) |
1227 """ |
1265 """ |
1228 enable = bool(self.environmentsComboBox.currentText()) |
1266 enable = bool(self.environmentsComboBox.currentText()) |
1229 enablePip = self.__isPipAvailable() |
1267 enablePip = self.__isPipAvailable() |
1230 enablePipCache = self.__availablePipVersion() >= (20, 1, 0) |
1268 enablePipCache = self.__availablePipVersion() >= (20, 1, 0) |
1231 |
1269 |
|
1270 self.__pipSubmenuAct.setEnabled(enable) |
1232 self.__installPipAct.setEnabled(not enablePip) |
1271 self.__installPipAct.setEnabled(not enablePip) |
1233 self.__installPipUserAct.setEnabled(not enablePip) |
1272 self.__installPipUserAct.setEnabled(not enablePip) |
1234 self.__repairPipAct.setEnabled(enablePip) |
1273 self.__repairPipAct.setEnabled(enablePip) |
1235 |
1274 |
1236 self.__installPackagesAct.setEnabled(enablePip) |
1275 self.__installSubmenu.setEnabled(enablePip) |
1237 self.__installLocalPackageAct.setEnabled(enablePip) |
1276 |
1238 self.__reinstallPackagesAct.setEnabled(enablePip) |
1277 self.__requirementsSubmenuAct.setEnabled(enablePip) |
1239 |
1278 |
1240 self.__installRequirementsAct.setEnabled(enablePip) |
1279 self.__cacheSubmenuAct.setEnabled(enablePipCache) |
1241 self.__uninstallRequirementsAct.setEnabled(enablePip) |
|
1242 self.__generateRequirementsAct.setEnabled(enablePip) |
|
1243 |
|
1244 self.__cacheInfoAct.setEnabled(enablePipCache) |
|
1245 self.__cacheShowListAct.setEnabled(enablePipCache) |
|
1246 self.__cacheRemoveAct.setEnabled(enablePipCache) |
|
1247 self.__cachePurgeAct.setEnabled(enablePipCache) |
|
1248 |
1280 |
1249 self.__editVirtualenvConfigAct.setEnabled(enable) |
1281 self.__editVirtualenvConfigAct.setEnabled(enable) |
1250 |
1282 |
1251 self.__checkVulnerabilityAct.setEnabled( |
1283 self.__checkVulnerabilityAct.setEnabled( |
1252 enable & self.vulnerabilityCheckBox.isEnabled() |
1284 enable & self.vulnerabilityCheckBox.isEnabled() |
1356 """ |
1388 """ |
1357 Private slot to generate the contents for a requirements file. |
1389 Private slot to generate the contents for a requirements file. |
1358 """ |
1390 """ |
1359 venvName = self.environmentsComboBox.currentText() |
1391 venvName = self.environmentsComboBox.currentText() |
1360 if venvName: |
1392 if venvName: |
1361 from .PipFreezeDialog import PipFreezeDialog |
1393 from .PipFreezeDialog import PipFreezeDialog, PipFreezeDialogModes |
1362 |
1394 |
1363 self.__freezeDialog = PipFreezeDialog(self.__pip, self) |
1395 self.__freezeDialog = PipFreezeDialog( |
|
1396 self.__pip, mode=PipFreezeDialogModes.Requirements, parent=self |
|
1397 ) |
|
1398 self.__freezeDialog.show() |
|
1399 self.__freezeDialog.start(venvName) |
|
1400 |
|
1401 @pyqtSlot() |
|
1402 def __generateConstraints(self): |
|
1403 """ |
|
1404 Private slot to generate the contents for a constraints file. |
|
1405 """ |
|
1406 venvName = self.environmentsComboBox.currentText() |
|
1407 if venvName: |
|
1408 from .PipFreezeDialog import PipFreezeDialog, PipFreezeDialogModes |
|
1409 |
|
1410 self.__freezeDialog = PipFreezeDialog( |
|
1411 self.__pip, mode=PipFreezeDialogModes.Constraints, parent=self |
|
1412 ) |
1364 self.__freezeDialog.show() |
1413 self.__freezeDialog.show() |
1365 self.__freezeDialog.start(venvName) |
1414 self.__freezeDialog.start(venvName) |
1366 |
1415 |
1367 @pyqtSlot() |
1416 @pyqtSlot() |
1368 def __editUserConfiguration(self): |
1417 def __editUserConfiguration(self): |