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