ó
øĒTQc           @   s6   d  Z  d e f d     YZ d e f d     YZ d S(   sL   
A collection of utility routines and classes used by the spatial
backends.
t   SpatialOperationc           B   s;   e  Z d  Z d Z d d d d  Z d d  Z d   Z RS(   s0   
    Base class for generating spatial SQL.
    s%   %(geo_col)s %(operator)s %(geometry)st    c         K   s(   | |  _  | |  _ | |  _ | |  _ d  S(   N(   t   functiont   operatort   resultt   extra(   t   selfR   R   R   t   kwargs(    (    s<   ../Django//lib/python/django/contrib/gis/db/backends/util.pyt   __init__   s    			s   %sc         C   s   |  j  |  j | |  S(   N(   t   sql_templatet   params(   R   t   geo_colt   geometry(    (    s<   ../Django//lib/python/django/contrib/gis/db/backends/util.pyt   as_sql   s    c         C   sF   i |  j  d 6| d 6| d 6|  j d 6|  j d 6} | j |  j  | S(   NR   R   R   R   R   (   R   R   R   t   updateR   (   R   R   R   R
   (    (    s<   ../Django//lib/python/django/contrib/gis/db/backends/util.pyR
      s    
(   t   __name__t
   __module__t   __doc__R	   R   R   R
   (    (    (    s<   ../Django//lib/python/django/contrib/gis/db/backends/util.pyR       s
   t   SpatialFunctionc           B   s#   e  Z d  Z d Z d d d  Z RS(   sF   
    Base class for generating spatial SQL related to a function.
    s'   %(function)s(%(geo_col)s, %(geometry)s)R   c         K   sB   i | d 6| d 6| d 6} | j  |  t t |   j |   d  S(   NR   R   R   (   R   t   superR   R   (   R   t   funcR   R   R   t   default(    (    s<   ../Django//lib/python/django/contrib/gis/db/backends/util.pyR   %   s
    

(   R   R   R   R	   R   (    (    (    s<   ../Django//lib/python/django/contrib/gis/db/backends/util.pyR      s   N(   R   t   objectR    R   (    (    (    s<   ../Django//lib/python/django/contrib/gis/db/backends/util.pyt   <module>   s   