[h5py] 239/455: Start migrating to dynamic exceptions

Ghislain Vaillant ghisvail-guest at moszumanska.debian.org
Thu Jul 2 18:19:37 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 5244517a932e3f058735cb14c7aa756cc65a0f03
Author: andrewcollette <andrew.collette at gmail.com>
Date:   Tue Apr 21 04:06:11 2009 +0000

    Start migrating to dynamic exceptions
---
 h5py/defs.pxd |  63 -----------------
 h5py/h5.pyx   | 168 ++------------------------------------------
 h5py/h5e.pxd  | 222 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 h5py/h5e.pyx  | 208 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 435 insertions(+), 226 deletions(-)

diff --git a/h5py/defs.pxd b/h5py/defs.pxd
index 7f41c26..10028e5 100644
--- a/h5py/defs.pxd
+++ b/h5py/defs.pxd
@@ -116,69 +116,6 @@ cdef extern from "hdf5.h":
       H5_INDEX_N                  # Number of indices defined    
 
 
-# === H5E - Error handling API ================================================
-
-cdef extern from "hdf5.h":
-
-  # Major error numbers
-  ctypedef enum H5E_major_t:
-    H5E_NONE_MAJOR       = 0,   # special zero, no error                     
-    H5E_ARGS,                   # invalid arguments to routine               
-    H5E_RESOURCE,               # resource unavailable                       
-    H5E_INTERNAL,               #  Internal error (too specific to document)
-    H5E_FILE,                   # file Accessability                         
-    H5E_IO,                     # Low-level I/O                              
-    H5E_FUNC,                   # function Entry/Exit                        
-    H5E_ATOM,                   # object Atom                                
-    H5E_CACHE,                  # object Cache                               
-    H5E_BTREE,                  # B-Tree Node                                
-    H5E_SYM,                    # symbol Table                               
-    H5E_HEAP,                   # Heap                                       
-    H5E_OHDR,                   # object Header                              
-    H5E_DATATYPE,               # Datatype                                   
-    H5E_DATASPACE,              # Dataspace                                  
-    H5E_DATASET,                # Dataset                                    
-    H5E_STORAGE,                # data storage                               
-    H5E_PLIST,                  # Property lists                             
-    H5E_ATTR,                   # Attribute                                  
-    H5E_PLINE,                  # Data filters                               
-    H5E_EFL,                    # External file list                         
-    H5E_REFERENCE,              # References                                 
-    H5E_VFL,                    # Virtual File Layer                 
-#   H5E_TBBT,                   # Threaded, Balanced, Binary Trees (not in 1.8)
-    H5E_TST,                    # Ternary Search Trees                       
-    H5E_RS,                     # Reference Counted Strings                  
-    H5E_ERROR,                  # Error API                                  
-    H5E_SLIST                   # Skip Lists                                 
-
-  # This is not useful since 1.8.X
-  ctypedef enum H5E_minor_t:
-    pass
-
-  cdef enum H5E_direction_t:
-    H5E_WALK_UPWARD    = 0      # begin deep, end at API function    
-    H5E_WALK_DOWNWARD = 1       # begin at API function, end deep    
-
-  ctypedef struct H5E_error_t:
-    H5E_major_t     maj_num     #  major error number             
-    H5E_minor_t     min_num     #  minor error number             
-    char    *func_name          #  function in which error occurred   
-    char    *file_name          #  file in which error occurred       
-    unsigned    line            #  line in file where error occurs    
-    char    *desc               #  optional supplied description      
-
-  char      *H5Eget_major(H5E_major_t n)
-  char      *H5Eget_minor(H5E_minor_t n)
-  herr_t    H5Eclear() except *
-
-  ctypedef herr_t (*H5E_auto_t)(void *client_data)
-  herr_t    H5Eset_auto(H5E_auto_t func, void *client_data)
-  herr_t    H5Eget_auto(H5E_auto_t *func, void** client_data)
-
-  ctypedef herr_t (*H5E_walk_t)(int n, H5E_error_t *err_desc, void* client_data)  
-  herr_t    H5Ewalk(H5E_direction_t direction, H5E_walk_t func, void* client_data)
-
-
 # === H5D - Dataset API =======================================================
 
 cdef extern from "hdf5.h":
diff --git a/h5py/h5.pyx b/h5py/h5.pyx
index c87288c..fe95423 100644
--- a/h5py/h5.pyx
+++ b/h5py/h5.pyx
@@ -376,168 +376,8 @@ def _open():
 
 # === Public exception hierarchy ==============================================
 
-class H5Error(Exception):
-    """ Base class for internal HDF5 library exceptions.
-    """
-    pass
 
-#    H5E_ARGS,                   # invalid arguments to routine
-class ArgsError(H5Error):
-    """ H5E_ARGS """
-    pass
-        
-#    H5E_RESOURCE,               # resource unavailable   
-class ResourceError(H5Error):
-    """ H5E_RESOURCE """
-    pass
-                    
-#   H5E_INTERNAL,               #  Internal error (too specific to document)
-class InternalError(H5Error):
-    """ H5E_INTERNAL """
-    pass
-
-#    H5E_FILE,                   # file Accessability       
-class FileError(H5Error):
-    """ H5E_FILE """
-    pass
-                  
-#    H5E_IO,                     # Low-level I/O                      
-class LowLevelIOError(H5Error):
-    """ H5E_IO """
-    pass
-        
-#    H5E_FUNC,                   # function Entry/Exit     
-class FuncError(H5Error):
-    """ H5E_FUNC """
-    pass
-                   
-#    H5E_ATOM,                   # object Atom         
-class AtomError(H5Error):
-    """ H5E_ATOM """
-    pass
-                       
-#   H5E_CACHE,                  # object Cache        
-class CacheError(H5Error):
-    """ H5E_CACHE """
-    pass
-                       
-#   H5E_BTREE,                  # B-Tree Node           
-class BtreeError(H5Error):
-    """ H5E_BTREE """
-    pass
-                     
-#    H5E_SYM,                    # symbol Table         
-class SymbolError(H5Error):
-    """ H5E_SYM """
-    pass
-                      
-#   H5E_HEAP,                   # Heap  
-class HeapError(H5Error):
-    """ H5E_HEAP """
-    pass
-                                     
-#    H5E_OHDR,                   # object Header     
-class ObjectHeaderError(H5Error):
-    """ H5E_OHDR """
-    pass
-                         
-#    H5E_DATATYPE,               # Datatype    
-class DatatypeError(H5Error):
-    """ H5E_DATATYPE """
-    pass
-                               
-#    H5E_DATASPACE,              # Dataspace                      
-class DataspaceError(H5Error):
-    """ H5E_DATASPACE """
-    pass
-            
-#    H5E_DATASET,                # Dataset                        
-class DatasetError(H5Error):
-    """ H5E_DATASET """
-    pass
-            
-#    H5E_STORAGE,                # data storage                
-class StorageError(H5Error):
-    """ H5E_STORAGE """
-    pass
-               
-#    H5E_PLIST,                  # Property lists                  
-class PropertyError(H5Error):
-    """ H5E_PLIST """
-    pass
-           
-#    H5E_ATTR,                   # Attribute     
-class AttrError(H5Error):
-    """ H5E_ATTR """
-    pass
-                             
-#    H5E_PLINE,                  # Data filters       
-class FilterError(H5Error):
-    """ H5E_PLINE """
-    pass
-                        
-#    H5E_EFL,                    # External file list                         
-class FileListError(H5Error):
-    """ H5E_EFL """
-    pass
-
-#    H5E_REFERENCE,              # References          
-class RefError(H5Error):
-    """ H5E_REFERENCE """
-    pass
-                       
-#    H5E_VFL,                    # Virtual File Layer        
-class VirtualFileError(H5Error):
-    """ H5E_VFL """
-    pass
-
-#    H5E_TST,                    # Ternary Search Trees                       
-class TSTError(H5Error):
-    """ H5E_TST """
-    pass
-
-#    H5E_RS,                     # Reference Counted Strings        
-class RSError(H5Error):
-    """ H5E_RS """
-    pass
-          
-#    H5E_ERROR,                  # Error API                    
-class ErrorError(H5Error):
-    """ H5E_ERROR """
-    pass
-              
-#    H5E_SLIST                   # Skip Lists        
-class SkipListError(H5Error):
-    """ H5E_SLIST """
-    pass  
-
-cdef dict _exceptions = {
-    H5E_ARGS: ArgsError,
-    H5E_RESOURCE: ResourceError,
-    H5E_INTERNAL: InternalError,
-    H5E_FILE: FileError,
-    H5E_IO: LowLevelIOError,
-    H5E_FUNC: FuncError,
-    H5E_ATOM: AtomError,
-    H5E_CACHE: CacheError,
-    H5E_BTREE: BtreeError,
-    H5E_SYM: SymbolError,
-    H5E_HEAP: HeapError,
-    H5E_OHDR: ObjectHeaderError,
-    H5E_DATATYPE: DatatypeError,
-    H5E_DATASPACE: DataspaceError,
-    H5E_DATASET: DatasetError,
-    H5E_STORAGE: StorageError,
-    H5E_PLIST: PropertyError,
-    H5E_ATTR: AttrError,
-    H5E_PLINE: FilterError,
-    H5E_EFL: FileListError,
-    H5E_REFERENCE: RefError,
-    H5E_VFL: VirtualFileError,
-    H5E_TST: TSTError,
-    H5E_RS: RSError,
-    H5E_ERROR: ErrorError,
-    H5E_SLIST: SkipListError}
+
 
 # === Error stack inspection ==================================================
 
@@ -625,8 +465,10 @@ cpdef object error_string():
             for i from 0<=i<stacklen:
                 #msg = msg + '\n' + str(stack[i])
                 el = stack[i]
-                msg = msg + '\n    %d: "%s" at %s' % \
-                            (i, el.desc.capitalize(), el.func_name)
+                maj_msg = H5Eget_major(<H5E_major_t>el.maj_num)
+                min_msg = H5Eget_minor(<H5E_minor_t>el.min_num)
+                msg = msg + '\n    %d: "%s" at %s [%s :: %s]' % \
+                            (i, el.desc.capitalize(), el.func_name, maj_msg, min_msg)
 
     return msg
 
diff --git a/h5py/h5e.pxd b/h5py/h5e.pxd
new file mode 100644
index 0000000..04c10e4
--- /dev/null
+++ b/h5py/h5e.pxd
@@ -0,0 +1,222 @@
+
+"""
+    Definitions file for new H5E module
+"""
+
+include "config.pxi"
+include "defs.pxd"
+
+# === H5E - Error handling API ================================================
+
+cdef extern from "hdf5.h":
+
+  # Major error numbers
+  ctypedef enum H5E_major_t:
+    H5E_NONE_MAJOR       = 0,   # special zero, no error                     
+    H5E_ARGS,                   # invalid arguments to routine               
+    H5E_RESOURCE,               # resource unavailable                       
+    H5E_INTERNAL,               #  Internal error (too specific to document)
+    H5E_FILE,                   # file Accessability                         
+    H5E_IO,                     # Low-level I/O                              
+    H5E_FUNC,                   # function Entry/Exit                        
+    H5E_ATOM,                   # object Atom                                
+    H5E_CACHE,                  # object Cache                               
+    H5E_BTREE,                  # B-Tree Node                                
+    H5E_SYM,                    # symbol Table                               
+    H5E_HEAP,                   # Heap                                       
+    H5E_OHDR,                   # object Header                              
+    H5E_DATATYPE,               # Datatype                                   
+    H5E_DATASPACE,              # Dataspace                                  
+    H5E_DATASET,                # Dataset                                    
+    H5E_STORAGE,                # data storage                               
+    H5E_PLIST,                  # Property lists                             
+    H5E_ATTR,                   # Attribute                                  
+    H5E_PLINE,                  # Data filters                               
+    H5E_EFL,                    # External file list                         
+    H5E_REFERENCE,              # References                                 
+    H5E_VFL,                    # Virtual File Layer                 
+#   H5E_TBBT,                   # Threaded, Balanced, Binary Trees (not in 1.8)
+    H5E_TST,                    # Ternary Search Trees                       
+    H5E_RS,                     # Reference Counted Strings                  
+    H5E_ERROR,                  # Error API                                  
+    H5E_SLIST                   # Skip Lists                                 
+
+  ctypedef enum H5E_minor_t:
+
+    # Generic low-level file I/O errors 
+    H5E_SEEKERROR      # Seek failed 
+    H5E_READERROR      # Read failed  
+    H5E_WRITEERROR     # Write failed  
+    H5E_CLOSEERROR     # Close failed 
+    H5E_OVERFLOW       # Address overflowed 
+    H5E_FCNTL          # File control (fcntl) failed
+
+    # Resource errors 
+    H5E_NOSPACE        # No space available for allocation 
+    H5E_CANTALLOC      # Can't allocate space 
+    H5E_CANTCOPY       # Unable to copy object 
+    H5E_CANTFREE       # Unable to free object 
+    H5E_ALREADYEXISTS  # Object already exists 
+    H5E_CANTLOCK       # Unable to lock object 
+    H5E_CANTUNLOCK     # Unable to unlock object 
+    H5E_CANTGC         # Unable to garbage collect 
+    H5E_CANTGETSIZE    # Unable to compute size 
+    H5E_OBJOPEN        # Object is already open 
+                       
+    # Heap errors      
+    H5E_CANTRESTORE    # Can't restore condition 
+    H5E_CANTCOMPUTE    # Can't compute value 
+    H5E_CANTEXTEND     # Can't extend heap's space 
+    H5E_CANTATTACH     # Can't attach object 
+    H5E_CANTUPDATE     # Can't update object 
+    H5E_CANTOPERATE    # Can't operate on object 
+
+    # Function entry/exit interface errors 
+    H5E_CANTINIT       # Unable to initialize object 
+    H5E_ALREADYINIT    # Object already initialized 
+    H5E_CANTRELEASE    # Unable to release object 
+                       
+    # Property list errors 
+    H5E_CANTGET        # Can't get value 
+    H5E_CANTSET        # Can't set value 
+    H5E_DUPCLASS       # Duplicate class name in parent class 
+
+    # Free space errors 
+    H5E_CANTMERGE      # Can't merge objects 
+    H5E_CANTREVIVE     # Can't revive object 
+    H5E_CANTSHRINK     # Can't shrink container 
+
+    # Object header related errors 
+    H5E_LINKCOUNT      # Bad object header link 
+    H5E_VERSION        # Wrong version number 
+    H5E_ALIGNMENT      # Alignment error 
+    H5E_BADMESG        # Unrecognized message 
+    H5E_CANTDELETE     # Can't delete message 
+    H5E_BADITER        # Iteration failed 
+    H5E_CANTPACK       # Can't pack messages 
+    H5E_CANTRESET      # Can't reset object count 
+                        
+    # System level errors 
+    H5E_SYSERRSTR      # System error message 
+
+    # I/O pipeline errors 
+    H5E_NOFILTER       # Requested filter is not available 
+    H5E_CALLBACK       # Callback failed 
+    H5E_CANAPPLY       # Error from filter 'can apply' callback 
+    H5E_SETLOCAL       # Error from filter 'set local' callback 
+    H5E_NOENCODER      # Filter present but encoding disabled 
+    H5E_CANTFILTER     # Filter operation failed 
+
+    # Group related errors 
+    H5E_CANTOPENOBJ    # Can't open object 
+    H5E_CANTCLOSEOBJ   # Can't close object 
+    H5E_COMPLEN        # Name component is too long 
+    H5E_PATH           # Problem with path to object 
+
+    # No error 
+    H5E_NONE_MINOR     # No error 
+
+    # File accessability errors 
+    H5E_FILEEXISTS     # File already exists 
+    H5E_FILEOPEN       # File already open 
+    H5E_CANTCREATE     # Unable to create file
+    H5E_CANTOPENFILE   # Unable to open file 
+    H5E_CANTCLOSEFILE  # Unable to close file 
+    H5E_NOTHDF5        # Not an HDF5 file 
+    H5E_BADFILE        # Bad file ID accessed 
+    H5E_TRUNCATED      # File has been truncated
+    H5E_MOUNT          # File mount error 
+
+    # Object atom related errors 
+    H5E_BADATOM        # Unable to find atom information (already closed?) 
+    H5E_BADGROUP       # Unable to find ID group information 
+    H5E_CANTREGISTER   # Unable to register new atom 
+    H5E_CANTINC        # Unable to increment reference count 
+    H5E_CANTDEC        # Unable to decrement reference count 
+    H5E_NOIDS          # Out of IDs for group 
+
+    # Cache related errors 
+    H5E_CANTFLUSH      # Unable to flush data from cache 
+    H5E_CANTSERIALIZE  # Unable to serialize data from cache 
+    H5E_CANTLOAD       # Unable to load metadata into cache 
+    H5E_PROTECT        # Protected metadata error 
+    H5E_NOTCACHED      # Metadata not currently cached 
+    H5E_SYSTEM         # Internal error detected 
+    H5E_CANTINS        # Unable to insert metadata into cache 
+    H5E_CANTRENAME     # Unable to rename metadata 
+    H5E_CANTPROTECT    # Unable to protect metadata 
+    H5E_CANTUNPROTECT  # Unable to unprotect metadata 
+    H5E_CANTPIN        # Unable to pin cache entry 
+    H5E_CANTUNPIN      # Unable to un-pin cache entry 
+    H5E_CANTMARKDIRTY  # Unable to mark a pinned entry as dirty 
+    H5E_CANTDIRTY      # Unable to mark metadata as dirty 
+    H5E_CANTEXPUNGE    # Unable to expunge a metadata cache entry 
+    H5E_CANTRESIZE     # Unable to resize a metadata cache entry 
+
+    # Link related errors 
+    H5E_TRAVERSE       # Link traversal failure 
+    H5E_NLINKS         # Too many soft links in path
+    H5E_NOTREGISTERED  # Link class not registered 
+    H5E_CANTMOVE       # Move callback returned error
+    H5E_CANTSORT       # Can't sort objects 
+
+    # Parallel MPI errors 
+    H5E_MPI           # Some MPI function failed
+    H5E_MPIERRSTR     # MPI Error String 
+    H5E_CANTRECV      # Can't receive data 
+
+    # Dataspace errors 
+    H5E_CANTCLIP      # Can't clip hyperslab region 
+    H5E_CANTCOUNT     # Can't count elements 
+    H5E_CANTSELECT    # Can't select hyperslab 
+    H5E_CANTNEXT      # Can't move to next iterator location 
+    H5E_BADSELECT     # Invalid selection 
+    H5E_CANTCOMPARE   # Can't compare objects 
+
+    # Argument errors 
+    H5E_UNINITIALIZED  # Information is uinitialized 
+    H5E_UNSUPPORTED    # Feature is unsupported 
+    H5E_BADTYPE        # Inappropriate type 
+    H5E_BADRANGE       # Out of range 
+    H5E_BADVALUE       # Bad value 
+
+    # B-tree related errors 
+    H5E_NOTFOUND            # Object not found 
+    H5E_EXISTS              # Object already exists 
+    H5E_CANTENCODE          # Unable to encode value 
+    H5E_CANTDECODE          # Unable to decode value 
+    H5E_CANTSPLIT           # Unable to split node 
+    H5E_CANTREDISTRIBUTE    # Unable to redistribute records 
+    H5E_CANTSWAP            # Unable to swap records 
+    H5E_CANTINSERT          # Unable to insert object 
+    H5E_CANTLIST            # Unable to list node 
+    H5E_CANTMODIFY          # Unable to modify record 
+    H5E_CANTREMOVE          # Unable to remove object 
+
+    # Datatype conversion errors 
+    H5E_CANTCONVERT         # Can't convert datatypes 
+    H5E_BADSIZE             # Bad size for object 
+                        
+  cdef enum H5E_direction_t:
+    H5E_WALK_UPWARD    = 0      # begin deep, end at API function    
+    H5E_WALK_DOWNWARD = 1       # begin at API function, end deep    
+
+  ctypedef struct H5E_error_t:
+    H5E_major_t     maj_num     #  major error number             
+    H5E_minor_t     min_num     #  minor error number             
+    char    *func_name          #  function in which error occurred   
+    char    *file_name          #  file in which error occurred       
+    unsigned    line            #  line in file where error occurs    
+    char    *desc               #  optional supplied description      
+
+  char      *H5Eget_major(H5E_major_t n)
+  char      *H5Eget_minor(H5E_minor_t n)
+  herr_t    H5Eclear() except *
+
+  ctypedef herr_t (*H5E_auto_t)(void *client_data)
+  herr_t    H5Eset_auto(H5E_auto_t func, void *client_data)
+  herr_t    H5Eget_auto(H5E_auto_t *func, void** client_data)
+
+  ctypedef herr_t (*H5E_walk_t)(int n, H5E_error_t *err_desc, void* client_data)  
+  herr_t    H5Ewalk(H5E_direction_t direction, H5E_walk_t func, void* client_data)
+
diff --git a/h5py/h5e.pyx b/h5py/h5e.pyx
new file mode 100644
index 0000000..3ed2f07
--- /dev/null
+++ b/h5py/h5e.pyx
@@ -0,0 +1,208 @@
+
+"""
+    New exceptions module!
+"""
+
+
+include "config.pxi"
+include "defs.pxd"
+
+class H5Error(Exception):
+    """ Base class for internal HDF5 library exceptions.
+    """
+    pass
+
+#    H5E_ARGS,                   # invalid arguments to routine
+class ArgsError(H5Error):
+    """ H5E_ARGS """
+    pass
+        
+#    H5E_RESOURCE,               # resource unavailable   
+class ResourceError(H5Error):
+    """ H5E_RESOURCE """
+    pass
+                    
+#   H5E_INTERNAL,               #  Internal error (too specific to document)
+class InternalError(H5Error):
+    """ H5E_INTERNAL """
+    pass
+
+#    H5E_FILE,                   # file Accessability       
+class FileError(H5Error):
+    """ H5E_FILE """
+    pass
+                  
+#    H5E_IO,                     # Low-level I/O                      
+class LowLevelIOError(H5Error):
+    """ H5E_IO """
+    pass
+        
+#    H5E_FUNC,                   # function Entry/Exit     
+class FuncError(H5Error):
+    """ H5E_FUNC """
+    pass
+                   
+#    H5E_ATOM,                   # object Atom         
+class AtomError(H5Error):
+    """ H5E_ATOM """
+    pass
+                       
+#   H5E_CACHE,                  # object Cache        
+class CacheError(H5Error):
+    """ H5E_CACHE """
+    pass
+                       
+#   H5E_BTREE,                  # B-Tree Node           
+class BtreeError(H5Error):
+    """ H5E_BTREE """
+    pass
+                     
+#    H5E_SYM,                    # symbol Table         
+class SymbolError(H5Error):
+    """ H5E_SYM """
+    pass
+                      
+#   H5E_HEAP,                   # Heap  
+class HeapError(H5Error):
+    """ H5E_HEAP """
+    pass
+                                     
+#    H5E_OHDR,                   # object Header     
+class ObjectHeaderError(H5Error):
+    """ H5E_OHDR """
+    pass
+                         
+#    H5E_DATATYPE,               # Datatype    
+class DatatypeError(H5Error):
+    """ H5E_DATATYPE """
+    pass
+                               
+#    H5E_DATASPACE,              # Dataspace                      
+class DataspaceError(H5Error):
+    """ H5E_DATASPACE """
+    pass
+            
+#    H5E_DATASET,                # Dataset                        
+class DatasetError(H5Error):
+    """ H5E_DATASET """
+    pass
+            
+#    H5E_STORAGE,                # data storage                
+class StorageError(H5Error):
+    """ H5E_STORAGE """
+    pass
+               
+#    H5E_PLIST,                  # Property lists                  
+class PropertyError(H5Error):
+    """ H5E_PLIST """
+    pass
+           
+#    H5E_ATTR,                   # Attribute     
+class AttrError(H5Error):
+    """ H5E_ATTR """
+    pass
+                             
+#    H5E_PLINE,                  # Data filters       
+class FilterError(H5Error):
+    """ H5E_PLINE """
+    pass
+                        
+#    H5E_EFL,                    # External file list                         
+class FileListError(H5Error):
+    """ H5E_EFL """
+    pass
+
+#    H5E_REFERENCE,              # References          
+class RefError(H5Error):
+    """ H5E_REFERENCE """
+    pass
+                       
+#    H5E_VFL,                    # Virtual File Layer        
+class VirtualFileError(H5Error):
+    """ H5E_VFL """
+    pass
+
+#    H5E_TST,                    # Ternary Search Trees                       
+class TSTError(H5Error):
+    """ H5E_TST """
+    pass
+
+#    H5E_RS,                     # Reference Counted Strings        
+class RSError(H5Error):
+    """ H5E_RS """
+    pass
+          
+#    H5E_ERROR,                  # Error API                    
+class ErrorError(H5Error):
+    """ H5E_ERROR """
+    pass
+              
+#    H5E_SLIST                   # Skip Lists        
+class SkipListError(H5Error):
+    """ H5E_SLIST """
+    pass  
+
+cdef dict _major_table = {
+    H5E_ARGS: ArgsError,
+    H5E_RESOURCE: ResourceError,
+    H5E_INTERNAL: InternalError,
+    H5E_FILE: FileError,
+    H5E_IO: LowLevelIOError,
+    H5E_FUNC: FuncError,
+    H5E_ATOM: AtomError,
+    H5E_CACHE: CacheError,
+    H5E_BTREE: BtreeError,
+    H5E_SYM: SymbolError,
+    H5E_HEAP: HeapError,
+    H5E_OHDR: ObjectHeaderError,
+    H5E_DATATYPE: DatatypeError,
+    H5E_DATASPACE: DataspaceError,
+    H5E_DATASET: DatasetError,
+    H5E_STORAGE: StorageError,
+    H5E_PLIST: PropertyError,
+    H5E_ATTR: AttrError,
+    H5E_PLINE: FilterError,
+    H5E_EFL: FileListError,
+    H5E_REFERENCE: RefError,
+    H5E_VFL: VirtualFileError,
+    H5E_TST: TSTError,
+    H5E_RS: RSError,
+    H5E_ERROR: ErrorError,
+    H5E_SLIST: SkipListError}
+
+cdef dict _minor_table = {
+    H5E_SEEKERROR:    IOError,       # Seek failed 
+    H5E_READERROR:    IOError,       # Read failed  
+    H5E_WRITEERROR:   IOError,       # Write failed  
+    H5E_CLOSEERROR:   IOError,       # Close failed 
+    H5E_OVERFLOW:     IOError,       # Address overflowed 
+    H5E_FCNTL:        IOError,       # File control (fcntl) failed
+
+    H5E_FILEEXISTS:   ValueError,    # File already exists 
+    H5E_FILEOPEN:     ValueError,    # File already open 
+    H5E_NOTHDF5:      ValueError,    # Not an HDF5 file 
+    H5E_BADFILE:      ValueError,    # Bad file ID accessed
+
+    H5E_BADATOM:      KeyError,      # Unable to find atom information (already closed?) 
+    H5E_BADGROUP:     KeyError,      # Unable to find ID group information 
+    H5E_BADSELECT:    ValueError,    # Invalid selection (hyperslabs)
+    H5E_UNINITIALIZED:  ValueError,  # Information is uinitialized 
+    H5E_UNSUPPORTED:  NotImplementedError,    # Feature is unsupported 
+
+    H5E_BADTYPE:      TypeError,     # Inappropriate type 
+    H5E_BADRANGE:     ValueError,    # Out of range 
+    H5E_BADVALUE:     ValueError,    # Bad value
+    H5E_NOTFOUND:     KeyError,      # Object not found 
+    H5E_EXISTS:       ValueError,    # Object already exists 
+    H5E_CANTCONVERT:  TypeError      # Can't convert datatypes 
+  }
+
+
+
+
+
+
+
+
+
+

-- 
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