mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Fix determining if there is installed package for some third-party stub in typeshed (PEP 591) (PY-34945)
Previously `typing_extensions.pyi` had not been considered as stub because pypi package is called `typing-extensions` GitOrigin-RevId: a72abc97248b641a901a70213d6be410324d3322
This commit is contained in:
committed by
intellij-monorepo-bot
parent
5f2630859c
commit
5c4eb9b772
@@ -52,11 +52,14 @@ object PyTypeShed {
|
||||
if (ApplicationManager.getApplication().isUnitTestMode) {
|
||||
return true
|
||||
}
|
||||
val topLevelPackage = name.firstComponent ?: return false
|
||||
val pyPIPackages = PyPIPackageUtil.PACKAGES_TOPLEVEL[topLevelPackage] ?: emptyList()
|
||||
val packages = PyPackageManagers.getInstance().forSdk(sdk).packages ?: return true
|
||||
return PyPackageUtil.findPackage(packages, topLevelPackage) != null ||
|
||||
pyPIPackages.any { PyPackageUtil.findPackage(packages, it) != null }
|
||||
val possiblePackage = name.firstComponent ?: return false
|
||||
val alternativePossiblePackages = PyPIPackageUtil.PACKAGES_TOPLEVEL[possiblePackage] ?: emptyList()
|
||||
|
||||
val packageManager = PyPackageManagers.getInstance().forSdk(sdk)
|
||||
val installedPackages = packageManager.packages ?: return true
|
||||
|
||||
return packageManager.parseRequirement(possiblePackage)?.match(installedPackages) != null ||
|
||||
alternativePossiblePackages.any { PyPackageUtil.findPackage(installedPackages, it) != null }
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user