Skip to content

Commit 4350a18

Browse files
committed
Fix
1 parent 92dbed6 commit 4350a18

File tree

3 files changed

+16
-8
lines changed

3 files changed

+16
-8
lines changed

zarr/attrs.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,14 +25,16 @@ class Attributes(MutableMapping):
2525
2626
"""
2727

28-
def __init__(self, store, key=".zattrs", read_only=False, cache=True, synchronizer=None):
28+
def __init__(
29+
self, store, key=".zattrs", read_only=False, cache=True, synchronizer=None, cached_dict=None
30+
):
2931
self._version = getattr(store, "_store_version", 2)
3032
_Store = Store if self._version == 2 else StoreV3
3133
self.store = _Store._ensure_store(store)
3234
self.key = key
3335
self.read_only = read_only
3436
self.cache = cache
35-
self._cached_asdict = None
37+
self._cached_asdict = cached_dict if cache else None
3638
self.synchronizer = synchronizer
3739

3840
def _get_nosync(self):

zarr/core.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -172,10 +172,13 @@ def __init__(
172172
# initialize attributes
173173
akey = _prefix_to_attrs_key(self._store, self._key_prefix)
174174
self._attrs = Attributes(
175-
store, key=akey, read_only=read_only, synchronizer=synchronizer, cache=cache_attrs
175+
store,
176+
key=akey,
177+
read_only=read_only,
178+
synchronizer=synchronizer,
179+
cache=cache_attrs,
180+
cached_dict=self._meta["attributes"] if self._version == 3 else None,
176181
)
177-
if cache_attrs:
178-
self._attrs._cached_asdict = self._meta["attributes"]
179182

180183
# initialize info reporter
181184
self._info_reporter = InfoReporter(self)

zarr/hierarchy.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -207,10 +207,13 @@ def __init__(
207207
# object can still be created.
208208
akey = mkey
209209
self._attrs = Attributes(
210-
store, key=akey, read_only=read_only, cache=cache_attrs, synchronizer=synchronizer
210+
store,
211+
key=akey,
212+
read_only=read_only,
213+
cache=cache_attrs,
214+
synchronizer=synchronizer,
215+
cached_dict=self._meta["attributes"] if self._version == 3 else None,
211216
)
212-
if cache_attrs:
213-
self._attrs._cached_asdict = self._meta["attributes"]
214217

215218
# setup info
216219
self._info = InfoReporter(self)

0 commit comments

Comments
 (0)