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