[h5py] 352/455: Fix overzealous close() method and broken __repr__ methods
Ghislain Vaillant
ghisvail-guest at moszumanska.debian.org
Thu Jul 2 18:19:49 UTC 2015
This is an automated email from the git hooks/post-receive script.
ghisvail-guest pushed a commit to annotated tag 1.3.0
in repository h5py.
commit 6622d89a8037f4a0f39fde53eaf4c31b03b8f5d8
Author: andrewcollette <andrew.collette at gmail.com>
Date: Tue Jan 5 07:22:57 2010 +0000
Fix overzealous close() method and broken __repr__ methods
---
h5py/highlevel.py | 61 ++++++++++++++++++++++---------------------------------
1 file changed, 24 insertions(+), 37 deletions(-)
diff --git a/h5py/highlevel.py b/h5py/highlevel.py
index 7863490..4496d62 100644
--- a/h5py/highlevel.py
+++ b/h5py/highlevel.py
@@ -604,13 +604,12 @@ class Group(HLObject, _DictCompat):
return h5o.visit(self.id, call_proxy)
def __repr__(self):
- with self._lock:
- try:
- namestr = '"%s"' % self.name if self.name is not None else "(anonymous)"
- return '<HDF5 group %s (%d members)>' % \
- (namestr, len(self))
- except Exception:
- return "<Closed HDF5 group>"
+ if not self:
+ return "<Closed HDF5 group>"
+ namestr = '"%s"' % self.name if self.name is not None else "(anonymous)"
+ return '<HDF5 group "%s" (%d members)>' % \
+ (namestr, len(self))
+
class File(Group):
@@ -784,7 +783,6 @@ class File(Group):
""" Close this HDF5 file. All open objects will be invalidated.
"""
with self._lock:
- self.id._close()
self.fid.close()
def flush(self):
@@ -801,13 +799,11 @@ class File(Group):
self.close()
def __repr__(self):
- with self._lock:
- try:
- return '<HDF5 file "%s" (mode %s, %d bytes)>' % \
- (os.path.basename(self.filename), self.mode,
- _hsizestring(self.id.get_filesize()))
- except Exception:
- return "<Closed HDF5 file>"
+ if not self:
+ return "<Closed HDF5 file>"
+ return '<HDF5 file "%s" (mode %s, %s)>' % \
+ (os.path.basename(self.filename), self.mode,
+ _hsizestring(self.fid.get_filesize()))
# Fix up identity to use the file identifier, not the root group.
def __hash__(self):
@@ -1259,13 +1255,11 @@ class Dataset(HLObject):
self.id.write(mspace, fspace, source)
def __repr__(self):
- with self._lock:
- try:
- namestr = '"%s"' % _hbasename(self.name) if self.name is not None else "(anonymous)"
- return '<HDF5 dataset %s: shape %s, type "%s">' % \
- (namestr, self.shape, self.dtype.str)
- except Exception:
- return "<Closed HDF5 dataset>"
+ if not self:
+ return "<Closed HDF5 dataset>"
+ namestr = '"%s"' % _hbasename(self.name) if self.name is not None else "(anonymous)"
+ return '<HDF5 dataset %s: shape %s, type "%s">' % \
+ (namestr, self.shape, self.dtype.str)
class AttributeManager(_DictCompat):
@@ -1407,14 +1401,9 @@ class AttributeManager(_DictCompat):
return h5a.exists(self.id, name)
def __repr__(self):
- with self._lock:
- try:
- namestr = '"%s"' % _hbasename(self.id.name) if self.id.name is not None else "(anonymous)"
- return '<Attributes of HDF5 object %s (%d)>' % \
- (namestr, len(self))
- except Exception:
- return "<Attributes of closed HDF5 object>"
-
+ if not self.id:
+ return "<Attributes of closed HDF5 object>"
+ return "<Attributes of HDF5 object at %s>" % id(self.id)
class Datatype(HLObject):
@@ -1440,13 +1429,11 @@ class Datatype(HLObject):
self.id = h5t.open(grp.id, name)
def __repr__(self):
- with self._lock:
- try:
- namestr = '"%s"' % _hbasename(self.name) if self.name is not None else "(anonymous)"
- return '<HDF5 named type "%s" (dtype %s)>' % \
- (namestr, self.dtype.str)
- except Exception:
- return "<Closed HDF5 named type>"
+ if not self.id:
+ return "<Closed HDF5 named type>"
+ namestr = '"%s"' % _hbasename(self.name) if self.name is not None else "(anonymous)"
+ return '<HDF5 named type "%s" (dtype %s)>' % \
+ (namestr, self.dtype.str)
class SoftLink(object):
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/h5py.git
More information about the debian-science-commits
mailing list