
    g1	                     ~    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
ZdefdZy)    )apps)GeometryField)AsKML	Transform)render_to_kmlrender_to_kmz)FieldDoesNotExist)DEFAULT_DB_ALIASconnections)Http404NFc           	      P   g }	 t        j                  ||      }|r3	 |j                  j                  |      }t        |t              st        	 t        |   }	|	j                  j                  r5|j                  j                  |      j                  t        |            }ng }|	j                  j                   r@ |j                  j                  |      j                  di d|z  t#        |d      i}
|dz  }n)|j                  j                  |      j%                         }
|
D ].  }t'        ||      j(                  |_        |j+                  |       0 |rt,        }nt.        } |d	d
|i      S # t        $ r t        d|d|d      w xY w# t        $ r t        d      w xY w)z
    This view generates KML for the given app label, model, and field name.

    The field name must be that of a geographic field.
    z9You must supply a valid app label and module name.  Got "."zInvalid geometry field.kmlz%s_4326i  _4326zgis/kml/placemarks.kmlplaces )r   	get_modelLookupErrorr   _meta	get_field
isinstancer   r	   r   featureshas_AsKML_function_default_managerusingannotater   has_Transform_functionr   allgetattrr   appendr   r   )requestlabelmodel
field_namecompressr   
placemarksklassfield
connectionqsmodrenders                y/var/www/python.vincentserveurtest.ovh/public_html/venv/lib/python3.12/site-packages/django/contrib/gis/sitemaps/views.pyr   r   
   s    J
ue, 	5KK))*5Ee]3'' 4
 U#J--++11%8AAeJFWAX
 
55=''--e4== z)9Z+FGB '!J''--e488:BCc:.22CGc" 
 *Xz,BCCO  
e
 	

 ! 	5344	5s   E1 1F 1FF%c                 $    t        | |||d|      S )zD
    Return KMZ for the given app label, model, and field name.
    T)r'   r   r   )r#   r$   r%   r&   r   s        r/   kmzr1   =   s     wuj4uMM    )django.appsr   django.contrib.gis.db.modelsr   &django.contrib.gis.db.models.functionsr   r   django.contrib.gis.shortcutsr   r   django.core.exceptionsr	   	django.dbr
   r   django.httpr   r   r1   r   r2   r/   <module>r:      s9     6 C E 4 3  +/FV 0Df +/6F Nr2   