Changeset 999

Show
Ignore:
Timestamp:
01/03/08 15:14:54
Author:
seang
Message:

Use ctypes errcheck in predicates

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • Shapely/trunk/shapely/predicates.py

    r751 r999  
    1717    def __init__(self, fn): 
    1818        self.fn = fn 
     19        def errcheck(result, func, argtuple): 
     20            if result == 2: 
     21                raise PredicateError, "Failed to evaluate %s" % repr(self.fn) 
     22            return result 
     23        self.fn.errcheck = errcheck 
    1924 
    2025    def __get__(self, obj, objtype=None): 
     
    2328 
    2429    def __call__(self, other): 
    25         retval = self.fn(self.context._geom, other._geom) 
    26         if retval == 2: 
    27             raise PredicateError, "Failed to evaluate %s" % repr(self.fn) 
    28         return bool(retval) 
     30        return bool(self.fn(self.context._geom, other._geom)) 
    2931 
    3032 
     
    3941    def __init__(self, fn): 
    4042        self.fn = fn 
     43        def errcheck(result, func, argtuple): 
     44            if result == 2: 
     45                raise PredicateError, "Failed to evaluate %s" % repr(self.fn) 
     46            return result 
     47        self.fn.errcheck = errcheck 
    4148 
    4249    def __get__(self, obj, objtype=None): 
    43         retval = self.fn(obj._geom) 
    44         if retval == 2: 
    45             raise PredicateError, "Failed to evaluate %s" % repr(self.fn) 
    46         return bool(retval) 
     50        return bool(self.fn(obj._geom)) 
    4751     
    4852    def __set__(self, obj, value=None):