
    h8                        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)gdal301gdal300gdal204gdal203gdal202gdal201gdal20posix)	gdalGDALz	gdal3.1.0z	gdal3.0.0z	gdal2.4.0z	gdal2.3.0z	gdal2.2.0z	gdal2.1.0z	gdal2.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    b/var/www/html/ranktracker/api/venv/lib/python3.12/site-packages/django/contrib/gis/gdal/libgdal.pystd_callr   =   s#    
 
ww$~T{    GDALVersionInfoc                      t        d      S )z0Return only the GDAL version number information.s   RELEASE_NAME_version_info r   r   gdal_versionr%   P   s    ))r   c                      t        d      S )z)Return the full GDAL version information.r   r"   r$   r   r   gdal_full_versionr'   U   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_infor2   Z   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_handlerr9   i   s    
LL$lG<r   c                 8    t        |       }||_        ||_        |S )N)r   argtypesrestype)r   argsr<   r   s       r   functionr>   p   s    D>DDMDLKr   CPLSetErrorHandler)*loggingr   r)   ctypesr   r   r   r   ctypes.utilr   django.contrib.gis.gdal.errorr   django.core.exceptionsr	   	getLoggerr4   django.confr
   GDAL_LIBRARY_PATHlib_pathAttributeErrorImportErrorOSError	lib_namesr   lib_namejoinr   r   r   r   r#   r;   r<   r%   r'   r2   GDAL_VERSIONCPLErrorHandlerr9   r>   set_error_handlerr$   r   r   <module>rR      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  + Q 	%97C Hs   D? ?EE