
    Hwg                         d dl Z d dlZd dlmZ d dlmZmZ d dlmZ d dl	m
Z
 d dlmZ d e
j                         iZ e j                  d      Z G d	 d
e      Zy)    N)GDALException)GEOSExceptionGEOSGeometry)Textarea)translation)RemovedInDjango50WarningLANGUAGE_BIDIzdjango.contrib.gisc                   .     e Zd ZdZ fdZd Zd Z xZS )OpenLayersWidgetzA
    Render an OpenLayers map using the WKT of the geometry.
    c                 \    t        j                  dt        d       t        |   |i | y )Nz8django.contrib.gis.admin.OpenLayersWidget is deprecated.   )
stacklevel)warningswarnr   super__init__)selfargskwargs	__class__s      W/var/www/horilla/myenv/lib/python3.12/site-packages/django/contrib/gis/admin/widgets.pyr   zOpenLayersWidget.__init__   s,    F$	

 	$)&)    c                    |r8| j                   j                  |       | j                   d   | j                   d<   nd| j                   d<   d| j                   d<   |rt        |t              r	 t	        |      }|r8|j                  j                         | j                  k7  r| j                  dk7  rd }| j                         | j                   d<   || j                   d	<   | j                   d	   j                  d
d      }d|z  | j                   d<   |rd| j                   d   }|j                  |k7  r+	 |j                  }|j                  |       |j                   }n|j                   }|| j                   d<   | j                   j                  t$               | j                   S # t
        t        f$ r$}t        j                  d||       d }Y d }~Vd }~ww xY w# t"        $ r.}t        j                  d|j                  ||       d}Y d }~d }~ww xY w)N
modifiableeditableT wktz,Error creating geometry from value '%s' (%s)GEOMETRYmap_optionsname-_zgeodjango_%smodulesridz<Error transforming geometry from srid '%s' to srid '%s' (%s))paramsupdate
isinstancestrr   r   
ValueErrorloggererror	geom_typeupperr   replacer$   ogr	transformr   r   geo_context)	r   r    valueattrserrjs_safe_namer$   r/   r   s	            r   get_contextzOpenLayersWidget.get_context   s   KKu%&*kk,&?DKK
#&*DKK
#
  E Zs+$U+ %%'4>>9*,E &*%5%5%7M"
 #F {{6*223< . =H ;;v&DzzT!))CMM$'''C ii "%DKK;'{{a ":. KUTWX@ % LLV

	 Cs0   ,F /)G G.GG	H$HHc           
         d }d }ddddt         fddt        fdd	d
t        fddt        fddt        fg}i }|D ]  \  }}}| j                  j	                  |d      s$|dk(  r || j                  |         }n[|dk(  r || j                  |         }n@|t        t        fv r| j                  |   }n"|t         fv rd| j                  |   z  }nt
        |||<    |S )z7Build the map options hash for the OpenLayers template.c                     d| z  S )Nznew OpenLayers.Bounds(%s) )extents    r   	ol_boundsz/OpenLayersWidget.map_options.<locals>.ol_boundsf   s    .77r   c                     d| z  S )Nz$new OpenLayers.Projection("EPSG:%s")r9   )r$   s    r   ol_projectionz3OpenLayersWidget.map_options.<locals>.ol_projectioni   s    9D@@r   )r$   
projectionr$   )display_sriddisplayProjectionr$   unitsmax_resolutionmaxResolution)
max_extent	maxExtentboundsnum_zoomnumZoomLevelsmax_zoommaxZoomLevelsmin_zoomminZoomLevelFr$   rF   z"%s")r(   floatintr%   get	TypeError)	r   r;   r=   	map_typesr   
param_namejs_nameoption_typer2   s	            r   r   zOpenLayersWidget.map_optionsb   s   	8	A +9gs#61#.#.-	
	 09 	-,J{{z51&()$++j*ABE H,%dkk*&=>E UCL0 KK
3E SF*"T[[%<<E#O',G$	- r   )__name__
__module____qualname____doc__r   r6   r   __classcell__)r   s   @r   r   r      s    *BH&r   r   )loggingr   django.contrib.gis.gdalr   django.contrib.gis.geosr   r   django.forms.widgetsr   django.utilsr   django.utils.deprecationr   get_language_bidir1   	getLoggerr*   r   r9   r   r   <module>rb      sS      1 ? ) $ =  = = = ?@			/	0wx wr   