app/django/contrib/gis/db/backend/base.py
author Lennard de Rijk <ljvderijk@gmail.com>
Wed, 21 Jan 2009 14:57:12 +0000
changeset 868 8d3c1ee6eba7
parent 323 ff1a9aa48cfd
permissions -rw-r--r--
onCreate for a Club now marks any application for the same club as completed and invites the admins. This is useful for when the club has been created without using the application. Patch by: Lennard de Rijk

"""
 This module holds the base `SpatialBackend` object, which is
 instantiated by each spatial backend with the features it has.
"""
# TODO: Create a `Geometry` protocol and allow user to use
# different Geometry objects -- for now we just use GEOSGeometry.
from django.contrib.gis.geos import GEOSGeometry, GEOSException

class BaseSpatialBackend(object):
    Geometry = GEOSGeometry
    GeometryException = GEOSException

    def __init__(self, **kwargs):
        kwargs.setdefault('distance_functions', {})
        kwargs.setdefault('limited_where', {})
        for k, v in kwargs.iteritems(): setattr(self, k, v)
 
    def __getattr__(self, name):
        """
        All attributes of the spatial backend return False by default.
        """
        try:
            return self.__dict__[name]
        except KeyError:
            return False