
    g                        d dl Z d dlZd dlZd dlmZmZmZmZ d dlm	Z	 d dl
mZ d dlmZ  e j                  d      Z	 d dlmZ ej$                  ZerdZn=ej0                  dk(  rg d	Zn)ej0                  d
k(  rg dZn edej0                  z        ereD ]  Z e	e      Ze n e eddj5                  e      z         ee      Zej0                  dk(  rd dlmZ  ee      Zd Z ed      Zege_         ee_!        d Z"d Z#d Z$ e$       Z% edeee      Z&d Z' e&e'      Z'd Z( e(de&ge&      Z) e)e'       y# eeeef$ r dZY w xY w)    N)CDLL	CFUNCTYPEc_char_pc_int)find_library)GDALException)ImproperlyConfiguredzdjango.contrib.gis)settingsnt)	gdal308gdal307gdal306gdal305gdal304gdal303gdal302gdal301gdal300posix)gdalGDALz	gdal3.8.0z	gdal3.7.0z	gdal3.6.0z	gdal3.5.0z	gdal3.4.0z	gdal3.3.0z	gdal3.2.0z	gdal3.1.0z	gdal3.0.0zGDAL is unsupported on OS "%s".zzCould not find the GDAL library (tried "%s"). Is GDAL installed? If it is, try setting GDAL_LIBRARY_PATH in your settings.z", ")WinDLLc                 L    t         j                  dk(  r	t        |    S t        |    S )z^
    Return the correct STDCALL function for certain OSR routines on Win32
    platforms.
    r   )osnamelwingdallgdal)funcs    w/var/www/python.vincentserveurtest.ovh/public_html/venv/lib/python3.12/site-packages/django/contrib/gis/gdal/libgdal.pystd_callr    Q   s#    
 
ww$~T{    GDALVersionInfoc                      t        d      S )z0Return only the GDAL version number information.s   RELEASE_NAME_version_info r!   r   gdal_versionr'   d   s    ))r!   c                      t        d      S )z)Return the full GDAL version information.r!   r$   r&   r!   r   gdal_full_versionr)   i   s    r!   c                      t               } t        j                  d|       }|st        d| z        |j	                         \  }}}t        |      t        |      |xr t        |      fS )Ns7   ^(?P<major>\d+)\.(?P<minor>\d+)(?:\.(?P<subminor>\d+))?z(Could not parse GDAL version string "%s")r'   rematchr   groupsint)vermmajorminorsubminors        r   gdal_version_infor4   n   s^    
.C
LcRAFLMMXXZE5(JE
H$>X??r!   c                 2    t         j                  d||       y )NzGDAL_ERROR %d: %s)loggererror)error_classerror_numbermessages      r   err_handlerr;   }   s    
LL$lG<r!   c                 8    t        |       }||_        ||_        |S )N)r    argtypesrestype)r   argsr>   r   s       r   functionr@      s    D>DDMDLKr!   CPLSetErrorHandler)*loggingr   r+   ctypesr   r   r   r   ctypes.utilr   django.contrib.gis.gdal.errorr   django.core.exceptionsr	   	getLoggerr6   django.confr
   GDAL_LIBRARY_PATHlib_pathAttributeErrorImportErrorOSError	lib_namesr   lib_namejoinr   r   r   r    r%   r=   r>   r'   r)   r4   GDAL_VERSIONCPLErrorHandlerr;   r@   set_error_handlerr&   r!   r   <module>rT      s    	 	 3 3 $ 7 7			/	0$))H IWW_
I WWI @277J
KK ) 
 
	D
++i
 	!  	X 77d?hH *+"   *

@ !" D%9= k* 1O3DoV  + w 	%97C Hs   D? ?EE