B
    ¥0H[  ã               @   s  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  d¡Zyd dlmZ ejZW n  eeeefk
r”   dZY nX er dZnJejdkr¼d	d
ddddgZn.ejdkrÜddddddddgZnedej ƒ‚e�rxeD ]Ze	eƒZedk	röP qöW edk�r,edd e¡ ƒ‚eeƒZejdk�rTd dlmZ eeƒZdd„ ZedƒZege_ ee_!dd „ Z"d!d"„ Z#e $d#¡Z%d$d%„ Z&e&ƒ Z'e(e'd& ƒZ)e(e'd' ƒZ*e'd( �oÆe(e'd( ƒZ+e)e*e+fZ,['edeeeƒZ-d)d*„ Z.e-e.ƒZ.d+d,„ Z/e/d-e-ge-ƒZ0e0e.ƒ dS ).é    N)ÚCDLLÚ	CFUNCTYPEÚc_char_pÚc_int)Úfind_library)ÚGDALException)ÚImproperlyConfiguredzdjango.contrib.gis)ÚsettingsÚntZgdal202Zgdal201Zgdal20Zgdal111Zgdal110Zgdal19ÚposixZgdalZGDALz	gdal2.2.0z	gdal2.1.0z	gdal2.0.0z
gdal1.11.0z
gdal1.10.0z	gdal1.9.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             C   s   t jdkrt|  S t|  S dS )z^
    Return the correct STDCALL function for certain OSR routines on Win32
    platforms.
    r
   N)ÚosÚnameÚlwingdalÚlgdal)Úfunc© r   úcC:\Users\HIRONO~1\AppData\Local\Temp\pip-install-6bm3nxem\django\django\contrib\gis\gdal\libgdal.pyÚstd_call:   s    
r   ZGDALVersionInfoc               C   s   t dƒS )z0Return only the GDAL version number information.s   RELEASE_NAME)Ú_version_infor   r   r   r   Úgdal_versionM   s    r   c               C   s   t dƒS )z)Return the full GDAL version information.Ú )r   r   r   r   r   Úgdal_full_versionR   s    r   z5^(?P<major>\d+)\.(?P<minor>\d+)(\.(?P<subminor>\d+))?c                 s6   t ƒ  ¡ } t | ¡‰ ˆ s$td|  ƒ‚‡ fdd„dD ƒS )Nz(Could not parse GDAL version string "%s"c                s   i | ]}ˆ   |¡|“qS r   )Úgroup)Ú.0Úkey)Úmr   r   ú
<dictcomp>_   s    z%gdal_version_info.<locals>.<dictcomp>)ÚmajorÚminorÚsubminor)r   ÚdecodeÚversion_regexÚmatchr   )Úverr   )r   r   Úgdal_version_infoZ   s
    

r%   r   r   r    c             C   s   t  d||¡ d S )NzGDAL_ERROR %d: %s)ÚloggerÚerror)Zerror_classZerror_numberÚmessager   r   r   Úerr_handlerm   s    r)   c             C   s   t | ƒ}||_||_|S )N)r   ÚargtypesÚrestype)r   Úargsr+   r   r   r   r   Úfunctiont   s    r-   ZCPLSetErrorHandler)1Úloggingr   ÚreÚctypesr   r   r   r   Úctypes.utilr   Zdjango.contrib.gis.gdal.errorr   Zdjango.core.exceptionsr   Ú	getLoggerr&   Zdjango.confr	   ZGDAL_LIBRARY_PATHZlib_pathÚAttributeErrorÚEnvironmentErrorÚImportErrorZ	lib_namesr   Zlib_nameÚjoinr   r   r   r   r   r*   r+   r   r   Úcompiler"   r%   Z_verinfoÚintZGDAL_MAJOR_VERSIONZGDAL_MINOR_VERSIONZGDAL_SUBMINOR_VERSIONZGDAL_VERSIONZCPLErrorHandlerr)   r-   Zset_error_handlerr   r   r   r   Ú<module>   sj   








