def get_response()

in mssqlscripter/jsonrpc/contracts/scriptingservice.py [0:0]


    def get_response(self):
        """
            Get latest response, event or exception if it occured.
        """
        try:
            response = self.json_rpc_client.get_response(self.id)
            decoded_response = None

            if response:
                logger.debug(response)
                # Decode response to either response or event type.
                decoded_response = self.decoder.decode_response(response)

                logger.debug(
                    u'Scripting request received response: {}'.format(decoded_response))
                if (isinstance(decoded_response, ScriptCompleteEvent)):
                    self.finished = True
                    self.json_rpc_client.request_finished(self.id)

            return decoded_response

        except Exception as error:
            # Return a scripting error event.
            self.finished = True
            self.json_rpc_client.request_finished(self.id)
            logger.debug('Scripting request received exception: {}'.format(str(error)))
            exception = {
                u'operationId': self.id,
                u'sequenceNumber': None,
                u'success': False,
                u'canceled': False,
                u'hasError': True,
                u'errorMessage': u'Scripting request encountered a exception',
                u'errorDetails': error.args,
            }

            return ScriptCompleteEvent(exception)