
    Dvg                        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n# eeeef$ r dZY nw xY werdZn3ej        dk    rg d	Zn#ej        d
k    rg dZn edej        z            ereD ]Z e	e          Ze ne! edd                    e          z             ee          Zej        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'           dS )    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                 V    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    \/var/www/pixelcanvas.ch/venv/lib/python3.11/site-packages/django/contrib/gis/gdal/libgdal.pystd_callr    Q   s#    
 
w$~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            |                                \  }}}t          |          t          |          |o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   sr    
..C
LcRRA NFLMMMXXZZE5(JJE

H$>X??r!   c                 >    t                               d||           d S )NzGDAL_ERROR %d: %s)loggererror)error_classerror_numbermessages      r   err_handlerr;   }   s    
LL$lG<<<<<r!   c                 @    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 3 3 3 3 3 3 3 3 3 3 $ $ $ $ $ $ 7 7 7 7 7 7 7 7 7 7 7 7		/	0	0$$$$$$)HH%97C   HHH  LIIW__
 
 
II W  II 
@27J
K
KK    <))E   

	D
++i
 
 	!   	X 7d??vhH   *++"   * * *
  
@ @ @ ! "" )D%99= = = ok**   H1O3DoVV   +     s   A
 
AA