ó
®â0_c           @  sp   d  Z  d d l m Z d d l m Z d d l m Z d d l m Z d d l	 m
 Z
 d e f d „  ƒ  YZ d	 S(
   uL   
 This object provides quoting for GEOS geometries into PostgreSQL/PostGIS.
iÿÿÿÿ(   t   unicode_literals(   t   Binary(   t	   ISQLQuote(   t   to_pgraster(   t   Geometryt   PostGISAdapterc           B  sJ   e  Z e d  „ Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 RS(   c         C  sp   t  | t t f ƒ |  _ |  j rH t | j ƒ |  _ t |  j ƒ |  _ n t | ƒ |  _ | j	 |  _	 | |  _
 d S(   u3   
        Initialize on the spatial object.
        N(   t
   isinstanceR   R   t   is_geometryt   bytest   ewkbR   t   _adapterR   t   sridt	   geography(   t   selft   objR   (    (    sP   /tmp/pip-unpacked-wheel-BAJOf3/django/contrib/gis/db/backends/postgis/adapter.pyt   __init__   s    	c         C  s    | t  k r |  St d ƒ ‚ d  S(   Nu<   Error implementing psycopg2 protocol. Is psycopg2 installed?(   R   t	   Exception(   R   t   proto(    (    sP   /tmp/pip-unpacked-wheel-BAJOf3/django/contrib/gis/db/backends/postgis/adapter.pyt   __conform__   s    c         C  s5   t  | t ƒ s t S|  j | j k o4 |  j | j k S(   N(   R   R   t   FalseR	   R   (   R   t   other(    (    sP   /tmp/pip-unpacked-wheel-BAJOf3/django/contrib/gis/db/backends/postgis/adapter.pyt   __eq__&   s    c         C  s   t  |  j |  j f ƒ S(   N(   t   hashR	   R   (   R   (    (    sP   /tmp/pip-unpacked-wheel-BAJOf3/django/contrib/gis/db/backends/postgis/adapter.pyt   __hash__+   s    c         C  s
   |  j  ƒ  S(   N(   t	   getquoted(   R   (    (    sP   /tmp/pip-unpacked-wheel-BAJOf3/django/contrib/gis/db/backends/postgis/adapter.pyt   __str__.   s    c         C  s    |  j  r |  j j | ƒ n  d S(   uŒ   
        This method allows escaping the binary in the style required by the
        server's `standard_conforming_string` setting.
        N(   R   R
   t   prepare(   R   t   conn(    (    sP   /tmp/pip-unpacked-wheel-BAJOf3/django/contrib/gis/db/backends/postgis/adapter.pyR   1   s    	c         C  sJ   |  j  r; t d |  j r d n d |  j j ƒ  j ƒ  f ƒ Sd |  j Sd S(   uP   
        Return a properly quoted string for use in PostgreSQL/PostGIS.
        u   %s(%s)u   ST_GeogFromWKBu   ST_GeomFromEWKBu   '%s'::rasterN(   R   t   strR   R
   R   t   decodeR	   (   R   (    (    sP   /tmp/pip-unpacked-wheel-BAJOf3/django/contrib/gis/db/backends/postgis/adapter.pyR   9   s
    	(
   t   __name__t
   __module__R   R   R   R   R   R   R   R   (    (    (    sP   /tmp/pip-unpacked-wheel-BAJOf3/django/contrib/gis/db/backends/postgis/adapter.pyR      s   					N(   t   __doc__t
   __future__R    t   psycopg2R   t   psycopg2.extensionsR   t/   django.contrib.gis.db.backends.postgis.pgrasterR   t#   django.contrib.gis.geometry.backendR   t   objectR   (    (    (    sP   /tmp/pip-unpacked-wheel-BAJOf3/django/contrib/gis/db/backends/postgis/adapter.pyt   <module>   s   