def test_init_array_overwrite_group(self): # setup path = 'foo/bar' store = self.create_store() store[path + '/' + group_meta_key] = encode_group_metadata() # don't overwrite with pytest.raises(ValueError): init_array(store, shape=1000, chunks=100, path=path) # do overwrite try: init_array(store, shape=1000, chunks=100, dtype='i4', path=path, overwrite=True) except NotImplementedError: pass else: assert (path + '/' + group_meta_key) not in store assert (path + '/' + array_meta_key) in store meta = decode_array_metadata(store[path + '/' + array_meta_key]) assert ZARR_FORMAT == meta['zarr_format'] assert (1000, ) == meta['shape'] assert (100, ) == meta['chunks'] assert np.dtype('i4') == meta['dtype']
def _init_group_metadata(store, overwrite=False, path=None, chunk_store=None): # guard conditions if overwrite: # attempt to delete any pre-existing items in store rmdir(store, path) if chunk_store is not None and chunk_store != store: rmdir(chunk_store, path) elif contains_array(store, path): err_contains_array(path) elif contains_group(store, path): err_contains_group(path) # initialize metadata # N.B., currently no metadata properties are needed, however there may # be in future meta = dict() key = _path_to_prefix(path) + group_meta_key store[key] = encode_group_metadata(meta) # initialize attributes key = _path_to_prefix(path) + attrs_key store[key] = json.dumps(dict()).encode('ascii')
def test_init_array_overwrite_group(self): # setup path = 'foo/bar' store = self.create_store() store[path + '/' + group_meta_key] = encode_group_metadata() # don't overwrite with assert_raises(ValueError): init_array(store, shape=1000, chunks=100, path=path) # do overwrite try: init_array(store, shape=1000, chunks=100, dtype='i4', path=path, overwrite=True) except NotImplementedError: pass else: assert (path + '/' + group_meta_key) not in store assert (path + '/' + array_meta_key) in store meta = decode_array_metadata(store[path + '/' + array_meta_key]) eq(ZARR_FORMAT, meta['zarr_format']) eq((1000,), meta['shape']) eq((100,), meta['chunks']) eq(np.dtype('i4'), meta['dtype'])