Your IP : 216.73.216.213


Current Path : /opt/alt/python35/lib/python3.5/site-packages/__pycache__/
Upload File :
Current File : //opt/alt/python35/lib/python3.5/site-packages/__pycache__/magic.cpython-35.opt-1.pyc



vu�X�$�@s*dZddlZddlZddlZddlZddlZddlZddlmZm	Z	m
Z
mZGdd�de�Z
Gdd�d�ZiZdd	�Zd
dd�Zd
d
d�ZdZejjd�pejjd�pejjd�Zereje�Zes+ejr�ddgZdddgejd�dededdgiZejjd�r�dnejZxCejeg�D]/Zyeje�ZPWq�ek
r�Yq�Xq�Wes�ejr�ed��ejZ dd�Z!dd �Z"d!d"�Z#d#d$�Z$ej%Z%e e%_&e	ge%_'ej(Z(de(_&e ge(_'ej)Z)ee)_&e ge)_'ej*Z*e	e*_&e ge*_'ej+Z,ee,_&e ege,_'e!e,_-d%d&�Z+ej.Z/ee/_&e ee
ge/_'e!e/_-d'd(�Z.ej0Z1e	e1_&e ege1_'e"e1_-d)d*�Z0ej2Z2e	e2_&e e	ge2_'ej3Z3e	e3_&e ege3_'ej4Z4e	e4_&e ege4_'dZ5d+Z6d,Z7d-Z8d.Z9d/Z:d0Z;d1Z<d2Z=d3Z>d4Z?d5Z@d6ZAd7ZBd8ZCd9ZDd:ZEd;ZFd<ZGd=ZHd>ZIdS)?aj
magic is a wrapper around the libmagic file identification library.

See README for more information.

Usage:

>>> import magic
>>> magic.from_file("testdata/test.pdf")
'PDF document, version 1.2'
>>> magic.from_file("testdata/test.pdf", mime=True)
'application/pdf'
>>> magic.from_buffer(open("testdata/test.pdf").read(1024))
'PDF document, version 1.2'
>>>


�N)�c_char_p�c_int�c_size_t�c_void_pcs"eZdZ�fdd�Z�S)�MagicExceptioncs#tt|�j|�||_dS)N)�superr�__init__�message)�selfr	)�	__class__��6/opt/alt/python35/lib/python3.5/site-packages/magic.pyrszMagicException.__init__)�__name__�
__module__�__qualname__rrr)rr
rsrc@saeZdZdZddddddd�Zdd�Zdd	�Zd
d�Zdd
�ZdS)�Magicz<
    Magic is a wrapper around the libmagic C library.

    FNcCs�t|_|r|jtO_|r3|jtO_|rH|jtO_|r]|jtO_t|j�|_tj	�|_
t|j|�dS)as
        Create a new libmagic wrapper.

        mime - if True, mimetypes are returned instead of textual descriptions
        mime_encoding - if True, codec is returned
        magic_file - use a mime database other than the system default
        keep_going - don't stop at the first match, keep going
        uncompress - Try to look inside compressed files.
        N)�
MAGIC_NONE�flags�
MAGIC_MIME�MAGIC_MIME_ENCODING�MAGIC_CONTINUE�MAGIC_COMPRESS�
magic_open�cookie�	threadingZLock�lock�
magic_load)r
�mime�
magic_fileZ
mime_encodingZ
keep_goingZ
uncompressrrr
r*s	zMagic.__init__cCsd|j�Tytt|j|��SWn2tk
rX}z|j|�SWYdd}~XnXWdQRXdS)z0
        Identify the contents of `buf`
        N)r�maybe_decode�magic_bufferrr�
_handle509Bug)r
�buf�errr
�from_bufferEs

zMagic.from_buffercCsxt|��WdQRX|j�Tytt|j|��SWn2tk
rl}z|j|�SWYdd}~XnXWdQRXdS)N)�openrrrrrr!)r
�filenamer#rrr
�	from_fileOs

zMagic.from_filecCs*|jdkr |jt@r dS|�dS)Nzapplication/octet-stream)r	rr)r
r#rrr
r!YszMagic._handle509BugcCs)|jr%tr%t|j�d|_dS)N)r�magic_close)r
rrr
�__del__bs
z
Magic.__del__)	rrr�__doc__rr$r'r!r)rrrr
r$s	

	rcCs6tj|�}|dkr2td|�}t|<|S)Nr)�
_instances�getr)r�irrr
�_get_magic_typessr.FcCst|�}|j|�S)z�"
    Accepts a filename and returns the detected filetype.  Return
    value is the mimetype if mime=True, otherwise a human readable
    name.

    >>> magic.from_file("testdata/test.pdf", mime=True)
    'application/pdf'
    )r.r')r&r�mrrr
r'ys	r'cCst|�}|j|�S)z�
    Accepts a binary string and returns the detected filetype.  Return
    value is the mimetype if mime=True, otherwise a human readable
    name.

    >>> magic.from_buffer(open("testdata/test.pdf").read(1024))
    'PDF document, version 1.2'
    )r.r$)�bufferrr/rrr
r$�s	r$�magicZmagic1z
cygmagic-1z
magic1.dllzcygmagic-1.dll�darwinz/opt/local/lib/libmagic.dylibz/usr/local/lib/libmagic.dylibz//usr/local/Cellar/libmagic/*/lib/libmagic.dylib�win32�cygwin�linuxz
libmagic.so.1z1failed to find libmagic.  Check your installationcCs3|dkr+t|d�}t|��n|SdS)Nr)�magic_errorr)�result�func�args�errrrr
�errorcheck_null�sr;cCs3|dkr+t|d�}t|��n|SdS)N�r���)r6r)r7r8r9r:rrr
�errorcheck_negative_one�sr>cCs!ttkr|S|jd�SdS)Nzutf-8)�str�bytes�decode)�srrr
r�srcCso|dkrdStjddkr2t|t�pQtjddkoQt|t�}|rg|jd�S|SdS)Nr��zutf-8)�sys�version_info�
isinstanceZunicoder?�encode)r&Z
is_unicoderrr
�coerce_filename�s
rIcCst|t|��S)N)�_magic_filerI)rr&rrr
r�srcCst||t|��S)N)�
_magic_buffer�len)rr"rrr
r �sr cCst|t|��S)N)�_magic_loadrI)rr&rrr
rsrr<rC���i� �@��iii i@i�iiiii)Jr*rEZglobZos.path�osZctypesZctypes.utilrrrrr�	Exceptionrrr+r.r'r$Zlibmagic�utilZfind_libraryZdllZCDLL�_nameZwindows_dllsZplatform_to_lib�platform�
startswithr,�OSError�ImportErrorZmagic_tr;r>rrIrZrestypeZargtypesr(r6Zmagic_errnorrJZerrcheckr rKrrMZmagic_setflagsZmagic_checkZ
magic_compilerZMAGIC_DEBUGZ
MAGIC_SYMLINKrZ
MAGIC_DEVICESrrrZMAGIC_CHECKZMAGIC_PRESERVE_ATIMEZ	MAGIC_RAWZMAGIC_ERRORZMAGIC_NO_CHECK_COMPRESSZMAGIC_NO_CHECK_TARZMAGIC_NO_CHECK_SOFTZMAGIC_NO_CHECK_APPTYPEZMAGIC_NO_CHECK_ELFZMAGIC_NO_CHECK_ASCIIZMAGIC_NO_CHECK_TROFFZMAGIC_NO_CHECK_FORTRANZMAGIC_NO_CHECK_TOKENSrrrr
�<module>s�"M6
!