src/eric7/PipInterface/Pip.py

branch
eric7
changeset 10392
ef315a1fdd4a
parent 10390
226a771db7aa
child 10393
434e1b0bc49e
equal deleted inserted replaced
10391:66e67cc6b161 10392:ef315a1fdd4a
322 """ 322 """
323 pyqtPackages = [ 323 pyqtPackages = [
324 p 324 p
325 for p in packages 325 for p in packages
326 if p.lower() 326 if p.lower()
327 in [ 327 in (
328 "pyqt6", 328 "pyqt6",
329 "pyqt6-sip", 329 "pyqt6-sip",
330 "pyqt6-webengine", 330 "pyqt6-webengine",
331 "pyqt6-charts", 331 "pyqt6-charts",
332 "pyqt6-qscintilla", 332 "pyqt6-qscintilla",
333 "pyqt6-qt6", 333 "pyqt6-qt6",
334 "pyqt6-webengine-qt6", 334 "pyqt6-webengine-qt6",
335 "pyqt6-charts-qt6", 335 "pyqt6-charts-qt6",
336 ] 336 )
337 ] 337 ]
338 return bool(pyqtPackages) 338 return bool(pyqtPackages)
339 339
340 def __checkUpgradeEric(self, packages): 340 def __checkUpgradeEric(self, packages):
341 """ 341 """
347 @return flag indicating an eric-ide upgrade 347 @return flag indicating an eric-ide upgrade
348 @rtype bool 348 @rtype bool
349 """ 349 """
350 ericPackages = [p for p in packages if p.lower() == "eric-ide"] 350 ericPackages = [p for p in packages if p.lower() == "eric-ide"]
351 return bool(ericPackages) 351 return bool(ericPackages)
352
353 def __filterUpgradePackages(self, packages):
354 """
355 Private method to filter out the packages that cannot be upgraded without
356 stopping eric first.
357
358 @param packages list of packages to upgrade
359 @type list of str
360 @return list of packages that can be upgraded
361 @rtype list of str
362 """
363 return [
364 p
365 for p in packages
366 if p.lower() not in (
367 "eric-ide",
368 "pyqt6",
369 "pyqt6-sip",
370 "pyqt6-webengine",
371 "pyqt6-charts",
372 "pyqt6-qscintilla",
373 "pyqt6-qt6",
374 "pyqt6-webengine-qt6",
375 "pyqt6-charts-qt6",
376 )
377 ]
352 378
353 def upgradePackages(self, packages, venvName, userSite=False): 379 def upgradePackages(self, packages, venvName, userSite=False):
354 """ 380 """
355 Public method to upgrade the given list of packages. 381 Public method to upgrade the given list of packages.
356 382
375 upgradePyQt = self.__checkUpgradePyQt(packages) 401 upgradePyQt = self.__checkUpgradePyQt(packages)
376 upgradeEric = self.__checkUpgradeEric(packages) 402 upgradeEric = self.__checkUpgradeEric(packages)
377 if upgradeEric or upgradePyQt: 403 if upgradeEric or upgradePyQt:
378 try: 404 try:
379 if upgradeEric and upgradePyQt: 405 if upgradeEric and upgradePyQt:
380 self.__ui.upgradeEricPyQt() 406 res = self.__ui.upgradeEricPyQt()
381 elif upgradeEric: 407 elif upgradeEric:
382 self.__ui.upgradeEric() 408 res = self.__ui.upgradeEric()
383 elif upgradePyQt: 409 elif upgradePyQt:
384 self.__ui.upgradePyQt() 410 res = self.__ui.upgradePyQt()
385 return None # should not be reached; play it safe 411 else:
412 return None # should not be reached; play it safe
413
414 if not res:
415 # user rejected PyQt6 and/or eric-ide/eric7 update
416 packages = self.__filterUpgradePackages(packages)
386 except AttributeError: 417 except AttributeError:
387 return False 418 return False
388 419
389 if Preferences.getPip("PipSearchIndex"): 420 if Preferences.getPip("PipSearchIndex"):
390 indexUrl = Preferences.getPip("PipSearchIndex") + "/simple" 421 indexUrl = Preferences.getPip("PipSearchIndex") + "/simple"

eric ide

mercurial