eric7/Preferences/ConfigurationPages/PipPage.py

branch
eric7
changeset 8981
fa03fe1fd672
parent 8881
54e42bc2437a
diff -r f49ab2441e1f -r fa03fe1fd672 eric7/Preferences/ConfigurationPages/PipPage.py
--- 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):

eric ide

mercurial