From e4263487a5f1b5c08f850b327be9c71d835cd223 Mon Sep 17 00:00:00 2001 From: Ekaterina Tuzova Date: Thu, 10 Mar 2016 14:03:41 +0300 Subject: [PATCH] do not ask for url in case there are no jupyter installed --- .../configuration/IpnbConnectionManager.java | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/python/ipnb/src/org/jetbrains/plugins/ipnb/configuration/IpnbConnectionManager.java b/python/ipnb/src/org/jetbrains/plugins/ipnb/configuration/IpnbConnectionManager.java index 18b259214ea7..161c2d4bbdc3 100644 --- a/python/ipnb/src/org/jetbrains/plugins/ipnb/configuration/IpnbConnectionManager.java +++ b/python/ipnb/src/org/jetbrains/plugins/ipnb/configuration/IpnbConnectionManager.java @@ -94,29 +94,22 @@ public final class IpnbConnectionManager implements ProjectComponent { } private void startConnection(@NotNull final IpnbCodePanel codePanel, final IpnbFileEditor fileEditor, final String path) { - String url = IpnbSettings.getInstance(myProject).getURL(); - if (StringUtil.isEmptyOrSpaces(url)) { - url = IpnbSettings.DEFAULT_URL; - } + String url = getURL(); boolean connectionStarted = startConnection(codePanel, path, url, false); if (!connectionStarted) { - final String finalUrl = url; - url = showDialogUrl(url); - if (url == null) return; - IpnbSettings.getInstance(myProject).setURL(url); ApplicationManager.getApplication().executeOnPooledThread(new Runnable() { @Override public void run() { - final boolean serverStarted = startIpythonServer(finalUrl, fileEditor); + final boolean serverStarted = startIpythonServer(url, fileEditor); if (!serverStarted) { return; } UIUtil.invokeLaterIfNeeded(new Runnable() { @Override public void run() { - startConnection(codePanel, path, finalUrl, true); + startConnection(codePanel, path, url, true); } }); } @@ -124,6 +117,11 @@ public final class IpnbConnectionManager implements ProjectComponent { } } + private String getURL() { + String url = IpnbSettings.getInstance(myProject).getURL(); + return StringUtil.isEmptyOrSpaces(url) ? IpnbSettings.DEFAULT_URL : url; + } + @Nullable public static String showDialogUrl(@NotNull final String initialUrl) { final String url = Messages.showInputDialog("Jupyter Notebook URL:", "Start Jupyter Notebook", null, initialUrl, @@ -258,7 +256,7 @@ public final class IpnbConnectionManager implements ProjectComponent { }); } - public boolean startIpythonServer(@NotNull final String url, @NotNull final IpnbFileEditor fileEditor) { + public boolean startIpythonServer(@NotNull final String initUrl, @NotNull final IpnbFileEditor fileEditor) { final Module module = ProjectFileIndex.SERVICE.getInstance(myProject).getModuleForFile(fileEditor.getVirtualFile()); if (module == null) return false; final Sdk sdk = PythonSdkType.findPythonSdk(module); @@ -276,6 +274,10 @@ public final class IpnbConnectionManager implements ProjectComponent { catch (ExecutionException ignored) { } + String url = showDialogUrl(initUrl); + if (url == null) return false; + IpnbSettings.getInstance(myProject).setURL(url); + final Pair hostPort = getHostPortFromUrl(url); if (hostPort == null) { showWarning(fileEditor, "Please, check Jupyter Notebook URL in Settings->Tools->Jupyter Notebook",