示例#1
0
def ds_sync(args):
    dataset_created = False
    if args.parents or (args.project and args.name):
        args.id = ds_create(args)
        dataset_created = True

    print('Syncing dataset id {} to local folder {}'.format(args.id, args.folder))
    check_null_id(args)
    print_args(args)
    ds = Dataset.get(dataset_id=args.id)
    removed, added = ds.sync_folder(
        local_path=args.folder, dataset_path=args.dataset_folder or None, verbose=args.verbose)

    print('Sync completed: {} files removed, {} added / modified'.format(removed, added))

    if not args.skip_close:
        if dataset_created and not removed and not added:
            print('Zero modifications on local copy, reverting dataset creation.')
            Dataset.delete(ds.id, force=True)
            return 0

        print("Finalizing dataset")
        if ds.is_dirty():
            # upload the files
            print("Pending uploads, starting dataset upload to {}".format(args.storage or ds.get_default_storage()))
            ds.upload(show_progress=True, verbose=args.verbose, output_url=args.storage or None)

        ds.finalize()
        print('Dataset closed and finalized')
        clear_state()

    return 0
示例#2
0
def ds_delete(args):
    print('Deleting dataset id {}'.format(args.id))
    check_null_id(args)
    print_args(args)
    Dataset.delete(dataset_id=args.id)
    print('Dataset {} deleted'.format(args.id))
    clear_state()
    return 0
示例#3
0
def ds_delete(args):
    print('Deleting dataset id={}'.format(args.id))
    print_args(args)
    Dataset.delete(dataset_id=args.id)
    print('Dataset {} deleted'.format(args.id))
    return 0