#!/usr/bin/env python3 from pprint import pformat as pp from phi.config import get_config from phi.logging import setup_logging, get_logger from phi import cli import phi.ldap.client from phi.ldap.user import get_user_by_uid log = get_logger(__name__) @cli.register('dispaly user field', ['user identifier']) def showuser(uid): user = get_user_by_uid(client, uid) print('\nuid: {}\n{}\n\n'.format(uid, pp(user))) if __name__ == '__main__': cli.add_arg('--config', 'config.yml', 'custom configuration file') args = cli.get_args() config_file = args['config'] config_file, config = get_config(config_file) setup_logging(config.get('logging', {})) log.info("Using configuration at '{}':\n{}" .format(config_file, pp(config))) # TODO: check fields in config client = phi.ldap.client.Client(**config['ldap']) log.info('Opening LDAP client') client.open() log.info('Arguments: {}'.format(pp(args))) cli.run(args) log.info('Closing LDAP client') client.close()