From 5eb99fc881f28af1e97ac0eb0a6065ce9001d56f Mon Sep 17 00:00:00 2001 From: Dmitry Trofimov Date: Tue, 4 Aug 2015 18:33:07 +0200 Subject: [PATCH] Use helpers enums for django mange tasks. --- .../python/PythonHelpersLocator.java | 2 ++ .../com/jetbrains/python/run/PythonTask.java | 24 ++++++++++++++++--- 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/python/src/com/jetbrains/python/PythonHelpersLocator.java b/python/src/com/jetbrains/python/PythonHelpersLocator.java index 41bc030a7944..a75d90f6c0bb 100644 --- a/python/src/com/jetbrains/python/PythonHelpersLocator.java +++ b/python/src/com/jetbrains/python/PythonHelpersLocator.java @@ -47,6 +47,8 @@ public enum PythonHelpersLocator implements PythonHelper { LETTUCE("pycharm", "lettuce_runner"), DJANGO_TEST_MANAGE("pycharm", "django_test_manage"), + DJANGO_MANAGE("pycharm", "django_manage"), + MANAGE_TASKS_PROVIDER("pycharm", "_jb_manage_tasks_provider") ; diff --git a/python/src/com/jetbrains/python/run/PythonTask.java b/python/src/com/jetbrains/python/run/PythonTask.java index a22af15d6448..815949831b49 100644 --- a/python/src/com/jetbrains/python/run/PythonTask.java +++ b/python/src/com/jetbrains/python/run/PythonTask.java @@ -34,6 +34,7 @@ import com.intellij.openapi.util.io.FileUtil; import com.intellij.openapi.util.text.StringUtil; import com.intellij.util.NotNullFunction; import com.jetbrains.python.PyBundle; +import com.jetbrains.python.PythonHelper; import com.jetbrains.python.buildout.BuildoutFacet; import com.jetbrains.python.console.PydevConsoleRunner; import com.jetbrains.python.sdk.PySdkUtil; @@ -60,6 +61,8 @@ public class PythonTask { private final Sdk mySdk; private String myWorkingDirectory; private String myRunnerScript; + private PythonHelper myHelper = null; + private List myParameters = new ArrayList(); private final String myRunTabTitle; private String myHelpId; @@ -90,6 +93,10 @@ public class PythonTask { myRunnerScript = script; } + public void setHelper(PythonHelper helper) { + myHelper = helper; + } + public void setParameters(List parameters) { myParameters = parameters; } @@ -151,8 +158,14 @@ public class PythonTask { bashParams.addParameter("-cl"); NotNullFunction escaperFunction = StringUtil.escaper(false, "|>$\"'& "); - StringBuilder paramString = new StringBuilder(escaperFunction.fun(homePath) + " " + escaperFunction.fun(myRunnerScript)); - + StringBuilder paramString; + if (myHelper != null) { + paramString= new StringBuilder(escaperFunction.fun(homePath) + " " + escaperFunction.fun(myHelper.asParamString())); + myHelper.addToPythonPath(cmd.getEnvironment()); + } + else { + paramString= new StringBuilder(escaperFunction.fun(homePath) + " " + escaperFunction.fun(myRunnerScript)); + } for (String p : myParameters) { paramString.append(" ").append(p); } @@ -160,7 +173,12 @@ public class PythonTask { } else { cmd.setExePath(homePath); - scriptParams.addParameter(myRunnerScript); + if (myHelper != null) { + myHelper.addToGroup(scriptParams, cmd); + } + else { + scriptParams.addParameter(myRunnerScript); + } scriptParams.addParameters(myParameters); }