
    _?iJ                        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)gdal311gdal310gdal309gdal308gdal307gdal306gdal305gdal304gdal303gdal302gdal301posix)gdalGDALz
gdal3.11.0z
gdal3.10.0z	gdal3.9.0z	gdal3.8.0z	gdal3.7.0z	gdal3.6.0z	gdal3.5.0z	gdal3.4.0z	gdal3.3.0z	gdal3.2.0z	gdal3.1.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    q/home/cursorai/projects/django-cronjob-utils/venv/lib/python3.12/site-packages/django/contrib/gis/gdal/libgdal.pystd_callr"   U   s#    
 
ww$~T{    GDALVersionInfoc                      t        d      S )z0Return only the GDAL version number information.s   RELEASE_NAME_version_info r#   r!   gdal_versionr)   h   s    ))r#   c                      t        d      S )z)Return the full GDAL version information.r#   r&   r(   r#   r!   gdal_full_versionr+   m   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_infor6   r   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!   functionrB      s    D>DDMDLKr#   CPLSetErrorHandler)*loggingr   r-   ctypesr   r   r   r   ctypes.utilr   django.contrib.gis.gdal.errorr   django.core.exceptionsr	   	getLoggerr8   django.confr
   GDAL_LIBRARY_PATHlib_pathAttributeErrorImportErrorOSError	lib_namesr   lib_namejoinr   r   r   r"   r'   r?   r@   r)   r+   r6   GDAL_VERSIONCPLErrorHandlerr=   rB   set_error_handlerr(   r#   r!   <module>rV      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