10000 add basename property · rjgildea/zarr-python@83abd0d · GitHub
[go: up one dir, main page]

Skip to content

Commit 83abd0d

Browse files
committed
add basename property
1 parent 2ec84e4 commit 83abd0d

File tree

2 files changed

+15
-4
lines changed

2 files changed

+15
-4
lines changed

zarr/core.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -212,6 +212,13 @@ def name(self):
212212
return name
213213
return None
214214

215+
@property
216+
def basename(self):
217+
"""Final component of name."""
218+
if self.name is not None:
219+
return self.name.split('/')[-1]
220+
return None
221+
215222
@property
216223
def read_only(self):
217224
"""A boolean, True if modification operations are not permitted."""

zarr/hierarchy.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,11 @@ def name(self):
140140
return name
141141
return '/'
142142

143+
@property
144+
def basename(self):
145+
"""Final component of name."""
146+
return self.name.split('/')[-1]
147+
143148
@property
144149
def read_only(self):
145150
"""A boolean, True if modification operations are not permitted."""
@@ -473,11 +478,10 @@ def visitvalues(self, func):
473478

474479
def _visit(obj):
475480
yield obj
476-
477481
keys = sorted(getattr(obj, "keys", lambda: [])())
478-
for each_key in keys:
479-
for each_obj in _visit(obj[each_key]):
480-
yield each_obj
482+
for k in keys:
483+
for v in _visit(obj[k]):
484+
yield v
481485

482486
for each_obj in islice(_visit(self), 1, None):
483487
value = func(each_obj)

0 commit comments

Comments
 (0)
0