Your IP : 216.73.216.213


Current Path : /opt/alt/python37/lib64/python3.7/site-packages/Cython/__pycache__/
Upload File :
Current File : //opt/alt/python37/lib64/python3.7/site-packages/Cython/__pycache__/Utils.cpython-37.opt-1.pyc

B

Z��ZM8�@s�ddlmZyddlmZWnek
r4eZYnXddlZddlZddlZddl	Z	ddl
Z
ddlZddlm
Z
ejjZdd�Zdd�Zd	d
�Zdd�Zd
d�Zdd�Zdd�Zdd�ZedAdd��Zedd��Zedd��Zedd��Zedd��Zd d!�Ze�d"�j Z!d#d$�Z"d%d&�Z#d'd(�Z$dBd*d+�Z%dCd,d-�Z&d.d/�Z'd0d1�Z(ed2d3��Z)e
dDd5d6��Z*d7ej+d8fd9d:�Z,Gd;d<�d<�Z-Gd=d>�d>e.�Z/d?d@�Z0dS)E�)�absolute_import)�
basestringN)�contextmanagercs$i�t�����fdd�}�|_|S)Ncs(��|��}|�kr$�|�}�|<|S)N)�get)�args�res)�cache�f�
uncomputed��?/opt/alt/python37/lib64/python3.7/site-packages/Cython/Utils.py�wrappersz cached_function.<locals>.wrapper)�objectZuncached)r	r
r)rr	r
r�cached_functions
rcsd�j���fdd�}|S)Nz
__%s_cachecsNt|�d�}|dkr$i}t|�|�||kr4||S�|f|��}||<|S)N)�getattr�setattr)�selfrrr)�
cache_namer	rrr
%szcached_method.<locals>.wrapper)�__name__)r	r
r)rr	r�
cached_method#s
	rcCstj�|�\}}||S)N)�os�path�splitext)rZnewsuf�base�_rrr�replace_suffix0srcCs&tj�|�rt�|�tj|ddd�S)N�wz
ISO-8859-1)�encoding)rr�exists�unlink�codecs�open)rrrr�
open_new_file5s
r"cCsTyt|�}Wntk
r Yn0X|�d�|��|rPt�||j|jdf�dS)NzN#error Do not use this file, it is the result of a failed Cython compilation.
�)r"�EnvironmentError�write�closer�utime�st_atime�st_mtime)r�str	rrr�
castrate_fileDsr+cCst|�}||kS)N)�modification_time)r�timeZftimerrr�file_newer_thanTsr.cCs6yt�|�Wn"tk
r0tj�|�s,�YnXdS)N)r�makedirs�OSErrorr�isdir)rrrr�
safe_makedirsYs
r2cCs^tj�|tj�|��}yt|�}Wntk
r>t|�YnXt||�sNdSt�	||�dS)z�
    Copy file sourcefile to directory destdir (creating it if needed),
    preserving metadata. If the destination file exists and is not
    older than the source file, the copying is skipped.
    N)
rr�join�basenamer,r0r2r.�shutilZcopy2)Z
sourcefileZdestdirZdestfileZdesttimerrr�copy_file_to_dir_if_neweras
r6FcCs(|r|ttj�}|rf|d}ddlm}t||�s<td��|rVtj�|j	�f|}nt
|j	�f|}|}|rv||7}|s�|�d�}	t|	dd��}
|	d}||}d|}
xv|D]n}tj�||�}t
|�r�|S|s�t||
�}|dk	r�tj�||�}t
|��r|Stj�||||
�}t
|�r�|Sq�WdS)Nr)�FileSourceDescriptorz$Only file sources for code supported�.����__init__)�tuple�sysrZCython.Compiler.Scanningr7�
isinstance�RuntimeErrorr�dirname�filename�find_root_package_dir�splitr3�path_exists�check_package_dir)�dirsZqualified_name�suffix�posZincludeZsys_pathZ	file_descr7Zdotted_filename�names�
package_namesZmodule_nameZmodule_filenameZpackage_filename�dirrZpackage_dirrrr�search_include_directoriestsD	




rKcCs0tj�|�}||kr|St|�r(t|�S|SdS)N)rrr?�is_package_dirrA)Z	file_pathrJrrrrA�srAcCs,x&|D]}tj�||�}t|�sdSqW|S)N)rrr3rL)rJrIr?rrrrD�s

rDcCs,x&dD]}tj�||�}t|�rdSqWdS)N)z__init__.pyz__init__.pycz__init__.pyxz__init__.pxdr#)rrr3rC)Zdir_pathr@rrrrrL�s
rLcCs�tj�|�rdSyft}t|dd�}|rttj�|�}|�|�rt|t|�dd�}y|�|�dSt	k
rrdSXWnt
k
r�YnXdS)NT�archiver#F)rrr�
__loader__r�normpath�
startswith�len�get_data�IOError�	NameError)r�loaderZarchive_pathrO�arcnamerrrrC�s"


rCcCsJt|t�rFy&t��}|dkr$t��}|�|�}Wntk
rDYnX|S)N)r=�bytesr<�getfilesystemencoding�getdefaultencoding�decode�UnicodeDecodeError)r@Zfilename_encodingrrr�decode_filename�s
r\zcoding[:=]\s*([-\w.]+)cCs&t|ddd�}zt|�S|��XdS)NzUTF-8�ignore)r�error_handling)�open_source_file�detect_opened_file_encodingr&)�source_filenamer	rrr�detect_file_encoding�srbcCs�|�d��d�}t|�dkr`t|d�}|r6|�d�St|�dkr`t|d�}|r\|�d�SdS|�d�g}x\td�D]P}|�d�}x$|r�|dkr�|�|�|�d�}q�Wtd�|��}|rx|�d�SqxWdS)N��
r#r�zUTF-8�)	�readrBrQ�_match_file_encoding�group�seek�range�appendr3)r	�lines�m�chars�i�crrrrr`�s*




r`cCs|�d�dkr|�d�dS)z�
    Read past a BOM at the beginning of a source file.
    This could be added to the scanner, but it's *substantially* easier
    to keep it at this level.
    r#urN)rgrj)r	rrr�skip_bomsrr�rc	Cs�|dkrNt|d|dd�}t|�}|dkrF|dkrF|�d�t|�|S|��tj�|�s�y"t}|�	|j
�rzt||||�SWntt
fk
r�YnXtj||||d�}t|�|S)NzUTF-8r])r�moder^r)rtr�errors)r_r`rjrrr&rrrrNrPrM�open_source_from_loaderrT�AttributeError�ior!)rartrr^r	rU�streamrrrr_s*

r_cCsBtj�|�}|t|j�dd�}|�|�}tjt�|�||d�S)Nr#)rru)	rrrOrQrMrRrx�
TextIOWrapper�BytesIO)rUrarr^ZnrmpathrV�datarrrrv7s
rvcCs�d}|dd�dkr$d}|dd�}t|�dkr<t|d�}n~|ddkr�|d}|dkrlt|dd�d	�}q�|d
kr�t|dd�d�}q�|dkr�t|dd�d�}q�t|d�}n
t|d�}|r�|S|S)
NFr#�-Trer�0ZxX�ZoO�ZbB)rQ�int)�valueZis_negZliteral_typerrr�
str_to_numberBs"
r�cCs,t|t�rt|�}d|ko$dknS)Ni�l)r=rr�)r�rrr�long_literal^s
r�cCszdtjkrtjdSd}tjdkrFtjdkr:tj�d�}ntj�d�}|rdtj�|�rdtj�	|d�Stj�tj�	dd	��S)
z�get the cython cache dir

    Priority:

    1. CYTHON_CACHE_DIR
    2. (OS X): ~/Library/Caches/Cython
       (posix not OS X): XDG_CACHE_HOME/cython if XDG_CACHE_HOME defined
    3. ~/.cython

    ZCYTHON_CACHE_DIRN�posix�darwinz~/Library/CachesZXDG_CACHE_HOMEZcython�~z.cython)
r�environ�namer<�platformr�
expanduserrr1r3)�parentrrr�get_cython_cache_dirds



r�rec
#s�d�}t�|�}z�t��\�}t�||�zXt�|�g���fdd�}��fdd�}ddlm}||d�}d|_|��|VWdt�||�|dk	r�|�	�XWdt�|�XdS)	Nc	s:z(x"t��d�}|r ��|�qPqWWdt���XdS)Ni�)rrgrlr&)�d)r|�pipe_inrr�copy�s
zcaptured_fd.<locals>.copycsd���}�r|���}|S)N�)r3rZ)�output)r|rrr�
get_output�s

zcaptured_fd.<locals>.get_outputr)�Thread)�targetT)
r�dup�pipe�dup2r&�	threadingr��daemon�startr3)ryr�tZorig_streamZpipe_outr�r�r�r)r|rr�r�captured_fd�s&



r��
TcCsT|��y
|j}Wntk
r*|}YnX|�|�|rD|�|�|rP|��dS)N)�flush�bufferrwr%)�s�end�filer��outrrr�print_bytes�s



r�c@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�LazyStrcCs
||_dS)N)�callback)rr�rrrr:�szLazyStr.__init__cCs|��S)N)r�)rrrr�__str__�szLazyStr.__str__cCs|��S)N)r�)rrrr�__repr__�szLazyStr.__repr__cCs|��|S)N)r�)r�rightrrr�__add__�szLazyStr.__add__cCs||��S)N)r�)r�leftrrr�__radd__�szLazyStr.__radd__N)r�
__module__�__qualname__r:r�r�r�r�rrrrr��s
r�c@s.eZdZddd�Zdd�Zdd�Zdd	�Zd
S)�
OrderedSetrcCsg|_t�|_|�|�dS)N)�_list�set�_set�update)r�elementsrrrr:�szOrderedSet.__init__cCs
t|j�S)N)�iterr�)rrrr�__iter__�szOrderedSet.__iter__cCsx|D]}|�|�qWdS)N)�add)rr��errrr��s
zOrderedSet.updatecCs&||jkr"|j�|�|j�|�dS)N)r�r�rlr�)rr�rrrr��s
zOrderedSet.addN)r)rr�r�r:r�r�r�rrrrr��s
r�cs�fdd�}|S)z6Class decorator for creating a class with a metaclass.csl|j��}|�d�}|dk	rDt|t�r,|g}x|D]}|�|�q2W|�dd�|�dd��|j|j|�S)N�	__slots__�__dict__�__weakref__)r�r�rr=�str�popr�	__bases__)�clsZ	orig_vars�slotsZ	slots_var)�	metaclassrrr
�s



zadd_metaclass.<locals>.wrapperr)r�r
r)r�r�
add_metaclass�sr�)FF)rsNN)NN)reN)1Z
__future__rZ__builtin__r�ImportErrorr�rr<�rerxr r5�
contextlibrr�getmtimer,rrrr"r+r.r2r6rKrArDrLrCr\�compile�searchrhrbr`rrr_rvr�r�r�r��stdoutr�r�rr�r�rrrr�<module>sV

.





	(