ó
®â0_c           @   s€   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 e
 f d	 „  ƒ  YZ d
 S(   iÿÿÿÿ(   t   apps(   t   GeometryField(   t   Sitemap(   t   models(   t   reverset
   KMLSitemapc           B   sM   e  Z d  Z d Z d d „ Z d „  Z d d d d „ Z d „  Z d „  Z	 RS(	   s1   
    A minimal hook to produce KML sitemaps.
    t   kmlc         C   s   |  j  | ƒ |  _ d  S(   N(   t   _build_kml_sourcest	   locations(   t   selfR   (    (    sA   /tmp/pip-unpacked-wheel-BAJOf3/django/contrib/gis/sitemaps/kml.pyt   __init__   s    c         C   sî   g  } | d k r! t j ƒ  } n  xÆ | D]¾ } t | t j j ƒ r” x  | j j D]= } t | t	 ƒ rP | j
 | j j | j j | j f ƒ qP qP Wq( t | t t f ƒ rÚ t | ƒ d k rÊ t d ƒ ‚ n  | j
 | ƒ q( t d ƒ ‚ q( W| S(   sõ   
        Goes through the given sources and returns a 3-tuple of
        the application label, module name, and field name of every
        GeometryField encountered in the sources.

        If no sources are provided, then all models.
        i   s?   Must specify a 3-tuple of (app_label, module_name, field_name).s)   KML Sources must be a model or a 3-tuple.N(   t   NoneR    t
   get_modelst
   isinstanceR   t   baset	   ModelBaset   _metat   fieldsR   t   appendt	   app_labelt
   model_namet   namet   listt   tuplet   lent
   ValueErrort	   TypeError(   R	   t   sourcest   kml_sourcest   sourcet   field(    (    sA   /tmp/pip-unpacked-wheel-BAJOf3/django/contrib/gis/sitemaps/kml.pyR      s     	i   c         C   sC   t  j |  d | d | d | ƒ} x | D] } |  j | d <q( W| S(   s|   
        This method is overridden so the appropriate `geo_format` attribute
        is placed on each URL element.
        t   paget   sitet   protocolt
   geo_format(   R   t   get_urlsR"   (   R	   R   R    R!   t   urlst   url(    (    sA   /tmp/pip-unpacked-wheel-BAJOf3/django/contrib/gis/sitemaps/kml.pyR#   -   s    !c         C   s   |  j  S(   N(   R   (   R	   (    (    sA   /tmp/pip-unpacked-wheel-BAJOf3/django/contrib/gis/sitemaps/kml.pyt   items7   s    c         C   s8   t  d |  j d i | d d 6| d d 6| d d 6ƒS(	   Ns$   django.contrib.gis.sitemaps.views.%st   kwargsi    t   labeli   t   modeli   t
   field_name(   R   R"   (   R	   t   obj(    (    sA   /tmp/pip-unpacked-wheel-BAJOf3/django/contrib/gis/sitemaps/kml.pyt   location:   s    N(
   t   __name__t
   __module__t   __doc__R"   R   R
   R   R#   R&   R,   (    (    (    sA   /tmp/pip-unpacked-wheel-BAJOf3/django/contrib/gis/sitemaps/kml.pyR      s   	
	t
   KMZSitemapc           B   s   e  Z d  Z RS(   t   kmz(   R-   R.   R"   (    (    (    sA   /tmp/pip-unpacked-wheel-BAJOf3/django/contrib/gis/sitemaps/kml.pyR0   E   s   N(   t   django.appsR    t#   django.contrib.gis.db.models.fieldsR   t   django.contrib.sitemapsR   t	   django.dbR   t   django.urlsR   R   R0   (    (    (    sA   /tmp/pip-unpacked-wheel-BAJOf3/django/contrib/gis/sitemaps/kml.pyt   <module>   s   =