'A generalized function for topology operations, takes a GDAL function and
the other geometry to perform the operation on.'

def _topology(self, func, other):

    if (not isinstance(other, OGRGeometry)):
        raise TypeError('Must    use    another    OGRGeometry    object    for    topology    operations!')
    return func(self.ptr, other.ptr)
