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)