diff --git a/python/src/com/jetbrains/python/projectModel/poetry/PoetryProjectModelResolver.kt b/python/src/com/jetbrains/python/projectModel/poetry/PoetryProjectModelResolver.kt index 3953169ee1ef..5c1be3ee8a8f 100644 --- a/python/src/com/jetbrains/python/projectModel/poetry/PoetryProjectModelResolver.kt +++ b/python/src/com/jetbrains/python/projectModel/poetry/PoetryProjectModelResolver.kt @@ -70,23 +70,22 @@ object PoetryProjectModelResolver : PythonProjectModelResolver { if (match == null) return@mapNotNull null val (depName, depUri) = match.destructured val depPath = runCatching { Path.of(URI(depUri)) }.getOrNull() ?: return@mapNotNull null - if (depPath.isDirectory() && depPath.resolve(PoetryConstants.PYPROJECT_TOML).exists()) { - return@mapNotNull depName to depPath + if (!depPath.isDirectory() || !depPath.resolve(PoetryConstants.PYPROJECT_TOML).exists()) { + return@mapNotNull null } - return@mapNotNull null + return@mapNotNull depName to depPath } .toMap() - val oldStyleModuleDependencies: Map = pyprojectToml.getTableOrEmpty("tool.poetry.dependencies") + val oldStyleModuleDependencies = pyprojectToml.getTableOrEmpty("tool.poetry.dependencies") .toMap().entries .mapNotNull { (depName, depSpec) -> - if (depSpec is TomlTable && depSpec.getBoolean("develop") == true) { - val depPath = depSpec.getString("path")?.let { pyprojectTomlPath.parent.resolve(it).normalize() } - if (depPath != null && depPath.isDirectory() && depPath.resolve(PoetryConstants.PYPROJECT_TOML).exists()) { - return@mapNotNull depName to depPath - } + if (depSpec !is TomlTable || depSpec.getBoolean("develop") != true) return@mapNotNull null + val depPath = depSpec.getString("path")?.let { pyprojectTomlPath.parent.resolve(it).normalize() } + if (depPath == null || !depPath.isDirectory() || !depPath.resolve(PoetryConstants.PYPROJECT_TOML).exists()) { + return@mapNotNull null } - return@mapNotNull null + return@mapNotNull depName to depPath } .toMap()