B
    ¦0H[		  ã               @   s‚   d dl mZ d dlmZ d dlmZmZ d dlmZm	Z	 d dl
mZ d dlmZmZ d dlmZ dd	efd
d„Zdefdd„ZdS )é    )Úapps)ÚGeometryField)ÚAsKMLÚ	Transform)Úrender_to_kmlÚrender_to_kmz)ÚFieldDoesNotExist)ÚDEFAULT_DB_ALIASÚconnections)ÚHttp404NFc             C   s0  g }yt  ||¡}W n$ tk
r8   td||f ƒ‚Y nX |rzy|j |¡}t|tƒsZt‚W n tk
rx   tdƒ‚Y nX t	| }	|	j
jr¤|j |¡jt|ƒd�}nng }|	j
jrÜ|j |¡jf d| t|dƒiŽ}
|d7 }n|j |¡ ¡ }
x$|
D ]}t||ƒj|_| |¡ qòW |�rt}nt}|dd|iƒS )	z‰
    This view generates KML for the given app label, model, and field name.

    The field name must be that of a geographic field.
    z?You must supply a valid app label and module name.  Got "%s.%s"zInvalid geometry field.)Úkmlz%s_4326iæ  Z_4326zgis/kml/placemarks.kmlZplaces)r   Z	get_modelÚLookupErrorr   Z_metaÚ	get_fieldÚ
isinstancer   r   r
   ÚfeaturesZhas_AsKML_functionZ_default_managerÚusingZannotater   Zhas_Transform_functionr   ÚallÚgetattrr   Úappendr   r   )ÚrequestÚlabelÚmodelÚ
field_nameÚcompressr   Z
placemarksÚklassÚfieldÚ
connectionÚqsÚmodÚrender© r    úeC:\Users\HIRONO~1\AppData\Local\Temp\pip-install-6bm3nxem\django\django\contrib\gis\sitemaps\views.pyr   
   s8    


r   c             C   s   t | |||d|d�S )zD
    Return KMZ for the given app label, model, and field name.
    T)r   r   )r   )r   r   r   r   r   r    r    r!   Úkmz9   s    r"   )Zdjango.appsr   Z#django.contrib.gis.db.models.fieldsr   Z&django.contrib.gis.db.models.functionsr   r   Zdjango.contrib.gis.shortcutsr   r   Zdjango.core.exceptionsr   Z	django.dbr	   r
   Zdjango.httpr   r   r"   r    r    r    r!   Ú<module>   s   /