RefactoringRope/RefactoringClient.py

branch
server_client_variant
changeset 164
121d426d4ed7
parent 163
6a9e7b37a18b
child 165
ea41742015af
--- a/RefactoringRope/RefactoringClient.py	Tue Sep 12 18:55:25 2017 +0200
+++ b/RefactoringRope/RefactoringClient.py	Thu Sep 14 19:39:11 2017 +0200
@@ -19,18 +19,6 @@
     path = os.path.join(os.path.dirname(__file__), 'rope_py2')
 sys.path.insert(0, path)
 
-##try:
-##    bytes = unicode
-##    import StringIO as io   # __IGNORE_EXCEPTION__
-##except NameError:
-##    import io       # __IGNORE_WARNING__
-##
-##import socket
-##import select
-##import traceback
-##import time
-##import json
-
 import rope.base.project
 
 from JsonClient import JsonClient
@@ -52,7 +40,6 @@
         @type str
         """
         super(RefactoringClient, self).__init__(host, port)
-##        self.__connection = socket.create_connection((host, port))
         
         from FileSystemCommands import RefactoringClientFileSystemCommands
         self.__fsCommands = RefactoringClientFileSystemCommands(self)
@@ -60,6 +47,8 @@
         self.__projectpath = projectPath
         self.__project = rope.base.project.Project(
             self.__projectpath, fscommands=self.__fsCommands)
+        
+        self.__progressHandle = None
     
     def handleCall(self, method, params):
         """
@@ -74,90 +63,13 @@
 ##            params["filename"] = params["filename"].encode(
 ##                sys.getfilesystemencoding())
         
-        if method == "ping":
+        if method == "AbortAction":
+            if self.__progressHandle is not None and \
+               not self.__progressHandle.is_stopped():
+                self.__progressHandle.stop()
+        
+        elif method == "ping":
             self.sendJson("pong", {})
-##    
-##    def sendJson(self, command, params):
-##        """
-##        Public method to send a single refactoring command to the client.
-##        
-##        @param command command name to be sent
-##        @type str
-##        @param params dictionary of named parameters for the command
-##        @type dict
-##        """
-##        import json
-##        
-##        commandDict = {
-##            "jsonrpc": "2.0",
-##            "method": command,
-##            "params": params,
-##        }
-##        cmd = json.dumps(commandDict) + '\n'
-##        self.__connection.sendall(cmd.encode('utf8', 'backslashreplace'))
-##    
-##    def __receiveJson(self):
-##        """
-##        Private method to receive a JSON encode command and data from the
-##        server.
-##        """
-##        line = self.__connection.recv(1024 * 1024, socket.MSG_PEEK) # 1M buffer
-##
-##        eol = line.find(b'\n')
-##
-##        if eol >= 0:
-##            size = eol + 1
-##
-##            # Now we know how big the line is, read it for real.
-##            line = self.__connection.recv(size).decode(
-##                'utf8', 'backslashreplace')
-##            try:
-##                commandDict = json.loads(line.strip())
-##            except (TypeError, ValueError) as err:
-##                self.sendJson("ClientException", {
-##                    "ExceptionType": "ProtocolError",
-##                    "ExceptionValue": str(err),
-##                    "ProtocolData": line.strip(),
-##                })
-##                return
-##            
-##            method = commandDict["method"]
-##            params = commandDict["params"]
-##            self.handleCall(method, params)
-##    
-##    def run(self):
-##        """
-##        Public method implementing the main loop of the client.
-##        """
-##        try:
-##            while True:
-##                try:
-##                    rrdy, wrdy, xrdy = select.select(
-##                        [self.__connection], [], [])
-##                except (select.error, KeyboardInterrupt, socket.error):
-##                    # just carry on
-##                    continue
-##                
-##                if self.__connection in rrdy:
-##                    self.__receiveJson()
-##        
-##        except Exception:
-##            exctype, excval, exctb = sys.exc_info()
-##            tbinfofile = io.StringIO()
-##            traceback.print_tb(exctb, None, tbinfofile)
-##            tbinfofile.seek(0)
-##            tbinfo = tbinfofile.read()
-##            del exctb
-##            self.sendJson("ClientException", {
-##                "ExceptionType": str(exctype),
-##                "ExceptionValue": str(excval),
-##                "Traceback": tbinfo,
-##            })
-##
-##        # Give time to process latest response on server side
-##        time.sleep(0.5)
-##        self.__connection.shutdown(socket.SHUT_RDWR)
-##        self.__connection.close()
 
 if __name__ == '__main__':
     if len(sys.argv) != 4:

eric ide

mercurial