def main()

in src/pooltool.py [0:0]


def main():
    parser = argparse.ArgumentParser()
    common_parser = argparse.ArgumentParser(add_help=False)
    common_parser.add_argument('--settings_file', help="settings file, if not specified, assumes a 'settings.txt' is locate in the same path as this script", default='settings.txt')

    subparsers = parser.add_subparsers(dest='command')

    export_parser = subparsers.add_parser('export', help="exports user pool to file", parents=[common_parser])

    export_subparsers = export_parser.add_subparsers(dest='action')

    parser_export_user_pool = export_subparsers.add_parser('userpool', help="Exports user pool")
    parser_export_user_pool.add_argument('--file', help="[Required] output file path", required=True)
    parser_export_user_pool.add_argument('--id', help="[Required] userpool id", required=True)
    parser_export_user_pool.add_argument('--verbose', help="display json output of user pool", required=False, default=False, action='store_true')
    parser_export_user_pool.add_argument('--format', help="output file type [json or csv]; defaults to csv", required=False, default='csv')
    parser_export_user_pool.add_argument('--region', help="region name; overrides value from settings.txt", required=False, default=None)
    parser_export_user_pool.add_argument('--profile', help="aws profile name; overrides value from settings.txt", required=False, default=None)


    args = parser.parse_args()

    if args.command == 'export':
        if 'file' in args:
          export_file(args)
        else:
          parser_export_user_pool.print_help()