PY-26492 Fixed broken Python packaging requirements API usage after rebase

This commit is contained in:
Andrey Vlasovskikh
2018-06-15 21:24:41 +03:00
parent 895a93437e
commit 8aecd3e87b
2 changed files with 13 additions and 6 deletions
@@ -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)
}
@@ -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<PyRequirement> =
PyPackageUtil.fix(PyRequirement.fromText(text))
PyRequirementParser.fromText(text)
override fun parseRequirement(line: String): PyRequirement? =
PyRequirementParser.fromLine(line)
override fun parseRequirements(file: VirtualFile): List<PyRequirement> =
PyRequirementParser.fromFile(file)
override fun getDependents(pkg: PyPackage): Set<PyPackage> {
// TODO: Parse the dependency information from `pipenv graph`