Skip to content

Commit 3c6fb82

Browse files
David Lysenkointellij-monorepo-bot
authored andcommitted
[pycharm] PY-79031 Address feedback
(cherry picked from commit 5c3832244d01247f61f553237d41285d3320f1d0) IJ-MR-163093 GitOrigin-RevId: 9064368cdf0d9b709129f7b710e70cc28413f1c4
1 parent 50d39ff commit 3c6fb82

File tree

5 files changed

+19
-11
lines changed

5 files changed

+19
-11
lines changed

python/ide/impl/src/com/intellij/pycharm/community/ide/impl/configuration/PyUvSdkConfiguration.kt

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ import com.intellij.openapi.projectRoots.impl.SdkConfigurationUtil
1111
import com.intellij.pycharm.community.ide.impl.PyCharmCommunityCustomizationBundle
1212
import com.intellij.python.pyproject.PY_PROJECT_TOML
1313
import com.intellij.util.concurrency.annotations.RequiresBackgroundThread
14-
import com.jetbrains.python.errorProcessing.asKotlinResult
14+
import com.jetbrains.python.errorProcessing.MessageError
15+
import com.jetbrains.python.errorProcessing.PyResult
1516
import com.jetbrains.python.onSuccess
1617
import com.jetbrains.python.sdk.*
1718
import com.jetbrains.python.sdk.configuration.PyProjectSdkConfigurationExtension
@@ -34,36 +35,36 @@ class PyUvSdkConfiguration : PyProjectSdkConfigurationExtension {
3435
@RequiresBackgroundThread
3536
override fun createAndAddSdkForConfigurator(module: Module): Sdk? {
3637
return runBlockingCancellable {
37-
createUv(module).getOrElse {
38-
LOGGER.warn(it)
39-
null
38+
createUv(module).getOr {
39+
LOGGER.warn(it.error.message)
40+
return@runBlockingCancellable null
4041
}
4142
}
4243
}
4344

4445
@RequiresBackgroundThread
4546
override fun createAndAddSdkForInspection(module: Module): Sdk? {
4647
return runBlockingCancellable {
47-
createUv(module).getOrElse {
48-
LOGGER.warn(it)
49-
null
48+
createUv(module).getOr {
49+
LOGGER.warn(it.error.message)
50+
return@runBlockingCancellable null
5051
}
5152
}
5253
}
5354

5455
override fun supportsHeadlessModel(): Boolean = true
5556

56-
private suspend fun createUv(module: Module): Result<Sdk> {
57+
private suspend fun createUv(module: Module): PyResult<Sdk> {
5758
val workingDir = tryResolvePath(module.basePath)
5859
if (workingDir == null) {
59-
return Result.failure(IllegalStateException("Can't determine working dir for the module"))
60+
return PyResult.failure(MessageError("Can't determine working dir for the module"))
6061
}
6162

6263
val sdk = setupNewUvSdkAndEnvUnderProgress(module.project, workingDir, ProjectJdkTable.getInstance().allJdks.toList(), null)
6364
sdk.onSuccess {
6465
SdkConfigurationUtil.addSdk(it)
6566
}
6667

67-
return sdk.asKotlinResult()
68+
return sdk
6869
}
6970
}

python/src/com/jetbrains/python/run/PythonCommandLineState.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@
7171
import com.jetbrains.python.sdk.*;
7272
import com.jetbrains.python.sdk.flavors.PythonSdkFlavor;
7373
import com.jetbrains.python.sdk.flavors.conda.CondaPythonExecKt;
74+
import org.jetbrains.annotations.ApiStatus;
7475
import org.jetbrains.annotations.NotNull;
7576
import org.jetbrains.annotations.Nullable;
7677

@@ -1070,6 +1071,7 @@ public void setRunWithPty(boolean runWithPty) {
10701071
* @return Returns `true` if the configuration should be allowed to run, `false` otherwise.
10711072
*/
10721073
@RequiresEdt
1074+
@ApiStatus.Internal
10731075
public boolean canRun() {
10741076
return true;
10751077
}

python/src/com/jetbrains/python/run/PythonScripts.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ import com.jetbrains.python.sdk.flavors.PythonSdkFlavor
3434
import com.jetbrains.python.sdk.flavors.conda.fixCondaPathEnvIfNeeded
3535
import com.jetbrains.python.sdk.targetAdditionalData
3636
import com.jetbrains.python.target.PyTargetAwareAdditionalData.Companion.pathsAddedByUser
37+
import org.jetbrains.annotations.ApiStatus
3738
import java.nio.file.Path
3839
import kotlin.io.path.pathString
3940

@@ -139,6 +140,7 @@ fun prepareHelperScriptExecution(helperPackage: HelperPackage,
139140
pythonScriptPath = resolveUploadPath(helperPackage.asParamString(), uploads)
140141
}
141142

143+
@ApiStatus.Internal
142144
fun prepareHelperScriptViaToolExecution(
143145
helperPackage: HelperPackage,
144146
helpersAwareTargetRequest: HelpersAwareTargetEnvironmentRequest,

python/src/com/jetbrains/python/sdk/uv/Uv.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,15 @@ import com.jetbrains.python.errorProcessing.PyResult
55
import com.jetbrains.python.packaging.common.PythonPackage
66
import com.jetbrains.python.packaging.common.PythonOutdatedPackage
77
import com.jetbrains.python.packaging.common.PythonPackageSpecification
8+
import org.jetbrains.annotations.ApiStatus
89
import java.nio.file.Path
910

11+
@ApiStatus.Internal
1012
interface UvCli {
1113
suspend fun runUv(workingDir: Path, vararg args: String): PyResult<String>
1214
}
1315

16+
@ApiStatus.Internal
1417
interface UvLowLevel {
1518
suspend fun initializeEnvironment(init: Boolean, python: Path?): PyResult<Path>
1619

@@ -38,6 +41,7 @@ interface UvLowLevel {
3841
suspend fun lock(): Result<String>
3942
}
4043

44+
@ApiStatus.Internal
4145
sealed class ScriptSyncCheckResult {
4246
data object Synced : ScriptSyncCheckResult()
4347
data object NotSynced : ScriptSyncCheckResult()

python/src/com/jetbrains/python/sdk/uv/impl/UvCli.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import com.intellij.openapi.ui.ValidationInfo
77
import com.intellij.openapi.util.SystemInfo
88
import com.intellij.util.SystemProperties
99
import com.jetbrains.python.PyBundle
10-
import com.jetbrains.python.errorProcessing.PyExecResult
1110
import com.jetbrains.python.errorProcessing.PyResult
1211
import com.jetbrains.python.errorProcessing.asPythonResult
1312
import com.jetbrains.python.pathValidation.PlatformAndRoot

0 commit comments

Comments
 (0)