o a @sddlmZddlmZddlmZmZddlmZm Z ddl m Z ddl m Z mZddlmZdd e fd d Zde fd d ZdS))apps) GeometryField)AsKML Transform) render_to_kml render_to_kmz)FieldDoesNotExist)DEFAULT_DB_ALIAS connections)Http404NFc Cs"g}zt||}Wntytd||fw|r7z|j|}t|ts*tWn ty6tdwt |} | j j rL|j |jt|d}n7g}| j jrj|j |jd id|t|di} |d7}n|j |} | D]} t| |j| _|| qt|rt} nt} | dd|iS) 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"zInvalid geometry field.kmlz%s_4326i_4326zgis/kml/placemarks.kmlplacesN)r get_model LookupErrorr _meta get_field isinstancerrr featureshas_AsKML_function_default_managerusingannotaterhas_Transform_functionrallgetattrr appendrr) requestlabelmodel field_namecompressr placemarksklassfield connectionqsmodrenderrrC/usr/lib/python3/dist-packages/django/contrib/gis/sitemaps/views.pyr s@      r cCst||||d|dS)zD Return KMZ for the given app label, model, and field name. T)r#rr )rr r!r"rrrr+kmz9sr,) django.appsrdjango.contrib.gis.db.modelsr&django.contrib.gis.db.models.functionsrrdjango.contrib.gis.shortcutsrrdjango.core.exceptionsr django.dbr r django.httpr r r,rrrr+s   /