From 6f00c0e0ae85e2164dba38f45a7602299c057bd4 Mon Sep 17 00:00:00 2001 From: Dmitry Trofimov Date: Thu, 8 Nov 2018 23:07:20 +0100 Subject: [PATCH] Remove duplication --- .../python/packaging/PyCondaPackageManagerImpl.java | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/python/src/com/jetbrains/python/packaging/PyCondaPackageManagerImpl.java b/python/src/com/jetbrains/python/packaging/PyCondaPackageManagerImpl.java index 3af564158358..4502379dab4b 100644 --- a/python/src/com/jetbrains/python/packaging/PyCondaPackageManagerImpl.java +++ b/python/src/com/jetbrains/python/packaging/PyCondaPackageManagerImpl.java @@ -91,13 +91,17 @@ public class PyCondaPackageManagerImpl extends PyPackageManagerImpl { final GeneralCommandLine commandLine = new GeneralCommandLine(parameters); final CapturingProcessHandler handler = new CapturingProcessHandler(commandLine); final ProcessOutput result = handler.runProcess(); + checkExitCode(parameters, result); + return result; + } + + private static void checkExitCode(ArrayList parameters, ProcessOutput result) throws PyExecutionException { final int exitCode = result.getExitCode(); if (exitCode != 0) { final String message = StringUtil.isEmptyOrSpaces(result.getStdout()) && StringUtil.isEmptyOrSpaces(result.getStderr()) ? "Permission denied" : "Non-zero exit code"; throw new PyExecutionException(message, "Conda", parameters, result); } - return result; } @Nullable @@ -232,12 +236,7 @@ public class PyCondaPackageManagerImpl extends PyPackageManagerImpl { if (result.isCancelled()) { throw new RunCanceledByUserException(); } - final int exitCode = result.getExitCode(); - if (exitCode != 0) { - final String message = StringUtil.isEmptyOrSpaces(result.getStdout()) && StringUtil.isEmptyOrSpaces(result.getStderr()) ? - "Permission denied" : "Non-zero exit code"; - throw new PyExecutionException(message, "Conda", parameters, result); - } + checkExitCode(parameters, result); final String binary = PythonSdkType.getPythonExecutable(destinationDir); final String binaryFallback = destinationDir + File.separator + "bin" + File.separator + "python"; return (binary != null) ? binary : binaryFallback;