RefactoringRope/RefactoringServer.py

changeset 360
2b35968f3d02
parent 354
a967ff16629a
child 365
f740b50380df
diff -r 5e0c63a80d6a -r 2b35968f3d02 RefactoringRope/RefactoringServer.py
--- a/RefactoringRope/RefactoringServer.py	Sun May 09 14:30:51 2021 +0200
+++ b/RefactoringRope/RefactoringServer.py	Mon May 10 20:13:48 2021 +0200
@@ -18,16 +18,21 @@
 from E5Gui import E5MessageBox
 from E5Gui.E5Action import E5Action
 
-from .JsonServer import JsonServer
+try:
+    from E5Network.E5JsonServer import E5JsonServer
+except ImportError:
+    # TODO: delete JsonServer once ported to eric7
+    from .JsonServer import JsonServer as E5JsonServer
 from .RopeProgressDialog import RopeProgressDialog
 
 import Utilities
 import Preferences
+import Globals
 
 from Preferences.Shortcuts import readShortcuts
 
 
-class RefactoringServer(JsonServer):
+class RefactoringServer(E5JsonServer):
     """
     Class implementing the refactoring interface to rope.
     """
@@ -2258,8 +2263,14 @@
         if interpreter:
             client = os.path.join(os.path.dirname(__file__),
                                   "RefactoringClient.py")
-            ok = self.startClient(interpreter, client, [self.__projectpath],
-                                  environment=clientEnv)
+            ok, exitCode = self.startClient(
+                interpreter, client,
+                [self.__projectpath, Globals.getPythonModulesDirectory()],
+                environment=clientEnv)
+            if not ok and exitCode == 42:
+                self.__ui.appendToStderr("RefactoringServer: " + self.tr(
+                    "The rope refactoring library is not installed.\n"
+                ))
         else:
             ok = False
         return ok

eric ide

mercurial