
    恕fS                     n    d dl mZ d dlZd dlZd 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	 Zd
 Zd Zy)    )unicode_literalsN)	ModelView)GeoJSONField)Geometry)to_shape   )setupc                 6      G  fdd j                         }|S )Nc                   V   e Zd ZW  j                  W  j                  d      ZW  j                  W  j                  d            ZW  j                   ed            Z	W  j                   ed            Z
W  j                   ed            ZW  j                   ed            Zd Zy	)
create_models.<locals>.GeoModelT)primary_key   POINT
LINESTRINGPOLYGON
MULTIPOINTc                     | j                   S )N)name)selfs    `/var/www/feuerwehr-webapp/venv/lib/python3.12/site-packages/flask_admin/tests/geoa/test_basic.py__unicode__z+create_models.<locals>.GeoModel.__unicode__   s    99    N)__name__
__module____qualname__ColumnIntegeridStringr   r   pointlinepolygonmultir   )dbs   r   GeoModelr      s    YYrzztY4yy2'		(7+,yy,/0))HY/0		(<01	r   r%   )Model)r$   r%   s   ` r   create_modelsr'      s    	288 	 Or   c            	         t               \  } }}t        |      }| j                         5  |j                          d d d        |j                  j                          |j                  j                          t        ||j                        }|j                  |       |j                  |k(  sJ |j                  dk(  sJ |j                  j                  j                  t        k(  sJ |j                  j                  j                   d   dk(  sJ |j                  j"                  j                  t        k(  sJ |j                  j"                  j                   d   dk(  sJ |j                  j$                  j                  t        k(  sJ |j                  j$                  j                   d   dk(  sJ |j                  j&                  j                  t        k(  sJ |j                  j&                  j                   d   dk(  sJ | j)                         }|j+                  d      }|j,                  dk(  sJ |j+                  d	      }|j,                  dk(  sJ |j/                  d	d
ddddd      }|j,                  dk(  sJ |j                  j	                  |      j1                         }|j2                  d
k(  sJ t5        |j                        j6                  dk(  sJ t9        t5        |j                        j:                        dgk(  sJ t5        |j"                        j6                  dk(  sJ t9        t5        |j"                        j:                        ddgk(  sJ t5        |j$                        j6                  dk(  sJ t9        t5        |j$                        j<                  j:                        g dk(  sJ t5        |j&                        j6                  dk(  sJ t?        t5        |j&                        j@                        dk(  sJ t9        t5        |j&                        j@                  d   j:                        dgk(  sJ t9        t5        |j&                        j@                  d   j:                        dgk(  sJ |j+                  d      }|j,                  dk(  sJ |jB                  jE                  d      }d }	tG        jH                  |	|      jK                  d      }
tM        jN                  |
      }|d!   d   d"k(  sJ |d!   d   d#k(  sJ d$|jP                  z  }|j+                  |      }|j,                  dk(  sJ |jB                  jE                  d      }d%|v sd&|v sJ d'|jP                  z  }|j/                  |      }|j,                  dk(  sJ |j                  j	                  |      jS                         dk(  sJ y # 1 sw Y   xY w)(Nr   geometry_typer   r   r   r   z/admin/geomodel/   /admin/geomodel/new/test1z/{"type": "Point", "coordinates": [125.8, 10.0]}zH{"type": "LineString", "coordinates": [[50.2345, 94.2], [50.21, 94.87]]}zl{"type": "Polygon", "coordinates": [[[100.0, 0.0], [101.0, 0.0], [101.0, 1.0], [100.0, 1.0], [100.0, 0.0]]]}zC{"type": "MultiPoint", "coordinates": [[100.0, 0.0], [101.0, 1.0]]})r   r    r!   r"   r#   data.  Point)33333s_@      $@
LineString)gtI@ǧW@)g{GI@gHzW@Polygon)      Y@        )     @Y@r7   r8         ?)r6   r:   r5   
MultiPoint   r   r5   r   r9   utf-8z1(.|\n)+({.*"type": ?"Point".*})</textarea>(.|\n)+coordinatesr1   r2   /admin/geomodel/edit/?id=%sz@{"type":"MultiPoint","coordinates":[[100,0],[101,1]]}</textarea>zM{&#34;type&#34;:&#34;MultiPoint&#34;,&#34;coordinates&#34;:[[100,0],[101,1]]}z/admin/geomodel/delete/?id=%s)*r	   r'   app_context
create_allquerydeletesessioncommitr   add_viewmodel_primary_key_create_form_classr    field_classr   kwargsr!   r"   r#   test_clientgetstatus_codepostfirstr   r   	geom_typelistcoordsexteriorlengeomsr.   decoderematchgroupjsonloadsr   count)appr$   adminr%   viewclientrvrG   htmlpatternrZ   purlr.   s                 r   
test_modelrg      s-   WNCUR H		 
NNJJXrzz*D	NN4::!!!$$$ ""((44DDD""((//@GKKK""''33|CCC""''..?<OOO""**66,FFF""**11/BiOOO""((44DDD""((//@LPPP __F	&	'B>>S   	*	+B>>S   	+BZCV3 
B >>S   JJX&,,.E::   EKK **g555%,,-.1AAAAEJJ))\999$++,.0QQQQEMM",,	999'00778QR R REKK **l:::x$**+q000%++A.556<.HHH%++A.556<.HHH	&	'B>>S   77>>'"DBGHHWd#))!,E

5A]A%''']A$&&&
'%((
2C	CB>>S   77>>'"DOSWW\`ddf e. *EHH
4C	S	B>>S   ::H%++-222} s   WWc                     t               \  } }}t        |      }| j                         5  |j                          d d d        |j                  j                          |j                  j                          t        ||j                        }|j                  |       | j                         }|j                  dddi      }|j                  dk(  sJ |j                  j	                  |      j                         }d|j                  z  }|j                  |      }|j                  dk(  sJ |j                   j#                  d      }	d	|	v sd
|	v sd|	v sJ y y y # 1 sw Y   !xY w)Nr+   r   r,   r-   r/   r?   r*   r=   z name="point"></textarea>z name="point">
</textarea>z name="point">
</textarea>)r	   r'   r@   rA   rB   rC   rD   rE   r   rF   rL   rO   rN   rP   r   rM   r.   rW   )
r^   r$   r_   r%   r`   ra   rb   rG   rf   r.   s
             r   	test_noneri      sG   WNCUR H		 
NNJJXrzz*D	NN4 __F	+3 
B >>S   JJX&,,.E
'%((
2C	CB>>S   77>>'"D(D0)T1+t35 43 2 1- s   EE$)
__future__r   r[   rX   flask_admin.contrib.geoar   flask_admin.contrib.geoa.fieldsr   geoalchemy2r   geoalchemy2.shaper    r	   r'   rg   ri    r   r   <module>rq      s0    '  	 / 8   & a3H5r   