Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
levels = path.strip('/').split('/')
for level in levels:
if elem.__contains__(level):
elem = elem.__getitem__(level)
else:
try:
elem = _follow_reftarget(elem)
elem = elem.__getitem__(level)
except Exception:
raise KeyError('Entry not found: ' + path)
if isinstance(elem, h5py.Group):
return Group(elem.id)
elif isinstance(elem, h5py.Dataset):
return Dataset(elem.id)
elif isinstance(elem, h5py.File):
return File(elem.id)
levels = path.strip('/').split('/')
for level in levels:
if elem.__contains__(level):
elem = elem.__getitem__(level)
else:
try:
elem = _follow_reftarget(elem)
elem = elem.__getitem__(level)
except Exception:
raise KeyError('Entry not found: ' + path)
if isinstance(elem, h5py.Group):
return Group(elem.id)
elif isinstance(elem, h5py.Dataset):
return Dataset(elem.id)
elif isinstance(elem, h5py.File):
return File(elem.id)
def __contains__(self, name): # noqa
""" Test if a member name exists """
if super(File, self).__contains__(name):
return True
else:
try:
self.__getitem__(name)
return True
except KeyError:
pass
return False
def file(self): # noqa
id = super(File, self).file.id
return File(id)