def process_data(self):
        "read and process input from self.socket"

        try:
            reader = getattr(self.socket, 'read', self.socket.recv)
            new_data = reader(2 ** 14)
        except socket.error:
            # The server hung up.
            self.disconnect("Connection reset by peer")
            return
        if not new_data:
            # Read nothing: connection must be down.
            self.disconnect("Connection reset by peer")
            return

        self.buffer.feed(new_data)

        # process each non-empty line after logging all lines
        for line in self.buffer:
            log.debug("FROM SERVER: %s", line)
            if not line:
                continue
            self._process_line(line)
def process_data ( self ) : try : reader = getattr ( self . socket , 'read' , self . socket . recv ) new_data = reader ( 2 ** 14 ) except socket . error : self . disconnect ( "Connection reset by peer" ) return if not new_data : self . disconnect ( "Connection reset by peer" ) return self . buffer . feed ( new_data ) for line in self . buffer : log . debug ( "FROM SERVER: %s" , line ) if not line : continue self . _process_line ( line )
read and process input from self.socket