Plugins/UiExtensionPlugins/PipInterface/PipListDialog.py

changeset 6257
4523c5e6dd43
parent 6124
8467f7d4b567
child 6301
f488d2cc5841
--- a/Plugins/UiExtensionPlugins/PipInterface/PipListDialog.py	Tue Apr 17 19:11:51 2018 +0200
+++ b/Plugins/UiExtensionPlugins/PipInterface/PipListDialog.py	Thu Apr 19 19:13:37 2018 +0200
@@ -81,6 +81,7 @@
         self.__mode = mode
         self.__defaultCommand = plugin.getPreferences("CurrentPipExecutable")
         self.__ioEncoding = Preferences.getSystem("IOEncoding")
+        self.__indexUrl = plugin.getPreferences("PipSearchIndex")
         self.__errors = ""
         self.__output = []
         
@@ -270,6 +271,10 @@
         if self.notRequiredCheckBox.isChecked():
             args.append("--not-required")
         
+        if self.__indexUrl:
+            args.append("--index-url")
+            args.append(self.__indexUrl + "/simple")
+        
         self.process.start(command, args)
         procStarted = self.process.waitForStarted(5000)
         if not procStarted:
@@ -288,18 +293,23 @@
         Private method to process the captured output.
         """
         if self.__output:
-            packageData = json.loads("\n".join(self.__output))
-            for package in packageData:
-                data = [
-                    package["name"],
-                    package["version"],
-                ]
-                if self.__mode == "outdated":
-                    data.extend([
-                        package["latest_version"],
-                        package["latest_filetype"],
-                    ])
-                QTreeWidgetItem(self.packageList, data)
+            try:
+                packageData = json.loads("\n".join(self.__output))
+                for package in packageData:
+                    data = [
+                        package["name"],
+                        package["version"],
+                    ]
+                    if self.__mode == "outdated":
+                        data.extend([
+                            package["latest_version"],
+                            package["latest_filetype"],
+                        ])
+                    QTreeWidgetItem(self.packageList, data)
+            except ValueError as err:
+                self.__errors += str(err) + "\n"
+                self.__errors += "received output:\n"
+                self.__errors += "\n".join(self.__output)
     
     def __readStdout(self):
         """

eric ide

mercurial