Get rid of copy-paste round 1

This commit is contained in:
Oleg Shpynov
2010-04-14 16:20:58 +04:00
parent 7458eae0da
commit 4b006cd928
5 changed files with 34 additions and 135 deletions
@@ -318,11 +318,6 @@
text="Run Python Console..." description="Allows to quickly run Python console">
<add-to-group group-id="ToolsMenu" anchor="last"/>
</action>
<action id="com.jetbrains.python.console.RunPythonConsoleActionNew"
class="com.jetbrains.python.console.RunPythonConsoleActionNew"
text="Run TRUE Python Console..." description="Allows to quickly run Python console">
<add-to-group group-id="ToolsMenu" anchor="last"/>
</action>
<action id="com.jetbrains.django.console.RunDjangoConsoleAction"
class="com.jetbrains.django.console.RunDjangoConsoleAction"
text="Run Django Console..." description="Allows to quickly run Django console">
@@ -2,10 +2,7 @@ package com.jetbrains.python.console;
import com.intellij.codeInsight.lookup.Lookup;
import com.intellij.codeInsight.lookup.LookupManager;
import com.intellij.execution.ExecutionException;
import com.intellij.execution.ExecutionManager;
import com.intellij.execution.Executor;
import com.intellij.execution.ExecutorRegistry;
import com.intellij.execution.*;
import com.intellij.execution.console.LanguageConsoleImpl;
import com.intellij.execution.console.LanguageConsoleViewImpl;
import com.intellij.execution.executors.DefaultRunExecutor;
@@ -35,7 +32,6 @@ import com.intellij.openapi.wm.ToolWindow;
import com.intellij.openapi.wm.ToolWindowManager;
import com.intellij.psi.PsiFile;
import com.intellij.util.PairProcessor;
import com.jetbrains.django.run.ExecutionHelper;
import com.jetbrains.django.run.Runner;
import com.jetbrains.python.psi.LanguageLevel;
import com.jetbrains.python.sdk.PythonSdkType;
@@ -1,12 +1,13 @@
package com.jetbrains.python.console;
import com.intellij.execution.ExecutionException;
import com.intellij.execution.ExecutionHelper;
import com.intellij.execution.Executor;
import com.intellij.execution.console.LanguageConsoleImpl;
import com.intellij.execution.console.LanguageConsoleViewImpl;
import com.intellij.execution.process.*;
import com.intellij.execution.process.CommandLineArgumentsProvider;
import com.intellij.execution.process.ProcessOutputTypes;
import com.intellij.execution.ui.RunContentDescriptor;
import com.intellij.execution.ui.actions.CloseAction;
import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.module.Module;
@@ -16,9 +17,9 @@ import com.intellij.openapi.util.Key;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.psi.PsiElement;
import com.intellij.util.net.NetUtils;
import com.jetbrains.django.run.ExecutionHelper;
import com.jetbrains.django.run.Runner;
import com.jetbrains.django.util.DjangoUtil;
import com.jetbrains.python.PyBundle;
import com.jetbrains.python.PythonHelpersLocator;
import com.jetbrains.python.console.pydev.ICallback;
import com.jetbrains.python.console.pydev.InterpreterResponse;
@@ -26,7 +27,6 @@ import com.jetbrains.python.console.pydev.PydevConsoleCommunication;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.awt.event.ActionEvent;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
@@ -53,7 +53,7 @@ public class PydevConsoleRunner extends PyConsoleRunner {
public static void run(@NotNull final Project project,
@NotNull final Module module,
@NotNull final Sdk sdk) {
final String consoleTitle = "TRUE console";
final String consoleTitle = PyBundle.message("python.console");
final int[] ports;
try {
// File "pydev/console/pydevconsole.py", line 223, in <module>
@@ -117,7 +117,7 @@ public class PydevConsoleRunner extends PyConsoleRunner {
((PydevLanguageConsoleView)myConsoleView).setPydevConsoleCommunication(myPydevConsoleCommunication);
try {
Thread.sleep(100);
Thread.sleep(200);
}
catch (InterruptedException e) {
// Ignore
@@ -180,19 +180,6 @@ public class PydevConsoleRunner extends PyConsoleRunner {
@Override
protected void sendInput(final String input) {
if (myPydevConsoleCommunication != null){
//if ("comp\n".equals(input)){
// String[] completions = new String[]{};
// try {
// completions = myPydevConsoleCommunication.getCompletions("", 0);
// }
// catch (Exception e) {
// PyConsoleProcessHandler.processOutput(myConsoleView.getConsole(), e.toString()+'\n', ProcessOutputTypes.STDERR);
// }
// for (String completion : completions) {
// PyConsoleProcessHandler.processOutput(myConsoleView.getConsole(), completion + "\n", ProcessOutputTypes.STDOUT);
// }
// return;
//}
myPydevConsoleCommunication.execInterpreter(input, new ICallback<Object, InterpreterResponse>() {
public Object call(final InterpreterResponse interpreterResponse) {
final LanguageConsoleImpl console = myConsoleView.getConsole();
@@ -31,52 +31,37 @@ public class RunPythonConsoleAction extends AnAction implements DumbAware {
getTemplatePresentation().setIcon(IconLoader.getIcon("/com/jetbrains/python/python.png"));
}
@Override
public void update(final AnActionEvent e) {
e.getPresentation().setVisible(false);
e.getPresentation().setEnabled(false);
final Project project = e.getData(LangDataKeys.PROJECT);
if (project != null){
for (Module module : ModuleManager.getInstance(project).getModules()) {
e.getPresentation().setVisible(true);
if (PythonSdkType.findPythonSdk(module) != null){
e.getPresentation().setEnabled(true);
break;
@Override
public void update(final AnActionEvent e) {
e.getPresentation().setVisible(false);
e.getPresentation().setEnabled(false);
final Project project = e.getData(LangDataKeys.PROJECT);
if (project != null){
for (Module module : ModuleManager.getInstance(project).getModules()) {
e.getPresentation().setVisible(true);
if (PythonSdkType.findPythonSdk(module) != null){
e.getPresentation().setEnabled(true);
break;
}
}
}
}
}
public void actionPerformed(final AnActionEvent e) {
final Project project = e.getData(LangDataKeys.PROJECT);
assert project != null : "Project is null";
Sdk sdk = null;
Module module = null;
for (Module m : ModuleManager.getInstance(project).getModules()) {
module = m;
sdk = PythonSdkType.findPythonSdk(module);
if (sdk != null){
break;
public void actionPerformed(final AnActionEvent e) {
final Project project = e.getData(LangDataKeys.PROJECT);
assert project != null : "Project is null";
Sdk sdk = null;
Module module = null;
for (Module m : ModuleManager.getInstance(project).getModules()) {
module = m;
sdk = PythonSdkType.findPythonSdk(module);
if (sdk != null){
break;
}
}
assert module != null : "Module is null";
assert sdk != null : "Sdk is null";
PydevConsoleRunner.run(project, module, sdk);
}
assert module != null : "Module is null";
assert sdk != null : "Sdk is null";
final String homePath = sdk.getHomePath();
PyConsoleRunner.run(project,
PyBundle.message("python.console"),
new CommandLineArgumentsProvider() {
public String[] getArguments() {
return new String[]{homePath, "-i"};
}
public boolean passParentEnvs() {
return false;
}
public Map<String, String> getAdditionalEnvs() {
return Collections.emptyMap();
}
}, DjangoUtil.getProjectRoot(module));
}
}
@@ -1,64 +0,0 @@
package com.jetbrains.python.console;
import com.intellij.execution.process.CommandLineArgumentsProvider;
import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.actionSystem.LangDataKeys;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.module.ModuleManager;
import com.intellij.openapi.project.DumbAware;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.projectRoots.Sdk;
import com.intellij.openapi.util.IconLoader;
import com.jetbrains.django.util.DjangoUtil;
import com.jetbrains.python.PythonHelpersLocator;
import com.jetbrains.python.console.PydevConsoleRunner;
import com.jetbrains.python.sdk.PythonSdkType;
import java.util.Collections;
import java.util.Map;
/**
* @author oleg
*/
public class RunPythonConsoleActionNew extends AnAction implements DumbAware {
public RunPythonConsoleActionNew() {
super();
getTemplatePresentation().setIcon(IconLoader.getIcon("/com/jetbrains/python/python.png"));
}
@Override
public void update(final AnActionEvent e) {
e.getPresentation().setVisible(false);
e.getPresentation().setEnabled(false);
final Project project = e.getData(LangDataKeys.PROJECT);
if (project != null){
for (Module module : ModuleManager.getInstance(project).getModules()) {
e.getPresentation().setVisible(true);
if (PythonSdkType.findPythonSdk(module) != null){
e.getPresentation().setEnabled(true);
break;
}
}
}
}
public void actionPerformed(final AnActionEvent e) {
final Project project = e.getData(LangDataKeys.PROJECT);
assert project != null : "Project is null";
Sdk sdk = null;
Module module = null;
for (Module m : ModuleManager.getInstance(project).getModules()) {
module = m;
sdk = PythonSdkType.findPythonSdk(module);
if (sdk != null){
break;
}
}
assert module != null : "Module is null";
assert sdk != null : "Sdk is null";
PydevConsoleRunner.run(project, module, sdk);
}
}