26 QToolButton, |
26 QToolButton, |
27 QTreeWidgetItem, |
27 QTreeWidgetItem, |
28 QWidget, |
28 QWidget, |
29 ) |
29 ) |
30 |
30 |
31 from eric7 import Globals, Preferences |
31 from eric7 import EricUtilities, Preferences |
32 from eric7.EricGui import EricPixmapCache |
32 from eric7.EricGui import EricPixmapCache |
33 from eric7.EricGui.EricOverrideCursor import EricOverrideCursor |
33 from eric7.EricGui.EricOverrideCursor import EricOverrideCursor |
34 from eric7.EricWidgets import EricMessageBox |
34 from eric7.EricWidgets import EricMessageBox |
35 from eric7.EricWidgets.EricApplication import ericApp |
35 from eric7.EricWidgets.EricApplication import ericApp |
36 |
36 |
315 projectVenv = self.__pip.getProjectEnvironmentString() |
315 projectVenv = self.__pip.getProjectEnvironmentString() |
316 if projectVenv: |
316 if projectVenv: |
317 self.environmentsComboBox.addItem(projectVenv) |
317 self.environmentsComboBox.addItem(projectVenv) |
318 self.environmentsComboBox.addItems( |
318 self.environmentsComboBox.addItems( |
319 self.__pip.getVirtualenvNames( |
319 self.__pip.getVirtualenvNames( |
320 noRemote=True, noConda=Preferences.getPip("ExcludeCondaEnvironments") |
320 noRemote=True, |
|
321 noConda=Preferences.getPip("ExcludeCondaEnvironments"), |
|
322 noGlobals=Preferences.getPip("ExcludeGlobalEnvironments"), |
|
323 noServer=True, |
321 ) |
324 ) |
322 ) |
325 ) |
323 |
326 |
324 def __isPipAvailable(self): |
327 def __isPipAvailable(self): |
325 """ |
328 """ |
358 if venvName: |
361 if venvName: |
359 pipList = self.packagesList.findItems( |
362 pipList = self.packagesList.findItems( |
360 "pip", Qt.MatchFlag.MatchExactly | Qt.MatchFlag.MatchCaseSensitive |
363 "pip", Qt.MatchFlag.MatchExactly | Qt.MatchFlag.MatchCaseSensitive |
361 ) |
364 ) |
362 if len(pipList) > 0: |
365 if len(pipList) > 0: |
363 pipVersionTuple = Globals.versionToTuple( |
366 pipVersionTuple = EricUtilities.versionToTuple( |
364 pipList[0].text(PipPackagesWidget.InstalledVersionColumn) |
367 pipList[0].text(PipPackagesWidget.InstalledVersionColumn) |
365 ) |
368 ) |
366 |
369 |
367 return pipVersionTuple |
370 return pipVersionTuple |
368 |
371 |
495 |
498 |
496 def __updateOutdatedInfo(self, outdatedPackages): |
499 def __updateOutdatedInfo(self, outdatedPackages): |
497 """ |
500 """ |
498 Private method to process the list of outdated packages. |
501 Private method to process the list of outdated packages. |
499 |
502 |
500 @param outdatedPackages list of tuples containing the package name, |
503 @param outdatedPackages dictionary with the package name as key and |
501 installed version and available version |
504 a tuple containing the installed and available version as the value |
502 @type list of tuple of (str, str, str) |
505 @type dict of [str: (str, str)] |
503 """ |
506 """ |
504 for package, _version, latest in outdatedPackages: |
507 for row in range(self.packagesList.topLevelItemCount()): |
505 items = self.packagesList.findItems( |
508 item = self.packagesList.topLevelItem(row) |
506 package, |
509 with contextlib.suppress(KeyError): |
507 Qt.MatchFlag.MatchExactly | Qt.MatchFlag.MatchCaseSensitive, |
510 item.setText( |
508 ) |
511 PipPackagesWidget.AvailableVersionColumn, |
509 if items: |
512 outdatedPackages[item.text(0)][1], |
510 items[0].setText(PipPackagesWidget.AvailableVersionColumn, latest) |
513 ) |
511 self.packagesList.resizeColumnToContents( |
514 self.packagesList.resizeColumnToContents( |
512 PipPackagesWidget.AvailableVersionColumn |
515 PipPackagesWidget.AvailableVersionColumn |
513 ) |
516 ) |
514 self.statusLabel.hide() |
517 self.statusLabel.hide() |
515 |
518 |