[yt-svn] commit/yt: 3 new changesets
commits-noreply at bitbucket.org
commits-noreply at bitbucket.org
Mon May 23 15:16:56 PDT 2016
3 new commits in yt:
https://bitbucket.org/yt_analysis/yt/commits/e6a24a7dedbd/
Changeset: e6a24a7dedbd
Branch: yt
User: ngoldbaum
Date: 2016-05-21 01:50:01+00:00
Summary: Delete two __del__ methods which are only necessary for older h5py releases
Affected #: 2 files
diff -r b3c23ff06040ef967b7c9ac041d5ad3dc4edb79a -r e6a24a7dedbd6bae6895e7ca4849ff85b341e438 yt/geometry/geometry_handler.py
--- a/yt/geometry/geometry_handler.py
+++ b/yt/geometry/geometry_handler.py
@@ -57,10 +57,6 @@
mylog.debug("Detecting fields.")
self._detect_output_fields()
- def __del__(self):
- if self._data_file is not None:
- self._data_file.close()
-
def _initialize_state_variables(self):
self._parallel_locking = False
self._data_file = None
diff -r b3c23ff06040ef967b7c9ac041d5ad3dc4edb79a -r e6a24a7dedbd6bae6895e7ca4849ff85b341e438 yt/utilities/file_handler.py
--- a/yt/utilities/file_handler.py
+++ b/yt/utilities/file_handler.py
@@ -14,7 +14,6 @@
#-----------------------------------------------------------------------------
from yt.utilities.on_demand_imports import _h5py as h5py
-from distutils.version import LooseVersion
class HDF5FileHandler(object):
handle = None
@@ -22,15 +21,6 @@
def __init__(self, filename):
self.handle = h5py.File(filename, 'r')
- def __del__(self):
- if self.handle is not None:
- # In h5py 2.4 and newer file handles are closed automatically.
- # so only close the handle on old versions. This works around an
- # issue in h5py when run under python 3.4.
- # See https://github.com/h5py/h5py/issues/534
- if LooseVersion(h5py.__version__) < '2.4.0':
- self.handle.close()
-
def __getitem__(self, key):
return self.handle[key]
https://bitbucket.org/yt_analysis/yt/commits/d0cff0fa46c1/
Changeset: d0cff0fa46c1
Branch: yt
User: ngoldbaum
Date: 2016-05-20 20:35:23+00:00
Summary: Make on-demand imports new-style classes
Affected #: 1 file
diff -r e6a24a7dedbd6bae6895e7ca4849ff85b341e438 -r d0cff0fa46c11fa5427391a89b41b0ca84387e8b yt/utilities/on_demand_imports.py
--- a/yt/utilities/on_demand_imports.py
+++ b/yt/utilities/on_demand_imports.py
@@ -28,7 +28,7 @@
def __call__(self, *args, **kwargs):
raise self.error
-class astropy_imports:
+class astropy_imports(object):
_name = "astropy"
_pyfits = None
@property
@@ -105,7 +105,7 @@
_astropy = astropy_imports()
-class scipy_imports:
+class scipy_imports(object):
_name = "scipy"
_integrate = None
@property
@@ -186,7 +186,7 @@
_scipy = scipy_imports()
-class h5py_imports:
+class h5py_imports(object):
_name = "h5py"
_File = None
@@ -279,7 +279,7 @@
_h5py = h5py_imports()
-class nose_imports:
+class nose_imports(object):
_name = "nose"
_run = None
@property
https://bitbucket.org/yt_analysis/yt/commits/ecfc9590c7e6/
Changeset: ecfc9590c7e6
Branch: yt
User: ngoldbaum
Date: 2016-05-20 20:40:13+00:00
Summary: require h5py be newer than 2.4.0 when used with yt
Affected #: 1 file
diff -r d0cff0fa46c11fa5427391a89b41b0ca84387e8b -r ecfc9590c7e6642114669a6787c491937667d2fd yt/utilities/on_demand_imports.py
--- a/yt/utilities/on_demand_imports.py
+++ b/yt/utilities/on_demand_imports.py
@@ -10,6 +10,8 @@
# The full license is in the file COPYING.txt, distributed with this software.
#-----------------------------------------------------------------------------
+from pkg_resources import parse_version
+
class NotAModule(object):
"""
A class to implement an informative error message that will be outputted if
@@ -188,10 +190,25 @@
class h5py_imports(object):
_name = "h5py"
+ _err = None
+
+ def __init__(self):
+ try:
+ import h5py
+ if parse_version(h5py.__version__) < parse_version('2.4.0'):
+ self._err = RuntimeError(
+ 'yt requires h5py version 2.4.0 or newer, '
+ 'please update h5py with e.g. "pip install -U h5py" '
+ 'and try again')
+ except ImportError:
+ pass
+ super(h5py_imports, self).__init__()
_File = None
@property
def File(self):
+ if self._err:
+ raise self._err
if self._File is None:
try:
from h5py import File
@@ -203,6 +220,8 @@
_Group = None
@property
def Group(self):
+ if self._err:
+ raise self._err
if self._Group is None:
try:
from h5py import Group
@@ -214,6 +233,8 @@
___version__ = None
@property
def __version__(self):
+ if self._err:
+ raise self._err
if self.___version__ is None:
try:
from h5py import __version__
@@ -225,6 +246,8 @@
_get_config = None
@property
def get_config(self):
+ if self._err:
+ raise self._err
if self._get_config is None:
try:
from h5py import get_config
@@ -236,6 +259,8 @@
_h5f = None
@property
def h5f(self):
+ if self._err:
+ raise self._err
if self._h5f is None:
try:
import h5py.h5f as h5f
@@ -247,6 +272,8 @@
_h5d = None
@property
def h5d(self):
+ if self._err:
+ raise self._err
if self._h5d is None:
try:
import h5py.h5d as h5d
@@ -258,6 +285,8 @@
_h5s = None
@property
def h5s(self):
+ if self._err:
+ raise self._err
if self._h5s is None:
try:
import h5py.h5s as h5s
@@ -269,6 +298,8 @@
_version = None
@property
def version(self):
+ if self._err:
+ raise self._err
if self._version is None:
try:
import h5py.version as version
Repository URL: https://bitbucket.org/yt_analysis/yt/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
More information about the yt-svn
mailing list