--- 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): """