try:
response = client.read_response()
assert response.type == 'OK', response
- responses = client.make_request(_common.Request('HELP'))
- responses = client.make_request(_common.Request('HELP GETINFO'))
+ client.make_request(_common.Request('HELP'))
+ client.make_request(_common.Request('HELP GETINFO'))
for attribute in ['version', 'pid', 'socket_name', 'ssh_socket_name']:
- responses = client.make_request(
- _common.Request('GETINFO', attribute))
+ client.make_request(_common.Request('GETINFO', attribute))
finally:
- responses = client.make_request(_common.Request('BYE'))
+ client.make_request(_common.Request('BYE'))
client.disconnect()
+ socket.shutdown(_socket.SHUT_RDWR)
+ socket.close()
except IOError:
if not self.stop:
raise
- return list(self.responses())
+ responses = list(self.responses())
+ if responses[-1].type == 'ERR':
+ eresponse = responses[-1]
+ fields = eresponse.parameters.split(' ', 1)
+ code = int(fields[0])
+ if len(fields) > 1:
+ message = fields[1].strip()
+ else:
+ message = None
+ error = _error.AssuanError(code=code, message=message)
+ error.request = request
+ error.responses = responses
+ raise error
+ return responses
def responses(self):
while True: