--- a/eric7/Preferences/ConfigurationPages/PipPage.py Tue Mar 15 17:29:43 2022 +0100 +++ b/eric7/Preferences/ConfigurationPages/PipPage.py Tue Mar 15 17:35:35 2022 +0100 @@ -29,11 +29,26 @@ self.indexLabel.setText(self.tr( '<b>Note:</b> Leave empty to use the default index URL (' - '<a href="{0}">{0}</a>).') - .format(Pip.DefaultPyPiUrl)) + '<a href="{0}">{0}</a>).' + ).format(Pip.DefaultPyPiUrl)) + self.safetyDbMirrorLabel.setText(self.tr( + '<b>Note:</b> Leave empty to use the default Safety DB URL ({0}).' + ).format(Preferences.Prefs.pipDefaults["VulnerabilityDbMirror"])) # set initial values self.indexEdit.setText(Preferences.getPip("PipSearchIndex")) + + safetyDbUrl = Preferences.getPip("VulnerabilityDbMirror") + if ( + safetyDbUrl == + Preferences.Prefs.pipDefaults["VulnerabilityDbMirror"] + ): + safetyDbUrl = "" + self.safetyDbMirrorEdit.setText(safetyDbUrl) + self.validitySpinBox.setValue( + Preferences.getPip("VulnerabilityDbCacheValidity") // 3600) + # seconds converted to hours + self.noCondaCheckBox.setChecked( Preferences.getPip("ExcludeCondaEnvironments")) @@ -41,10 +56,24 @@ """ Public slot to save the pip configuration. """ - Preferences.setPip( - "PipSearchIndex", self.indexEdit.text().strip()) - Preferences.setPip( - "ExcludeCondaEnvironments", self.noCondaCheckBox.isChecked()) + safetyDbUrl = self.safetyDbMirrorEdit.text().strip() + if not safetyDbUrl: + safetyDbUrl = Preferences.Prefs.pipDefaults[ + "VulnerabilityDbMirror"] + safetyDbUrl = safetyDbUrl.replace("\\", "/") + if not safetyDbUrl.endswith("/"): + safetyDbUrl += "/" + + Preferences.setPip("PipSearchIndex", + self.indexEdit.text().strip()) + + Preferences.setPip("VulnerabilityDbMirror", safetyDbUrl) + Preferences.setPip("VulnerabilityDbCacheValidity", + self.validitySpinBox.value() * 3600) + # hours converted to seconds + + Preferences.setPip("ExcludeCondaEnvironments", + self.noCondaCheckBox.isChecked()) def create(dlg):