PY-82119 Packaging: Rewrite Conda to use EEL

GitOrigin-RevId: 8329d24191bdc1411775dc8e58a65172a2804788
This commit is contained in:
Nikita Ashihmin
2025-06-19 17:30:40 +00:00
committed by intellij-monorepo-bot
parent 693c5014a8
commit 2c3a5a9f7a
36 changed files with 473 additions and 551 deletions
@@ -5,6 +5,10 @@ import com.intellij.openapi.diagnostic.Logger
import com.jetbrains.python.Result.Failure
import com.jetbrains.python.Result.Success
import com.jetbrains.python.errorProcessing.MessageError
import com.jetbrains.python.errorProcessing.PyResult
import com.jetbrains.python.packaging.PyExecutionException
import kotlinx.coroutines.CancellationException
import org.jetbrains.annotations.ApiStatus
import org.jetbrains.annotations.Nls
/**
@@ -113,6 +117,23 @@ sealed class Result<out SUCC, out ERR> {
}
}
@Suppress("UsagesOfObsoleteApi")
@ApiStatus.Internal
fun <T> pyRunCatching(body: () -> T): PyResult<T> {
return try {
PyResult.success(body())
}
catch (t: PyExecutionException) {
PyResult.failure(t.pyError)
}
catch (t: CancellationException) {
throw t
}
catch (t: IllegalArgumentException) {
//Parse deserialization exceptions
PyResult.localizedError(t.localizedMessage)
}
}
/**
* Maps success result to another one with same error