import argparse import paramiko import json parser = argparse.ArgumentParser() parser.add_argument("--host", dest="host", default="review.openstack.org", help="gerrit host to connect to") parser.add_argument("--port", dest="port", action='store', type=int, default=29418, help="gerrit port to connect to") parser.add_argument("groups", nargs=1) options = parser.parse_args() client = paramiko.SSHClient() client.load_system_host_keys() client.set_missing_host_key_policy(paramiko.WarningPolicy()) client.connect(options.host, port=options.port) group = options.groups[0] query = "select group_uuid from account_groups where name = '%s'" % group command = 'gerrit gsql --format JSON -c "%s"' % query stdin, stdout, stderr = client.exec_command(command) for line in stdout: row = json.loads(line) if row['type'] == 'row': print row['columns']['group_uuid'] ret = stdout.channel.recv_exit_status()