
    Hwg"                        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)
gdal306gdal305gdal304gdal303gdal302gdal301gdal300gdal204gdal203gdal202posix)gdalGDALz	gdal3.6.0z	gdal3.5.0z	gdal3.4.0z	gdal3.3.0z	gdal3.2.0z	gdal3.1.0z	gdal3.0.0z	gdal2.4.0z	gdal2.3.0z	gdal2.2.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    V/var/www/horilla/myenv/lib/python3.12/site-packages/django/contrib/gis/gdal/libgdal.pystd_callr!   S   s#    
 
ww$~T{    GDALVersionInfoc                      t        d      S )z0Return only the GDAL version number information.s   RELEASE_NAME_version_info r"   r    gdal_versionr(   f   s    ))r"   c                      t        d      S )z)Return the full GDAL version information.r"   r%   r'   r"   r    gdal_full_versionr*   k   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_infor5   p   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    functionrA      s    D>DDMDLKr"   CPLSetErrorHandler)*loggingr   r,   ctypesr   r   r   r   ctypes.utilr   django.contrib.gis.gdal.errorr   django.core.exceptionsr	   	getLoggerr7   django.confr
   GDAL_LIBRARY_PATHlib_pathAttributeErrorImportErrorOSError	lib_namesr   lib_namejoinr   r   r   r!   r&   r>   r?   r(   r*   r5   GDAL_VERSIONCPLErrorHandlerr<   rA   set_error_handlerr'   r"   r    <module>rU      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  + { 	%97C Hs   D? ?EE