From 065ab05d232c7dff1515c2b18eae68c83094c952 Mon Sep 17 00:00:00 2001 From: "Ilya.Kazakevich" Date: Wed, 2 Apr 2025 23:00:49 +0200 Subject: [PATCH] Python god function renamed GitOrigin-RevId: 5481c6b1026bcebd866aed8a283c83ac63918039 --- .../PyRequirementsTxtOrSetupPySdkConfiguration.kt | 4 ++-- .../python/featuresTrainer/ift/PythonBasedLangSupport.kt | 4 ++-- .../jetbrains/python/sdk/add/v1/PyAddNewVirtualEnvPanel.kt | 6 +++--- .../jetbrains/python/sdk/add/v1/PyAddVirtualEnvPanel.kt | 6 +++--- .../sdk/configuration/PyProjectVirtualEnvConfiguration.kt | 7 ++++++- 5 files changed, 16 insertions(+), 11 deletions(-) diff --git a/python/ide/impl/src/com/intellij/pycharm/community/ide/impl/configuration/PyRequirementsTxtOrSetupPySdkConfiguration.kt b/python/ide/impl/src/com/intellij/pycharm/community/ide/impl/configuration/PyRequirementsTxtOrSetupPySdkConfiguration.kt index f34e806ba736..b389aaefacf1 100644 --- a/python/ide/impl/src/com/intellij/pycharm/community/ide/impl/configuration/PyRequirementsTxtOrSetupPySdkConfiguration.kt +++ b/python/ide/impl/src/com/intellij/pycharm/community/ide/impl/configuration/PyRequirementsTxtOrSetupPySdkConfiguration.kt @@ -40,7 +40,7 @@ import com.jetbrains.python.requirements.RequirementsFileType import com.jetbrains.python.sdk.* import com.jetbrains.python.sdk.add.v1.PyAddNewVirtualEnvFromFilePanel import com.jetbrains.python.sdk.configuration.PyProjectSdkConfigurationExtension -import com.jetbrains.python.sdk.configuration.createVirtualEnvSynchronously +import com.jetbrains.python.sdk.configuration.createVirtualEnvAndSdkSynchronously import java.awt.BorderLayout import java.awt.Insets import java.nio.file.Paths @@ -75,7 +75,7 @@ class PyRequirementsTxtOrSetupPySdkConfiguration : PyProjectSdkConfigurationExte val sdk = invokeAndWaitIfNeeded { Disposer.newDisposable("Creating virtual environment").use { PyTemporarilyIgnoredFileProvider.ignoreRoot(systemIndependentLocation, it) - createVirtualEnvSynchronously(chosenBaseSdk!!, existingSdks, location, projectPath, module.project, module) + createVirtualEnvAndSdkSynchronously(chosenBaseSdk!!, existingSdks, location, projectPath, module.project, module) } } diff --git a/python/python-features-trainer/src/com/intellij/python/featuresTrainer/ift/PythonBasedLangSupport.kt b/python/python-features-trainer/src/com/intellij/python/featuresTrainer/ift/PythonBasedLangSupport.kt index e82961d04168..d5944be64851 100644 --- a/python/python-features-trainer/src/com/intellij/python/featuresTrainer/ift/PythonBasedLangSupport.kt +++ b/python/python-features-trainer/src/com/intellij/python/featuresTrainer/ift/PythonBasedLangSupport.kt @@ -25,7 +25,7 @@ import com.jetbrains.python.sdk.* import com.jetbrains.python.sdk.add.PySdkPathChoosingComboBox import com.jetbrains.python.sdk.add.addBaseInterpretersAsync import com.jetbrains.python.sdk.configuration.PyProjectSdkConfiguration.setReadyToUseSdk -import com.jetbrains.python.sdk.configuration.createVirtualEnvSynchronously +import com.jetbrains.python.sdk.configuration.createVirtualEnvAndSdkSynchronously import com.jetbrains.python.sdk.configuration.findPreferredVirtualEnvBaseSdk import com.jetbrains.python.statistics.modules import training.dsl.LessonContext @@ -94,7 +94,7 @@ abstract class PythonBasedLangSupport : AbstractLangSupport() { existingSdks: List, module: Module?): Sdk? { val venvRoot = FileUtil.toSystemDependentName(PySdkSettings.instance.getPreferredVirtualEnvBasePath(project.basePath)) - val venvSdk = createVirtualEnvSynchronously(preferredSdk, existingSdks, venvRoot, project.basePath, project, module, project) + val venvSdk = createVirtualEnvAndSdkSynchronously(preferredSdk, existingSdks, venvRoot, project.basePath, project, module, project) return venvSdk.also { SdkConfigurationUtil.addSdk(it) } diff --git a/python/src/com/jetbrains/python/sdk/add/v1/PyAddNewVirtualEnvPanel.kt b/python/src/com/jetbrains/python/sdk/add/v1/PyAddNewVirtualEnvPanel.kt index 9bfdab812f81..cd3f8c86a164 100644 --- a/python/src/com/jetbrains/python/sdk/add/v1/PyAddNewVirtualEnvPanel.kt +++ b/python/src/com/jetbrains/python/sdk/add/v1/PyAddNewVirtualEnvPanel.kt @@ -22,7 +22,7 @@ import com.jetbrains.python.sdk.add.PyAddNewEnvPanel import com.jetbrains.python.sdk.add.PySdkPathChoosingComboBox import com.jetbrains.python.sdk.add.addBaseInterpretersAsync import com.jetbrains.python.sdk.basePath -import com.jetbrains.python.sdk.configuration.createVirtualEnvSynchronously +import com.jetbrains.python.sdk.configuration.createVirtualEnvAndSdkSynchronously import com.jetbrains.python.statistics.InterpreterTarget import com.jetbrains.python.statistics.InterpreterType import org.jetbrains.annotations.SystemIndependent @@ -78,8 +78,8 @@ open class PyAddNewVirtualEnvPanel(private val project: Project?, validateSdkComboBox(baseSdkField, this)) override fun getOrCreateSdk(): Sdk? { - return createVirtualEnvSynchronously(baseSdkField.selectedSdk, existingSdks, pathField.text, newProjectPath, project, module, context, - inheritSitePackagesField.isSelected, makeSharedField.isSelected) + return createVirtualEnvAndSdkSynchronously(baseSdkField.selectedSdk, existingSdks, pathField.text, newProjectPath, project, module, context, + inheritSitePackagesField.isSelected, makeSharedField.isSelected) } override fun getStatisticInfo(): InterpreterStatisticsInfo? { diff --git a/python/src/com/jetbrains/python/sdk/add/v1/PyAddVirtualEnvPanel.kt b/python/src/com/jetbrains/python/sdk/add/v1/PyAddVirtualEnvPanel.kt index c0cc858f49df..4814976ab516 100644 --- a/python/src/com/jetbrains/python/sdk/add/v1/PyAddVirtualEnvPanel.kt +++ b/python/src/com/jetbrains/python/sdk/add/v1/PyAddVirtualEnvPanel.kt @@ -37,7 +37,7 @@ import com.jetbrains.python.sdk.add.PySdkPathChoosingComboBox import com.jetbrains.python.sdk.add.addBaseInterpretersAsync import com.jetbrains.python.sdk.add.addInterpretersAsync import com.jetbrains.python.sdk.configuration.createSdkForTarget -import com.jetbrains.python.sdk.configuration.createVirtualEnvSynchronously +import com.jetbrains.python.sdk.configuration.createVirtualEnvAndSdkSynchronously import com.jetbrains.python.sdk.detectVirtualEnvs import com.jetbrains.python.sdk.flavors.PyFlavorAndData import com.jetbrains.python.sdk.flavors.PyFlavorData @@ -222,8 +222,8 @@ internal class PyAddVirtualEnvPanel( else { baseSelectedSdk } - return createVirtualEnvSynchronously(baseSdk, existingSdks, virtualenvRoot, projectBasePath, project, module, context, - isInheritSitePackages, false, targetPanelExtension) + return createVirtualEnvAndSdkSynchronously(baseSdk, existingSdks, virtualenvRoot, projectBasePath, project, module, context, + isInheritSitePackages, false, targetPanelExtension) } private fun configureExistingVirtualenvSdk(targetEnvironmentConfiguration: TargetEnvironmentConfiguration?, selectedSdk: Sdk): Sdk { diff --git a/python/src/com/jetbrains/python/sdk/configuration/PyProjectVirtualEnvConfiguration.kt b/python/src/com/jetbrains/python/sdk/configuration/PyProjectVirtualEnvConfiguration.kt index 52afb47b0798..b9707254ccfb 100644 --- a/python/src/com/jetbrains/python/sdk/configuration/PyProjectVirtualEnvConfiguration.kt +++ b/python/src/com/jetbrains/python/sdk/configuration/PyProjectVirtualEnvConfiguration.kt @@ -33,9 +33,14 @@ import com.jetbrains.python.sdk.flavors.PyFlavorAndData import com.jetbrains.python.sdk.flavors.PyFlavorData import com.jetbrains.python.target.PyTargetAwareAdditionalData import com.jetbrains.python.target.getInterpreterVersion +import org.jetbrains.annotations.ApiStatus +/** + * If you need venv only, please use [com.intellij.python.community.impl.venv.createVenv]: it is cleaner and suspend. + */ +@ApiStatus.Internal @RequiresEdt -fun createVirtualEnvSynchronously( +fun createVirtualEnvAndSdkSynchronously( baseSdk: Sdk, existingSdks: List, venvRoot: String,