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.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.�shutil�copy2)Z
sourcefileZdestdir�destfileZdesttimerrr�copy_file_to_dir_if_neweras
r8FcCs(|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.Scanningr9�
isinstance�RuntimeErrorr�dirname�filename�find_root_package_dir�splitr3�path_exists�check_package_dir)�dirsZqualified_name�suffix�pos�include�sys_pathZ	file_descr9Zdotted_filename�names�
package_names�module_nameZmodule_filenameZpackage_filename�dirr�package_dirrrr�search_include_directoriestsD	




rQcCs0tj�|�}||kr|St|�r(t|�S|SdS)N)rrrA�is_package_dirrC)�	file_pathrOrrrrC�srCcCs,x&|D]}tj�||�}t|�sdSqW|S)N)rrr3rR)rOrMrArrrrF�s

rFcCs,x&dD]}tj�||�}t|�rdSqWdS)N)z__init__.pyz__init__.pycz__init__.pyxz__init__.pxdr#)rrr3rE)Zdir_pathrBrrrrrR�s
rRcCs�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_pathrV�arcnamerrrrE�s"


rEcCsJt|t�rFy&t��}|dkr$t��}|�|�}Wntk
rDYnX|S)N)r?�bytesr>�getfilesystemencoding�getdefaultencoding�decode�UnicodeDecodeError)rBZfilename_encodingrrr�decode_filename�s
rczcoding[:=]\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�sricCs�|�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�)	�readrDrX�_match_file_encoding�group�seek�range�appendr3)r	�lines�m�chars�i�crrrrrg�s*




rgcCs|�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)rnrq)r	rrr�skip_bomsry�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-8rd)r�moderer)r{r�errors)rfrgrqryr&rrrrUrWrT�open_source_from_loaderr[�AttributeError�ior!)rhr{rrer	r\�streamrrrrfs*

rfcCsBtj�|�}|t|j�dd�}|�|�}tjt�|�||d�S)Nr#)rr|)	rrrVrXrTrYr�
TextIOWrapper�BytesIO)r\rhrreZnrmpathr]�datarrrr}7s
r}cCs�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#�-Trlr�0�xX�ZoO�ZbB)rX�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/Caches�XDG_CACHE_HOME�cython�~z.cython)
r�environ�namer>�platformr�
expanduserrr1r3)�parentrrr�get_cython_cache_dirds



r�rlc
#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�)rrnrsr&)�d)r��pipe_inrr�copy�s
zcaptured_fd.<locals>.copycsd���}�r|���}|S)N�)r3ra)�output)r�rrr�
get_output�s

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

r��
TcCsT|��y
|j}Wntk
r*|}YnX|�|�|rD|�|�|rP|��dS)N)�flush�bufferr~r%)�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�rsr�)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)rzNN)NN)rlN)1�
__future__rZ__builtin__r�ImportErrorr�rr>�rerr r5�
contextlibrr�getmtimer,rrrr"r+r.r2r8rQrCrFrRrErc�compile�searchrorirgryrfr}r�r�r�r��stdoutr�r�rr�r�rrrr�<module>sV

.





	(