#! /usr/bin/env python3

import sys
import shards
import re
import argparse

def main():
    parser = argparse.ArgumentParser()
    parser.add_argument('--user', dest='db_user')
    parser.add_argument('--replicas', dest='list_replicas', action='store_true', default=False)
    parser.add_argument('db')
    args = parser.parse_args()

    shards_list = shards.get_unique(args.db)
    for s in shards_list:
        conninfo = shards.conninfo_for_read(s) if args.list_replicas else shards.conninfo_for_write(s)
        if args.db_user is not None:
            conninfo = re.sub('user=[a-zA-Z-_0-9]+', 'user=' + args.db_user, conninfo, 1)
        print(conninfo)

if __name__ == '__main__':
    main()
