5 """Simple pinentry program for getting server info.
8 import socket as _socket
10 from pyassuan import __version__
11 from pyassuan import client as _client
12 from pyassuan import common as _common
15 if __name__ == '__main__':
19 parser = argparse.ArgumentParser(description=__doc__, version=__version__)
21 '-V', '--verbose', action='count', default=0,
22 help='increase verbosity')
25 help="path to server's unix socket")
27 args = parser.parse_args()
29 client = _client.AssuanClient(name='get-info', close_on_disconnect=True)
32 client.logger.setLevel(max(
33 logging.DEBUG, client.logger.level - 10*args.verbose))
35 socket = _socket.socket(_socket.AF_UNIX, _socket.SOCK_STREAM)
36 socket.connect(args.filename)
37 client.input = socket.makefile('r')
38 client.output = socket.makefile('w')
41 response = client.read_response()
42 assert response.type == 'OK', response
43 responses = client.make_request(_common.Request('HELP'))
44 responses = client.make_request(_common.Request('HELP GETINFO'))
45 for attribute in ['version', 'pid', 'socket_name', 'ssh_socket_name']:
46 responses = client.make_request(
47 _common.Request('GETINFO', attribute))
49 responses = client.make_request(_common.Request('BYE'))