From 8aecd3e87b6aa55f0c820c67d9327257e4e4609e Mon Sep 17 00:00:00 2001 From: Andrey Vlasovskikh Date: Sat, 9 Jun 2018 20:01:00 +0300 Subject: [PATCH] PY-26492 Fixed broken Python packaging requirements API usage after rebase --- .../pipenv/PyPipEnvPackageManagementService.kt | 8 ++++---- .../python/packaging/pipenv/PyPipEnvPackageManager.kt | 11 +++++++++-- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/python/src/com/jetbrains/python/packaging/pipenv/PyPipEnvPackageManagementService.kt b/python/src/com/jetbrains/python/packaging/pipenv/PyPipEnvPackageManagementService.kt index de0d7734eb49..d8585532086b 100644 --- a/python/src/com/jetbrains/python/packaging/pipenv/PyPipEnvPackageManagementService.kt +++ b/python/src/com/jetbrains/python/packaging/pipenv/PyPipEnvPackageManagementService.kt @@ -9,7 +9,7 @@ import com.intellij.webcore.packaging.InstalledPackage import com.intellij.webcore.packaging.RepoPackage import com.jetbrains.python.packaging.PyPIPackageUtil import com.jetbrains.python.packaging.PyPackageManagerUI -import com.jetbrains.python.packaging.PyRequirement +import com.jetbrains.python.packaging.PyRequirementParser import com.jetbrains.python.packaging.ui.PyPackageManagementService import com.jetbrains.python.sdk.pipenv.pipFileLockSources import java.lang.Exception @@ -51,9 +51,9 @@ class PyPipEnvPackageManagementService(project: Project, sdk: Sdk) : PyPackageMa } }) val requirement = when { - version != null -> PyRequirement(repoPackage.name, version) - else -> PyRequirement(repoPackage.name) - } + version != null -> PyRequirementParser.fromLine("${repoPackage.name}==$version") + else -> PyRequirementParser.fromLine(repoPackage.name) + } ?: return val extraArgs = extraOptions?.split(" +".toRegex()) ?: emptyList() ui.install(listOf(requirement), extraArgs) } diff --git a/python/src/com/jetbrains/python/packaging/pipenv/PyPipEnvPackageManager.kt b/python/src/com/jetbrains/python/packaging/pipenv/PyPipEnvPackageManager.kt index 00e1e4d09cec..272927ea099d 100644 --- a/python/src/com/jetbrains/python/packaging/pipenv/PyPipEnvPackageManager.kt +++ b/python/src/com/jetbrains/python/packaging/pipenv/PyPipEnvPackageManager.kt @@ -10,10 +10,11 @@ import com.intellij.openapi.module.Module import com.intellij.openapi.projectRoots.Sdk import com.intellij.openapi.roots.OrderRootType import com.intellij.openapi.vfs.VfsUtil +import com.intellij.openapi.vfs.VirtualFile import com.jetbrains.python.packaging.PyPackage import com.jetbrains.python.packaging.PyPackageManager -import com.jetbrains.python.packaging.PyPackageUtil import com.jetbrains.python.packaging.PyRequirement +import com.jetbrains.python.packaging.PyRequirementParser import com.jetbrains.python.sdk.PythonSdkType import com.jetbrains.python.sdk.pipenv.pipFileLockRequirements import com.jetbrains.python.sdk.pipenv.runPipEnv @@ -94,7 +95,13 @@ class PyPipEnvPackageManager(val sdk: Sdk) : PyPackageManager() { module.pythonSdk?.pipFileLockRequirements override fun parseRequirements(text: String): List = - PyPackageUtil.fix(PyRequirement.fromText(text)) + PyRequirementParser.fromText(text) + + override fun parseRequirement(line: String): PyRequirement? = + PyRequirementParser.fromLine(line) + + override fun parseRequirements(file: VirtualFile): List = + PyRequirementParser.fromFile(file) override fun getDependents(pkg: PyPackage): Set { // TODO: Parse the dependency information from `pipenv graph`