
    Dvg                         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dlmZ ddlmZ dd	lmZ dd
lmZ  G d de          ZdS )    )find_library)settings)ImproperlyConfigured)DatabaseWrapper   )SpatiaLiteClient)DatabaseFeatures)SpatiaLiteIntrospection)SpatiaLiteOperations)SpatialiteSchemaEditorc                   F     e Zd ZeZeZeZe	Z
eZ fdZ fdZ fdZ xZS )r   c                     d t          t          dd           ddt          d          fD             | _         t	                      j        |i | d S )Nc                     g | ]}||S )N ).0names     k/var/www/pixelcanvas.ch/venv/lib/python3.11/site-packages/django/contrib/gis/db/backends/spatialite/base.py
<listcomp>z,DatabaseWrapper.__init__.<locals>.<listcomp>   s,     	%
 	%
 	%
        SPATIALITE_LIBRARY_PATHzmod_spatialite.somod_spatialite
spatialite)getattrr   r   lib_spatialite_pathssuper__init__)selfargskwargs	__class__s      r   r   zDatabaseWrapper.__init__   sm    	%
 	%
 ";TBB# \**		%
 	%
 	%
! 	$)&)))))r   c                    t                                          |          }	 |                    d           n# t          $ r t	          d          w xY w| j        D ]N}	 |                    |            n_# t          $ r( t          t          dd           rt	          d          Y Kw xY wt	          dd
                    | j                  z            |S )NTzGSpatiaLite requires SQLite to be configured to allow extension loading.r   zeUnable to load the SpatiaLite library extension as specified in your SPATIALITE_LIBRARY_PATH setting.zHUnable to load the SpatiaLite library extension. Library names tried: %sz, )r   get_new_connectionenable_load_extensionAttributeErrorr   r   load_extension	Exceptionr   r   join)r   conn_paramsconnpathr    s       r   r"   z"DatabaseWrapper.get_new_connection(   s%   ww))+66	&&t,,,, 	 	 	&%  	 - 	 	D
##D)))     8%>EE .P    '*,0IId6O,P,PQ   s   : A!A88/B*)B*c                 r   t                                                       |                                 5 }|                    d           |                                g k    r;| j        j        dk     r|                    d           n|                    d           d d d            d S # 1 swxY w Y   d S )Nz$PRAGMA table_info(geometry_columns);)   zSELECT InitSpatialMetaData(1)z!SELECT InitSpatialMetaDataFull(1))r   prepare_databasecursorexecutefetchallopsspatial_version)r   r.   r    s     r   r-   z DatabaseWrapper.prepare_databaseF   s      """[[]] 	HfNNABBB  B&&8+d22NN#BCCCCNN#FGGG	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	Hs   A)B,,B03B0)__name__
__module____qualname__r   SchemaEditorClassr   client_classr	   features_classr
   introspection_classr   	ops_classr   r"   r-   __classcell__)r    s   @r   r   r      s        .#L%N1$I* * * * *$    <	H 	H 	H 	H 	H 	H 	H 	H 	Hr   r   N)ctypes.utilr   django.confr   django.core.exceptionsr   django.db.backends.sqlite3.baser   SQLiteDatabaseWrapperclientr   featuresr	   introspectionr
   
operationsr   schemar   r   r   r   <module>rF      s    $ $ $ $ $ $             7 7 7 7 7 7 T T T T T T $ $ $ $ $ $ & & & & & & 2 2 2 2 2 2 , , , , , , * * * * * *AH AH AH AH AH+ AH AH AH AH AHr   