src/eric7/PipInterface/PipPackagesWidget.py

branch
eric7-maintenance
changeset 9442
906485dcd210
parent 9264
18a7312cfdb3
parent 9437
4bc1acf812f4
child 9549
67295777d9fe
equal deleted inserted replaced
9379:f23c43e18046 9442:906485dcd210
26 QMenu, 26 QMenu,
27 QDialog, 27 QDialog,
28 QAbstractItemView, 28 QAbstractItemView,
29 ) 29 )
30 30
31 from EricWidgets.EricApplication import ericApp 31 from eric7.EricWidgets.EricApplication import ericApp
32 from EricWidgets import EricMessageBox 32 from eric7.EricWidgets import EricMessageBox
33 from EricGui.EricOverrideCursor import EricOverrideCursor 33 from eric7.EricGui.EricOverrideCursor import EricOverrideCursor
34 34
35 from .PipVulnerabilityChecker import Package, VulnerabilityCheckError 35 from .PipVulnerabilityChecker import Package, VulnerabilityCheckError
36 from .Ui_PipPackagesWidget import Ui_PipPackagesWidget 36 from .Ui_PipPackagesWidget import Ui_PipPackagesWidget
37 37
38 import UI.PixmapCache 38 from eric7.EricGui import EricPixmapCache
39 import Globals 39 from eric7 import Globals, Preferences
40 import Preferences
41 40
42 41
43 class PypiSearchResultsParser(html.parser.HTMLParser): 42 class PypiSearchResultsParser(html.parser.HTMLParser):
44 """ 43 """
45 Class implementing the parser for the PyPI search result page. 44 Class implementing the parser for the PyPI search result page.
186 super().__init__(parent) 185 super().__init__(parent)
187 self.setupUi(self) 186 self.setupUi(self)
188 187
189 self.layout().setContentsMargins(0, 3, 0, 0) 188 self.layout().setContentsMargins(0, 3, 0, 0)
190 189
191 self.viewToggleButton.setIcon(UI.PixmapCache.getIcon("viewListTree")) 190 self.viewToggleButton.setIcon(EricPixmapCache.getIcon("viewListTree"))
192 191
193 self.pipMenuButton.setObjectName("pip_supermenu_button") 192 self.pipMenuButton.setObjectName("pip_supermenu_button")
194 self.pipMenuButton.setIcon(UI.PixmapCache.getIcon("superMenu")) 193 self.pipMenuButton.setIcon(EricPixmapCache.getIcon("superMenu"))
195 self.pipMenuButton.setToolTip(self.tr("pip Menu")) 194 self.pipMenuButton.setToolTip(self.tr("pip Menu"))
196 self.pipMenuButton.setPopupMode(QToolButton.ToolButtonPopupMode.InstantPopup) 195 self.pipMenuButton.setPopupMode(QToolButton.ToolButtonPopupMode.InstantPopup)
197 self.pipMenuButton.setToolButtonStyle(Qt.ToolButtonStyle.ToolButtonIconOnly) 196 self.pipMenuButton.setToolButtonStyle(Qt.ToolButtonStyle.ToolButtonIconOnly)
198 self.pipMenuButton.setFocusPolicy(Qt.FocusPolicy.NoFocus) 197 self.pipMenuButton.setFocusPolicy(Qt.FocusPolicy.NoFocus)
199 self.pipMenuButton.setAutoRaise(True) 198 self.pipMenuButton.setAutoRaise(True)
200 self.pipMenuButton.setShowMenuInside(True) 199 self.pipMenuButton.setShowMenuInside(True)
201 200
202 self.refreshButton.setIcon(UI.PixmapCache.getIcon("reload")) 201 self.refreshButton.setIcon(EricPixmapCache.getIcon("reload"))
203 self.upgradeButton.setIcon(UI.PixmapCache.getIcon("1uparrow")) 202 self.upgradeButton.setIcon(EricPixmapCache.getIcon("1uparrow"))
204 self.upgradeAllButton.setIcon(UI.PixmapCache.getIcon("2uparrow")) 203 self.upgradeAllButton.setIcon(EricPixmapCache.getIcon("2uparrow"))
205 self.uninstallButton.setIcon(UI.PixmapCache.getIcon("minus")) 204 self.uninstallButton.setIcon(EricPixmapCache.getIcon("minus"))
206 self.showPackageDetailsButton.setIcon(UI.PixmapCache.getIcon("info")) 205 self.showPackageDetailsButton.setIcon(EricPixmapCache.getIcon("info"))
207 self.searchToggleButton.setIcon(UI.PixmapCache.getIcon("find")) 206 self.searchToggleButton.setIcon(EricPixmapCache.getIcon("find"))
208 self.searchButton.setIcon(UI.PixmapCache.getIcon("findNext")) 207 self.searchButton.setIcon(EricPixmapCache.getIcon("findNext"))
209 self.searchMoreButton.setIcon(UI.PixmapCache.getIcon("plus")) 208 self.searchMoreButton.setIcon(EricPixmapCache.getIcon("plus"))
210 self.installButton.setIcon(UI.PixmapCache.getIcon("plus")) 209 self.installButton.setIcon(EricPixmapCache.getIcon("plus"))
211 self.installUserSiteButton.setIcon(UI.PixmapCache.getIcon("addUser")) 210 self.installUserSiteButton.setIcon(EricPixmapCache.getIcon("addUser"))
212 self.showDetailsButton.setIcon(UI.PixmapCache.getIcon("info")) 211 self.showDetailsButton.setIcon(EricPixmapCache.getIcon("info"))
213 212
214 self.refreshDependenciesButton.setIcon(UI.PixmapCache.getIcon("reload")) 213 self.refreshDependenciesButton.setIcon(EricPixmapCache.getIcon("reload"))
215 self.showDepPackageDetailsButton.setIcon(UI.PixmapCache.getIcon("info")) 214 self.showDepPackageDetailsButton.setIcon(EricPixmapCache.getIcon("info"))
216 self.dependencyRepairButton.setIcon(UI.PixmapCache.getIcon("repair")) 215 self.dependencyRepairButton.setIcon(EricPixmapCache.getIcon("repair"))
217 216
218 self.__pip = pip 217 self.__pip = pip
219 218
220 self.packagesList.header().setSortIndicator( 219 self.packagesList.header().setSortIndicator(
221 PipPackagesWidget.PackageColumn, Qt.SortOrder.AscendingOrder 220 PipPackagesWidget.PackageColumn, Qt.SortOrder.AscendingOrder
286 285
287 @param shutdown flag indicating the IDE shutdown 286 @param shutdown flag indicating the IDE shutdown
288 @type bool 287 @type bool
289 """ 288 """
290 if not shutdown: 289 if not shutdown:
290 if self.environmentsComboBox.currentIndex() == 1:
291 self.environmentsComboBox.setCurrentIndex(0)
292
291 # the project entry is always at index 1 293 # the project entry is always at index 1
292 self.environmentsComboBox.removeItem(1) 294 self.environmentsComboBox.removeItem(1)
293 295
294 def __populateEnvironments(self): 296 def __populateEnvironments(self):
295 """ 297 """
478 480
479 @param name name of the selected Python environment 481 @param name name of the selected Python environment
480 @type str 482 @type str
481 """ 483 """
482 if name != self.__selectedEnvironment: 484 if name != self.__selectedEnvironment:
485 if not name:
486 self.environmentPathLabel.setPath("")
487 else:
488 self.environmentPathLabel.setPath(
489 self.__pip.getVirtualenvInterpreter(name)
490 )
491
483 if self.viewToggleButton.isChecked(): 492 if self.viewToggleButton.isChecked():
484 self.__refreshDependencyTree() 493 self.__refreshDependencyTree()
485 else: 494 else:
486 self.__refreshPackagesList() 495 self.__refreshPackagesList()
487 self.__selectedEnvironment = name 496 self.__selectedEnvironment = name
1434 Private method to edit a configuration. 1443 Private method to edit a configuration.
1435 1444
1436 @param venvName name of the environment to act upon 1445 @param venvName name of the environment to act upon
1437 @type str 1446 @type str
1438 """ 1447 """
1439 from QScintilla.MiniEditor import MiniEditor 1448 from eric7.QScintilla.MiniEditor import MiniEditor
1440 1449
1441 if venvName: 1450 if venvName:
1442 cfgFile = self.__pip.getVirtualenvConfig(venvName) 1451 cfgFile = self.__pip.getVirtualenvConfig(venvName)
1443 if not cfgFile: 1452 if not cfgFile:
1444 return 1453 return
1596 itm.setText( 1605 itm.setText(
1597 PipPackagesWidget.VulnerabilityColumn, ", ".join(affected) 1606 PipPackagesWidget.VulnerabilityColumn, ", ".join(affected)
1598 ) 1607 )
1599 itm.setIcon( 1608 itm.setIcon(
1600 PipPackagesWidget.VulnerabilityColumn, 1609 PipPackagesWidget.VulnerabilityColumn,
1601 UI.PixmapCache.getIcon("securityLow"), 1610 EricPixmapCache.getIcon("securityLow"),
1602 ) 1611 )
1603 1612
1604 elif error in ( 1613 elif error in (
1605 VulnerabilityCheckError.FullDbUnavailable, 1614 VulnerabilityCheckError.FullDbUnavailable,
1606 VulnerabilityCheckError.SummaryDbUnavailable, 1615 VulnerabilityCheckError.SummaryDbUnavailable,
1772 ) 1781 )
1773 specifierSet = SpecifierSet(specifiers=spec) 1782 specifierSet = SpecifierSet(specifiers=spec)
1774 if not specifierSet.contains(dependency["installed_version"]): 1783 if not specifierSet.contains(dependency["installed_version"]):
1775 itm.setIcon( 1784 itm.setIcon(
1776 PipPackagesWidget.DepRequiredVersionColumn, 1785 PipPackagesWidget.DepRequiredVersionColumn,
1777 UI.PixmapCache.getIcon("warning"), 1786 EricPixmapCache.getIcon("warning"),
1778 ) 1787 )
1779 1788
1780 elif dependency["required_version"].lower() == "any": 1789 elif dependency["required_version"].lower() == "any":
1781 itm.setText(PipPackagesWidget.DepRequiredVersionColumn, self.tr("any")) 1790 itm.setText(PipPackagesWidget.DepRequiredVersionColumn, self.tr("any"))
1782 1791

eric ide

mercurial