
    h                         S SK Jr  S SKJr  S SKJr  S SKJr  SSK	J
r
  SSKJr  SSKJr  SS	KJr  SS
KJr   " S S\5      rg)    )find_library)settings)ImproperlyConfigured)DatabaseWrapper   )SpatiaLiteClient)DatabaseFeatures)SpatiaLiteIntrospection)SpatiaLiteOperations)SpatialiteSchemaEditorc                   T   ^  \ rS rSr\r\r\r	\
r\rU 4S jrU 4S jrU 4S jrSrU =r$ )r      c                    > [        [        SS 5      SS[        S5      4 Vs/ s H
  nUc  M  UPM     snU l        [        TU ]  " U0 UD6  g s  snf )NSPATIALITE_LIBRARY_PATHzmod_spatialite.somod_spatialite
spatialite)getattrr   r   lib_spatialite_pathssuper__init__)selfargskwargsname	__class__s       `/var/www/html/env/lib/python3.13/site-packages/django/contrib/gis/db/backends/spatialite/base.pyr   DatabaseWrapper.__init__   sd     ";TB# \*		%
  	%
! 	$)&)	%
s
   AAc                 v  > [         TU ]  U5      n UR                  S5        U R
                   H  n UR                  U5          U$    [	        SSR                  U R
                  5      -  5      e! [         a    [	        S5      ef = f! [         a%    [        [        SS 5      (       a  [	        S5      e M  f = f)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   "DatabaseWrapper.get_new_connection(   s    w)+6	&&t, --D
##D)  # . '*,0IId6O6O,PQ '  	&% 	  8%>EE.P  s   A0 B	0B	+B87B8c                 :  > [         TU ]  5         U R                  5        nUR                  S5        UR	                  5       / :X  a=  U R
                  R                  S:  a  UR                  S5        OUR                  S5        S S S 5        g ! , (       d  f       g = f)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+    DatabaseWrapper.prepare_databaseF   sk     "[[]fNNAB B&88++d2NN#BCNN#FG ]]s   A#B
B)r   )__name__
__module____qualname____firstlineno__r   SchemaEditorClassr   client_classr	   features_classr
   introspection_classr   	ops_classr   r   r+   __static_attributes____classcell__)r   s   @r   r   r      s4    .#L%N1$I*$<	H 	H    r   N)ctypes.utilr   django.confr   django.core.exceptionsr   django.db.backends.sqlite3.baser   SQLiteDatabaseWrapperclientr   featuresr	   introspectionr
   
operationsr   schemar    r=   r   <module>rI      s1    $   7 T $ & 2 , *AH+ AHr=   