X-Git-Url: http://git.tremily.us/?p=pyassuan.git;a=blobdiff_plain;f=bin%2Fget-info.py;h=9f0f50f04479ee3df6d1fb788740a6027af6621a;hp=a00b12746d6d415f7f5141b07e20600c374779ee;hb=fad28835c3070fa02944c715a1030f3f8d1a33a8;hpb=e9b7881527e0cc617417545e016137b75c09dbc2 diff --git a/bin/get-info.py b/bin/get-info.py index a00b127..9f0f50f 100755 --- a/bin/get-info.py +++ b/bin/get-info.py @@ -19,11 +19,10 @@ """Simple pinentry program for getting server info. """ -import socket as _socket - from pyassuan import __version__ from pyassuan import client as _client from pyassuan import common as _common +from pyassuan import error as _error if __name__ == '__main__': @@ -46,20 +45,20 @@ if __name__ == '__main__': client.logger.setLevel(max( logging.DEBUG, client.logger.level - 10*args.verbose)) - socket = _socket.socket(_socket.AF_UNIX, _socket.SOCK_STREAM) - socket.connect(args.filename) - client.input = socket.makefile('r') - client.output = socket.makefile('w') - client.connect() + client.connect(socket_path=args.filename) try: response = client.read_response() assert response.type == 'OK', response client.make_request(_common.Request('HELP')) client.make_request(_common.Request('HELP GETINFO')) for attribute in ['version', 'pid', 'socket_name', 'ssh_socket_name']: - client.make_request(_common.Request('GETINFO', attribute)) + try: + client.make_request(_common.Request('GETINFO', attribute)) + except _error.AssuanError as e: + if e.message.startswith('No data'): + pass + else: + raise finally: client.make_request(_common.Request('BYE')) client.disconnect() - socket.shutdown(_socket.SHUT_RDWR) - socket.close()