a
     ÑOcý	  ã                   @   sÄ   d dl Z d dlmZmZmZmZ ddlmZmZm	Z	m
Z
mZmZ ddlmZ ddlmZ zddlmZ W n ey~   dZY n0 g d¢Zefeeee jef eed	œd
d„ZdZdZdZdZdZdS )é    N)ÚIOÚAnyStrÚUnionÚcasté   )Ú	MODE_AUTOÚMODE_FDÚ	MODE_FILEÚMODE_MEMORYÚ	MODE_MMAPÚMODE_MMAP_EXT)ÚInvalidDatabaseError)ÚReader)Ú	extension)	r   r   r   r	   r
   r   r   r   Úopen_database)ÚdatabaseÚmodeÚreturnc                 C   sp   |t tttttfvr"td|› �ƒ‚to.ttdƒ}|t kr<|n|tk}|sRt	| |ƒS |s^tdƒ‚t
t	t 	| |¡ƒS )a  Open a MaxMind DB database

    Arguments:
        database -- A path to a valid MaxMind DB file such as a GeoIP2 database
                    file, or a file descriptor in the case of MODE_FD.
        mode -- mode to open the database with. Valid mode are:
            * MODE_MMAP_EXT - use the C extension with memory map.
            * MODE_MMAP - read from memory map. Pure Python.
            * MODE_FILE - read database as standard file. Pure Python.
            * MODE_MEMORY - load database into memory. Pure Python.
            * MODE_FD - the param passed via database is a file descriptor, not
                        a path. This mode implies MODE_MEMORY.
            * MODE_AUTO - tries MODE_MMAP_EXT, MODE_MMAP, MODE_FILE in that
                          order. Default mode.
    zUnsupported open mode: r   zEMODE_MMAP_EXT requires the maxminddb.extension module to be available)r   r   r	   r
   r   r   Ú
ValueErrorÚ
_extensionÚhasattrr   r   )r   r   Zhas_extensionZuse_extension© r   úI/var/www/html/gsl.tools/lib/python3.9/site-packages/maxminddb/__init__.pyr   $   s$    ú
ÿr   Z	maxminddbz2.2.0zGregory OschwaldzApache License, Version 2.0z!Copyright 2013-2021 MaxMind, Inc.)ÚosÚtypingr   r   r   r   Úconstr   r   r	   r
   r   r   Údecoderr   Úreaderr   Ú r   r   ÚImportErrorÚ__all__ÚintÚPathLiker   Ú	__title__Ú__version__Ú
__author__Ú__license__Ú__copyright__r   r   r   r   Ú<module>   s(    
þý/