
^Q\#                 @   sr  d  d l  m Z d  d l m Z d  d l m Z d  d l m Z y d  d l m	 Z	 Wn" e
 k
 rx d  d l	 m	 Z	 Yn Xd  d l Z y d  d l m Z Wn" e
 k
 r d  d l m Z Yn Xd  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  d l Z d d l m Z m Z m Z e d  d d f g Z e  e d i   Z! e" i e d 6g  d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6g  d 6d  d! 6d d" 6d# d$ 6d# d% 6e   d& 6dZ d) 6e!  Z# d* e! k r:e j$ d+ e%  d e! k r&e e d,    n  e# d* g e# d <n  e& e# j' d  e j(  r}e d-  e# j' d  d. f g e# d <n  e# j' d! d  Z) e) d# k rd  e# d! <n e) d[ k re d1   n  e# j' d)  Z* e* d k re+ e d)  r e j$ d2 e%  n  e  e d) d^  Z* n  e* d k	 rae& e* e, e- f  sIe. e*  d3 k rae e d4    qan  e# j' d  Z/ e/ d k re+ e d5  re j$ d6 e%  n  e+ e d  re j$ d7 e%  n  e  e d5 e  e d d8   Z/ n  e/ d8 k rd Z/ n  e# j' d  Z0 e/ rKe0 rKe0 d9 e0 d  e0 d: e0 d k rKe d; e0 f   n  e# d Z1 e1 d k	 re& e1 e- e, f  oe. e1  d9 k re d<   n  e# d Z2 e2 d k	 re& e2 e j3  od e2 k od= k n re d>   n  e# d& Z4 e& e4 e"  o!e5 d? d@   e4 j6   D  s9dA Z7 e e7   n  dB Z8 dC Z9 dD Z: dE dF dG g Z; e/ rze; dH dI dJ e/ g 7Z; n  dK g Z< e4 j= e: i   Z> e; e> j' dL g   e> dL <e< e> j' dM g   e> dM <e> j= dN d  e> e4 e: <e# j' d"  ri dO dM 6dP dL 6d# dN 6e4 dQ <n  dR dS   Z? dT Z@ e jA d_ k rQe jB jB jC rXe?   qXn e?   GdV dW   dW e  ZD d S)`    )unicode_literals)DjangoJSONEncoder)
force_text)Promise)urlparseN)OrderedDict)settings)ImproperlyConfigured)static)ugettext_lazy)six   )memoized_lazy_functionListWithLazyItemsListWithLazyItemsRawIteratorZOSMz,//{s}.tile.openstreetmap.org/{z}/{x}/{y}.pnguR   © <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> contributorsLEAFLET_CONFIGZTILESZOVERLAYSZATTRIBUTION_PREFIXloadZ	LOADEVENTDEFAULT_ZOOMZMIN_ZOOMZMAX_ZOOMDEFAULT_CENTERFZFORCE_IMAGE_PATHSRIDTILES_EXTENTmetricSCALEZMINIMAPTZ
RESET_VIEWZ
NO_GLOBALSPLUGINS   Z   SPATIAL_EXTENTZ	TILES_URLzTILES_URL is deprecated.z&Remove TILES_URL and keep TILES value.Z
Background imperialbothzRLEAFLET_CONFIG['SCALE'] must be True, False, None, 'metric', 'imperial' or 'both'.zKSPATIAL_EXTENT is deprecated. Use LEAFLET_CONFIG['SPATIAL_EXTENT'] instead.   z9Spatial extent should be a tuple (minx, miny, maxx, maxy)ZMAP_SRIDz;MAP_SRID is deprecated. Use LEAFLET_CONFIG['SRID'] instead.z7SRID is deprecated. Use LEAFLET_CONFIG['SRID'] instead.i        z*Landscape tiles extent not supported (%s).zULEAFLET_CONFIG['DEFAULT_CENTER'] must be an list/tuple with two elements - (lon, lat)   z?LEAFLET_CONFIG['DEFAULT_ZOOM'] must be an int between 1 and 24.c             C   s   g  |  ] } t  | t   q S )
isinstancedict).0elr$   r$   E/var/www/dbchiro/venv/lib/python3.4/site-packages/leaflet/__init__.py
<listcomp>u   s   	 r*   zLEAFLET_CONFIG['PLUGINS'] must be dict of dicts in the format:
    { '[plugin_name]': { 'js': '[path-to-js]', 'css': '[path-to-css]' } } .)ZALLZ__default__Zformszleaflet/draw/leaflet.draw.jszleaflet/leaflet.extras.jszleaflet/leaflet.forms.jszleaflet/proj4js.jszleaflet/proj4leaflet.jszproj4js/%s.jszleaflet/draw/leaflet.draw.cssjscsszauto-includezleaflet/Control.MiniMap.csszleaflet/Control.MiniMap.jsZminimapc        	      C   s  d t  k r d St t  j    }  t   t  t <t   t  t <d d g } x|  D]} t  | } xu| D]m} | j | d  } t | t j	 t j
 f  r | g } nT t | t  r t |  } n6 t | t  r n$ t | t  r t |  } n g  } xl t |  D]^ \ } } t j |  r'qn  t |  } | j sd| j j d  rQqt t |  | | <qWt |  } | | | <| j d d  rt  t j | t    j |  n  t  t j | t    j |  qf WqO Wd t  d <d S)	a  
    Normalizes the PLUGINS setting:
        * ensures the 'css' and 'js' are arrays of URLs
        * ensures all URLs are transformed as follows:
            ** if the URL is absolute - leave it as-is
            ** if the URL is a root URL - starts with a / - leave it as-is
            ** the the URL is not a root URL - does not start with / - prepend settings.STATIC_URL
    Also, adds a special key - ALL - that includes 'css' and 'js' for all plugins listed
    Z__is_normalized__Nr,   r+   /zauto-includeFT)r   listkeysr   PLUGINS_DEFAULT
PLUGIN_ALLgetr%   r   Zbinary_typestring_typestupler   r   	enumerateZis_lazy_itemr   schemepath
startswithr   r
   
setdefaultextend)	Zlisted_pluginsZRESOURCE_TYPE_KEYSkeyZplugin_dictZresource_typeZurlsiurlZ	url_partsr$   r$   r)   _normalize_plugins_config   s@    


#(r>   zleaflet.apps.LeafletConfig   c                   s"   e  Z d  Z   f d d   Z   S)JSONLazyTranslationEncoderc                s/   t  | t  r t |  St t |   j |  S)N)r%   r   r   superr@   default)selfobj)	__class__r$   r)   rB      s    
z"JSONLazyTranslationEncoder.default)__name__
__module____qualname__rB   r$   r$   )rE   r)   r@      s   r@   L)rI   rJ   r   r   )r   r   r   NFL)rK   rL   r   r   )r   r?   r   )E
__future__r   Zdjango.core.serializers.jsonr   Zdjango.utils.encodingr   Zdjango.utils.functionalr   urllib.parser   ImportErrorwarningscollectionsr   ordereddictZdjango.confr   Zdjango.core.exceptionsr	   Z3django.contrib.staticfiles.templatetags.staticfilesr
   Zdjango.utils.translationr   _Zdjango.utilsr   Zdjangoutilsr   r   r   ZDEFAULT_TILESgetattrr   r&   Zapp_settingswarnDeprecationWarningr%   r2   r3   r   r   hasattrr4   r.   lenr   r   r   r   Zinteger_typesr   allvaluesZ	error_msgr1   r0   ZPLUGIN_FORMSZ	_forms_jsZ
_forms_cssr9   Z_forms_pluginsr>   Zdefault_app_configVERSIONZappsreadyr@   r$   r$   r$   r)   <module>   s   
	((!	0
4
;
.		
A