def test_decode_group(): # typical b = '''{ "zarr_format": %s }''' % ZARR_FORMAT meta = decode_group_metadata(b) eq(ZARR_FORMAT, meta['zarr_format']) # unsupported format b = '''{ "zarr_format": %s }''' % (ZARR_FORMAT - 1) with assert_raises(MetadataError): decode_group_metadata(b)
def test_decode_group(): # typical b = '''{ "zarr_format": %s }''' % ZARR_FORMAT meta = decode_group_metadata(b) assert ZARR_FORMAT == meta['zarr_format'] # unsupported format b = '''{ "zarr_format": %s }''' % (ZARR_FORMAT - 1) with pytest.raises(MetadataError): decode_group_metadata(b)
def test_init_group_overwrite_chunk_store(self): # setup store = self.create_store() chunk_store = self.create_store() store[array_meta_key] = encode_array_metadata( dict(shape=(2000, ), chunks=(200, ), dtype=np.dtype('u1'), compressor=None, fill_value=0, filters=None, order='F')) chunk_store['foo'] = b'bar' chunk_store['baz'] = b'quux' # don't overwrite array (default) with pytest.raises(ValueError): init_group(store, chunk_store=chunk_store) # do overwrite try: init_group(store, overwrite=True, chunk_store=chunk_store) except NotImplementedError: pass else: assert array_meta_key not in store assert group_meta_key in store meta = decode_group_metadata(store[group_meta_key]) assert ZARR_FORMAT == meta['zarr_format'] assert 'foo' not in chunk_store assert 'baz' not in chunk_store # don't overwrite group with pytest.raises(ValueError): init_group(store)
def test_init_group_overwrite_path(self): # setup path = 'foo/bar' store = self.create_store() meta = dict(shape=(2000, ), chunks=(200, ), dtype=np.dtype('u1'), compressor=None, fill_value=0, order='F', filters=None) store[array_meta_key] = encode_array_metadata(meta) store[path + '/' + array_meta_key] = encode_array_metadata(meta) # don't overwrite with pytest.raises(ValueError): init_group(store, path=path) # do overwrite try: init_group(store, overwrite=True, path=path) except NotImplementedError: pass else: assert array_meta_key not in store assert group_meta_key in store assert (path + '/' + array_meta_key) not in store assert (path + '/' + group_meta_key) in store # should have been overwritten meta = decode_group_metadata(store[path + '/' + group_meta_key]) assert ZARR_FORMAT == meta['zarr_format']
def test_init_group_overwrite_path(self): # setup path = 'foo/bar' store = self.create_store() meta = dict(shape=(2000,), chunks=(200,), dtype=np.dtype('u1'), compressor=None, fill_value=0, order='F', filters=None) store[array_meta_key] = encode_array_metadata(meta) store[path + '/' + array_meta_key] = encode_array_metadata(meta) # don't overwrite with assert_raises(ValueError): init_group(store, path=path) # do overwrite try: init_group(store, overwrite=True, path=path) except NotImplementedError: pass else: assert array_meta_key not in store assert group_meta_key in store assert (path + '/' + array_meta_key) not in store assert (path + '/' + group_meta_key) in store # should have been overwritten meta = decode_group_metadata(store[path + '/' + group_meta_key]) eq(ZARR_FORMAT, meta['zarr_format'])
def test_init_group_overwrite(self): # setup store = self.create_store() store[array_meta_key] = encode_array_metadata( dict(shape=(2000,), chunks=(200,), dtype=np.dtype('u1'), compressor=None, fill_value=0, order='F', filters=None) ) # don't overwrite array (default) with assert_raises(ValueError): init_group(store) # do overwrite try: init_group(store, overwrite=True) except NotImplementedError: pass else: assert array_meta_key not in store assert group_meta_key in store meta = decode_group_metadata(store[group_meta_key]) eq(ZARR_FORMAT, meta['zarr_format']) # don't overwrite group with assert_raises(ValueError): init_group(store)
def test_init_group_overwrite(self): # setup store = self.create_store() store[array_meta_key] = encode_array_metadata( dict(shape=(2000, ), chunks=(200, ), dtype=np.dtype('u1'), compressor=None, fill_value=0, order='F', filters=None)) # don't overwrite array (default) with assert_raises(ValueError): init_group(store) # do overwrite try: init_group(store, overwrite=True) except NotImplementedError: pass else: assert array_meta_key not in store assert group_meta_key in store meta = decode_group_metadata(store[group_meta_key]) eq(ZARR_FORMAT, meta['zarr_format']) # don't overwrite group with assert_raises(ValueError): init_group(store)
def __init__(self, store, path=None, read_only=False, chunk_store=None, synchronizer=None): self._store = store self._path = normalize_storage_path(path) if self._path: self._key_prefix = self._path + '/' else: self._key_prefix = '' self._read_only = read_only if chunk_store is None: self._chunk_store = store else: self._chunk_store = chunk_store self._synchronizer = synchronizer # guard conditions if contains_array(store, path=self._path): err_contains_array(path) # initialize metadata try: mkey = self._key_prefix + group_meta_key meta_bytes = store[mkey] except KeyError: err_group_not_found(path) else: meta = decode_group_metadata(meta_bytes) self._meta = meta # setup attributes akey = self._key_prefix + attrs_key self._attrs = Attributes(store, key=akey, read_only=read_only, synchronizer=synchronizer)
def __init__(self, store, path=None, read_only=False, chunk_store=None, cache_attrs=True, synchronizer=None): self._store = store self._chunk_store = chunk_store self._path = normalize_storage_path(path) if self._path: self._key_prefix = self._path + '/' else: self._key_prefix = '' self._read_only = read_only self._synchronizer = synchronizer # guard conditions if contains_array(store, path=self._path): raise ContainsArrayError(path) # initialize metadata try: mkey = self._key_prefix + group_meta_key meta_bytes = store[mkey] except KeyError: raise GroupNotFoundError(path) else: meta = decode_group_metadata(meta_bytes) self._meta = meta # setup attributes akey = self._key_prefix + attrs_key self._attrs = Attributes(store, key=akey, read_only=read_only, cache=cache_attrs, synchronizer=synchronizer) # setup info self._info = InfoReporter(self)
def test_init_group(self): store = self.create_store() init_group(store) # check metadata assert group_meta_key in store meta = decode_group_metadata(store[group_meta_key]) assert ZARR_FORMAT == meta['zarr_format']
def test_init_group(self): store = self.create_store() init_group(store) # check metadata assert group_meta_key in store meta = decode_group_metadata(store[group_meta_key]) eq(ZARR_FORMAT, meta['zarr_format'])
def test_init_group(self): store = self.create_store() init_group(store) # check metadata assert group_meta_key in store meta = decode_group_metadata(store[group_meta_key]) eq(ZARR_FORMAT, meta['zarr_format']) # check attributes assert attrs_key in store eq(dict(), json.loads(text_type(store[attrs_key], 'ascii')))