# Copyright 2026 Toyota Research Institute.  All rights reserved.

import argparse
from anydata.sync.sync_utils import aws_s3_sync

#######################################################

def parse_args():
    parser = argparse.ArgumentParser()
    parser.add_argument("path", type=str)
    parser.add_argument("--local_folder", type=str, default='/data/cv_unified')
    parser.add_argument("--s3_path", type=str, default='s3://tri-ml-sandbox-16011-us-west-2-datasets/cv_unified')
    parser.add_argument('--subfolder', type=str, default=None)
    parser.add_argument('--webbed', action='store_true')
    args = parser.parse_args()

    if args.webbed:
        args.local_folder = args.local_folder.replace('cv_unified', 'cv_webbed')
        args.s3_path = args.s3_path.replace('cv_unified', 'cv_webbed')

    return args

#######################################################

def download_metadata(args):
    ### Download dataset (METADATA only)
    s3_path = f'{args.s3_path}/{args.path}'
    local_path = f'{args.local_folder}/{args.path}'
    if args.subfolder is not None:
        s3_path += f'/{args.subfolder}'
        local_path += f'/{args.subfolder}'
    print(f'###############################################')
    print(f'### DOWNLOADING METADATA')
    print(f'###############################################')
    print(f'### SRC: {s3_path}')
    print(f'### DST: {local_path}')
    print(f'###############################################')
    aws_s3_sync(s3_path, local_path, extras='--exclude "*" --include "*.json"')
    print(f'###############################################')
    print(f'### DOWNLOADING METADATA DONE!!!')
    print(f'###############################################')

#######################################################

if __name__ == '__main__':
    args = parse_args()
    download_metadata(args)

#######################################################
