관리-도구
편집 파일: magic.cpython-39.pyc
a ���� @ f�"����������������������@���s���d�Z�ddlZddlZddlmZ�ddlT�ddlmZ�dd��Zi�Ze��ed<�d�Z Z d �ZZd �Z Zd�ZZd�ZZd �ZZd�ZZd�ZZd�ZZd�ZZd�ZZd�ZZ d�Z!Z"d�Z#Z$d�Z%Z&d�Z'Z(d�Z)Z*d�Z+Z,d�Z-Z.d�Z/Z0d�Z1Z2d�Z3Z4d�Z5Z6d�Z7Z8ed d!�Z9G�d"d#��d#e:�Z;g�e;_<e=e;�Z>ed�j?Z@e>e@_AeBge@_Ced�jDZEdeE_Ae>geE_Ced�jFZGeHeG_Ae>eHgeG_Ced�jIZJeHeJ_Ae>eBgeJ_Ced�jKZLeHeL_Ae>eMeNgeL_Ced�jOZPeHeP_Ae>geP_Ced�jQZReBeR_Ae>eBgeR_Ced�jSZTeBeT_Ae>eHgeT_Ced�jUZVeBeV_Ae>eHgeV_Ced�jWZXeBeX_Ae>eHgeX_Ced�jYZZeBeZ_Ae>eHgeZ_Ced�j[Z\eBe\_Ae>ge\_CG�d$d%��d%e]�Z^d&d'��Z_G�d(d)��d)e]�Z`e�a��Zbd*d+��Zcd,d-��Zdd.d/��Zed0d1��Zfd2d3��ZgdS�)4z Python bindings for libmagic �����N)� namedtuple)�*)�find_libraryc�������������������C���s���t�j�td��S�)zc Loads the shared library through ctypes and returns a library L{ctypes.CDLL} instance �magic)�ctypesZcdllZLoadLibraryr�����r���r����)/usr/lib/python3.9/site-packages/magic.py�_init���s����r ���r������������������������ ����@�����������i���i���i��i���i���i� ��i�@��i����i���i���i���i���i�� �i��?�� FileMagic)� mime_type�encoding�namec�������������������@���s���e�Zd�ZdS�)� magic_setN)�__name__� __module__�__qualname__r���r���r���r���r���9���s���r���c�������������������@���s����e�Zd�Zdd��Zdd��Zedd���Zedd���Zd d ��Zdd��Z d d��Z dd��Zdd��Zddd�Z dd��Zdd��Zdd��Zdd��ZdS�)�Magicc�����������������C���s ���||�_�d�S��N)�_magic_t)�self�msr���r���r����__init__p���s����zMagic.__init__c�����������������C���s���t�|�j��dS�)zO Closes the magic database and deallocates any resources used. N)�_closer����r���r���r���r����closes���s����zMagic.closec�����������������C���sF���|�d�u�rd�S�t�|�t�r|�S�zt|�d�W�S��ty@���t|���Y�S�0�d�S��Nzutf-8)� isinstance�str� TypeError)�sr���r���r���Z__tostry���s���� z Magic.__tostrc�����������������C���sF���|�d�u�rd�S�t�|�t�r|�S�zt|�d�W�S��ty@���t|���Y�S�0�d�S�r$���)r%����bytesr'���)�br���r���r���Z __tobytes����s���� zMagic.__tobytesc�����������������C���s���t��t|�jt��|���S�)z� Returns a textual description of the contents of the argument passed as a filename or None if an error occurred and the MAGIC_ERROR flag is set. A call to errno() will return the numeric error code. )r���� _Magic__tostr�_filer����_Magic__tobytes�r����filenamer���r���r����file����s����z Magic.filec�����������������C���s���t��t|�j|��S�)z� Returns a textual description of the contents of the argument passed as a file descriptor or None if an error occurred and the MAGIC_ERROR flag is set. A call to errno() will return the numeric error code. )r���r+����_descriptorr���)r����fdr���r���r���� descriptor����s����zMagic.descriptorc�����������������C���s���t��t|�j|t|���S�)z� Returns a textual description of the contents of the argument passed as a buffer or None if an error occurred and the MAGIC_ERROR flag is set. A call to errno() will return the numeric error code. )r���r+����_bufferr����len)r����bufr���r���r����buffer����s����zMagic.bufferc�����������������C���s���t��t|�j��S�)zh Returns a textual explanation of the last error or None if there was no error. )r���r+����_errorr���r"���r���r���r����error����s����zMagic.errorc�����������������C���s���t�|�j|�S�)a*�� Set flags on the magic object which determine how magic checking behaves; a bitwise OR of the flags described in libmagic(3), but without the MAGIC_ prefix. Returns -1 on systems that don't support utime(2) or utimes(2) when PRESERVE_ATIME is set. )� _setflagsr���)r����flagsr���r���r����setflags����s���� zMagic.setflagsNc�����������������C���s���t�|�jt�|��S�)a �� Must be called to load entries in the colon separated list of database files passed as argument or the default database file if no argument before any magic queries can be performed. Returns 0 on success and -1 on failure. )�_loadr���r���r-���r.���r���r���r����load����s����z Magic.loadc�����������������C���s���t�|�jt�|��S�)aD�� Compile entries in the colon separated list of database files passed as argument or the default database file if no argument. The compiled files created are named from the basename(1) of each file argument with ".mgc" appended to it. Returns 0 on success and -1 on failure. )�_compiler���r���r-����r���Zdbsr���r���r����compile����s���� z Magic.compilec�����������������C���s���t�|�jt�|��S��z� Check the validity of entries in the colon separated list of database files passed as argument or the default database file if no argument. Returns 0 on success and -1 on failure. )�_checkr���r���r-���r@���r���r���r����check����s����zMagic.checkc�����������������C���s���t�|�jt�|��S�rB���)�_listr���r���r-���r@���r���r���r����list����s����z Magic.listc�����������������C���s ���t�|�j�S�)a�� Returns a numeric error code. If return value is 0, an internal magic error occurred. If return value is non-zero, the value is an OS error code. Use the errno module or os.strerror() can be used to provide detailed error information. )�_errnor���r"���r���r���r����errno����s����zMagic.errno)N)r���r���r���r ���r#����staticmethodr+���r-���r0���r3���r7���r9���r<���r>���rA���rD���rF���rH���r���r���r���r���r���o���s ��� r���c�����������������C���s���t�t|���S�)zd Returns a magic object on success and None on failure. Flags argument as for setflags. )r����_open)r;���r���r���r����open����s����rK���c�������������������@���s���e�Zd�Zdd��Zdd��ZdS�)�MagicDetectc�����������������C���s4���t�tt��|�_|�j����t�tt��|�_|�j����d�S�r���)r���rJ���� MAGIC_MIME� mime_magicr>���� MAGIC_NONE� none_magicr"���r���r���r���r �������s���� zMagicDetect.__init__c�����������������C���s���|�j�����|�j����d�S�r���)rN���r#���rP���r"���r���r���r����__del__����s���� zMagicDetect.__del__N)r���r���r���r ���rQ���r���r���r���r���rL�������s���rL���c������������������C���s*���t�tdd��}�|�d�u�r&t��}�ttd|���|�S�)NZmagic_instance)�getattr�threadlocalrL����setattr)�vr���r���r����_detect_make��s ����rV���c�����������������C���sD���z|���d�\}}W�n�ty,���t|���Y�n0�t|||�dd�d�S�)Nz; zcharset=��)r���r���r���)�split� ValueErrorr����replace)Z mime_detectedZ type_detectedr���Z mime_encodingr���r���r����_create_filemagic ��s���� �r[���c�����������������C���s ���t���}t|j�|��|j�|���S�)zdDetect mime type, encoding and file type from a filename Returns a `FileMagic` namedtuple. )rV���r[���rN���r0���rP���)r/����xr���r���r����detect_from_filename��s���� �r]���c�����������������C���s(���|�����}t��}t|j�|�|j�|��S�)zjDetect mime type, encoding and file type from file-like object Returns a `FileMagic` namedtuple. )�filenorV���r[���rN���r3���rP���)ZfobjZfile_descriptorr\���r���r���r����detect_from_fobj��s ���� �r_���c�����������������C���s ���t���}t|j�|��|j�|���S�)z_Detect mime type, encoding and file type from bytes Returns a `FileMagic` namedtuple. )rV���r[���rN���r7���rP���)Zbyte_contentr\���r���r���r����detect_from_content)��s���� �r`���)h�__doc__r���� threading�collectionsr���Zctypes.utilr���r ���Z _librariesrO���ZNONEZMAGIC_DEBUG�DEBUGZ MAGIC_SYMLINKZSYMLINKZMAGIC_COMPRESSZCOMPRESSZ MAGIC_DEVICESZDEVICESZMAGIC_MIME_TYPEZ MIME_TYPEZMAGIC_CONTINUEZCONTINUEZMAGIC_CHECKZCHECKZMAGIC_PRESERVE_ATIMEZPRESERVE_ATIMEZ MAGIC_RAWZRAWZMAGIC_ERRORZERRORZMAGIC_MIME_ENCODINGZ MIME_ENCODINGrM���ZMIMEZMAGIC_APPLEZAPPLEZMAGIC_NO_CHECK_COMPRESSZNO_CHECK_COMPRESSZMAGIC_NO_CHECK_TARZNO_CHECK_TARZMAGIC_NO_CHECK_SOFTZ NO_CHECK_SOFTZMAGIC_NO_CHECK_APPTYPEZNO_CHECK_APPTYPEZMAGIC_NO_CHECK_ELFZNO_CHECK_ELFZMAGIC_NO_CHECK_TEXTZ NO_CHECK_TEXTZMAGIC_NO_CHECK_CDFZNO_CHECK_CDFZMAGIC_NO_CHECK_TOKENSZNO_CHECK_TOKENSZMAGIC_NO_CHECK_ENCODINGZNO_CHECK_ENCODINGZMAGIC_NO_CHECK_BUILTINZNO_CHECK_BUILTINr���Z Structurer���Z_fields_ZPOINTERZmagic_tZ magic_openrJ���ZrestypeZc_int�argtypesZmagic_closer!���Z magic_filer,���Zc_char_pZmagic_descriptorr1���Zmagic_bufferr4���Zc_void_pZc_size_tZmagic_errorr8���Zmagic_setflagsr:���Z magic_loadr=���Z magic_compiler?���Zmagic_checkrC���Z magic_listrE���Zmagic_errnorG����objectr���rK���rL����localrS���rV���r[���r]���r_���r`���r���r���r���r����<module>���s���� }