
    Dvg.                     Z    d dl mZ d dlmZmZ  G d de          Z G d de          ZdS )    )OGRGeomType)DatabaseIntrospectionFlexibleFieldLookupDictc            	       8    e Zd ZdZi ej        ddddddddZdS )GeoFlexibleFieldLookupDictzi
    Subclass that includes updates the `base_data_types_reverse` dict
    for geometry field types.
    GeometryField)point
linestringpolygon
multipointmultilinestringmultipolygongeometrycollectionN)__name__
__module____qualname____doc__r   base_data_types_reverse     t/var/www/pixelcanvas.ch/venv/lib/python3.11/site-packages/django/contrib/gis/db/backends/spatialite/introspection.pyr   r      sQ         
	
!
9	 %"%*'-	 	 	r   r   c                   8     e Zd Z e            Zd Z fdZ xZS )SpatiaLiteIntrospectionc                    | j                                         5 }|                    d||j        f           |                                }|st          d|d|j        d          |d         }t          |t                    r|dk    r|dz  t          j	        z   }t          |          j
        }|d         }|d         }i }	|d	k    r||	d
<   t          |t                    rd|v s|dk    rd|	d<   d d d            n# 1 swxY w Y   ||	fS )NzpSELECT coord_dimension, srid, geometry_type FROM geometry_columns WHERE f_table_name=%s AND f_geometry_column=%sz&Could not find a geometry column for "z".""   i  r      i  sridZ   dim)
connectioncursorexecutenamefetchone	Exception
isinstanceintr   wkb25bitdjangostr)
self
table_namedescriptionr#   rowogr_type
field_typer!   r   field_paramss
             r   get_geometry_typez)SpatiaLiteIntrospection.get_geometry_type   s   _##%%  	(NNA [-.	   //##C i!zz;#3#3#35   1vH(C(( BX__ $d?[-AA$X..5J a&Cq6DLt||'+V$3$$ (q&'U#A 	(  	(  	(  	(  	(  	(  	(  	(  	(  	(  	(  	(  	(  	(  	(B <''s   CC??DDc                     t                                          ||          }|                    d|f           |                                D ]}|d         gddd ddd|d|d         z  <   |S )Nz`SELECT f_geometry_column FROM geometry_columns WHERE f_table_name=%s AND spatial_index_enabled=1r   FT)columnsprimary_keyuniqueforeign_keycheckindexz%s__spatial__index)superget_constraintsr$   fetchall)r-   r#   r.   constraintsr0   	__class__s        r   r=   z'SpatiaLiteIntrospection.get_constraintsA   s    gg--fjAA@ M		
 	
 	
 ??$$ 	 	CF8$#: :K,s1v566 r   )r   r   r   r   data_types_reverser4   r=   __classcell__)r@   s   @r   r   r      sW        3355"( "( "(H        r   r   N)django.contrib.gis.gdalr   (django.db.backends.sqlite3.introspectionr   r   r   r   r   r   r   <module>rE      s    / / / / / /           !8   $8 8 8 8 83 8 8 8 8 8r   