[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