Your IP : 216.73.216.213


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



Z��ZM8�
@s_ddlmZyddlmZWnek
r>eZYnXddlZddlZddlZddl	Z	ddl
Z
ddlZddlm
Z
ejjZdd�Zdd�Zd	d
�Zdd�Zd
d�Zdd�Zdd�Zdd�Zedddd��Zedd��Zedd��Zedd��Zedd��Zd d!�Zejd"�j Z!d#d$�Z"d%d&�Z#d'd(�Z$d)ddd*d+�Z%ddd,d-�Z&d.d/�Z'd0d1�Z(ed2d3��Z)e
d4dd5d6��Z*d7ej+d8d9d:�Z,Gd;d<�d<�Z-Gd=d>�d>e.�Z/d?d@�Z0dS)A�)�absolute_import)�
basestringN)�contextmanagercs4i�t�����fdd�}�|_|S)Ncs6�j|��}|�kr2�|�}�|<|S)N)�get)�args�res)�cache�f�
uncomputed��?/opt/alt/python35/lib64/python3.5/site-packages/Cython/Utils.py�wrappersz cached_function.<locals>.wrapper)�objectZuncached)r	r
r)rr	r
r�cached_functions
		rcs&d�j���fdd�}|S)Nz
__%s_cachecsct|�d�}|dkr4i}t|�|�||krH||S�||�}||<|S)N)�getattr�setattr)�selfrrr)�
cache_namer	rrr
%szcached_method.<locals>.wrapper)�__name__)r	r
r)rr	r�
cached_method#s
	rcCs tjj|�\}}||S)N)�os�path�splitext)rZnewsuf�base�_rrr�replace_suffix0srcCs5tjj|�rtj|�tj|ddd�S)N�w�encodingz
ISO-8859-1)rr�exists�unlink�codecs�open)rrrr�
open_new_file5s
r"c
Csfyt|�}Wntk
r$Yn>X|jd�|j�|rbtj||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)rZtimeZftimerrr�file_newer_thanTsr-cCs?ytj|�Wn'tk
r:tjj|�s6�YnXdS)N)r�makedirs�OSErrorr�isdir)rrrr�
safe_makedirsYs

r1cCswtjj|tjj|��}yt|�}Wntk
rOt|�YnXt||�scdStj	||�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,r/r1r-�shutilZcopy2)Z
sourcefileZdestdir�destfileZdesttimerrr�copy_file_to_dir_if_neweras!
r6FcCs�|r|ttj�}|r�|d}ddlm}t||�sTtd��|rytjj|j	�f|}nt
|j	�f|}|}|r�||7}|s�|jd�}	t|	dd��}
|	d}||}d|}
x�|D]�}tjj||�}t
|�r |S|s�t||
�}|dk	r�tjj||�}t
|�rf|Stjj||||
�}t
|�r�|Sq�WdS)	Nr)�FileSourceDescriptorz$Only file sources for code supported�.r#�__init__���r:)�tuple�sysrZCython.Compiler.Scanningr7�
isinstance�RuntimeErrorr�dirname�filename�find_root_package_dir�splitr2�path_exists�check_package_dir)�dirsZqualified_name�suffix�pos�includeZsys_pathZ	file_descr7Zdotted_filename�names�
package_namesZmodule_nameZmodule_filenameZpackage_filename�dirrZpackage_dirrrr�search_include_directoriestsD	





	rLcCs@tjj|�}||kr"|St|�r8t|�S|SdS)N)rrr?�is_package_dirrA)Z	file_pathrKrrrrA�s
rAcCs:x3|D]+}tjj||�}t|�sdSqW|S)N)rrr2rM)rKrJr?rrrrD�s

rDcCs:x3dD]+}tjj||�}t|�rdSqWdS)N�__init__.py�__init__.pyc�__init__.pyx�__init__.pxdr#)rNrOrPrQ)rrr2rC)Zdir_pathr@rrrrrM�s
rMcCs�tjj|�rdSy�t}t|dd�}|r�tjj|�}|j|�r�|t|�dd�}y|j|�dSWnt	k
r�dSYnXWnt
k
r�YnXdS)NT�archiver#F)rrr�
__loader__r�normpath�
startswith�len�get_data�IOError�	NameError)r�loaderZarchive_pathrT�arcnamerrrrC�s"



rCcCs_t|t�r[y7tj�}|dkr6tj�}|j|�}Wntk
rZYnX|S)N)r=�bytesr<�getfilesystemencoding�getdefaultencoding�decode�UnicodeDecodeError)r@Zfilename_encodingrrr�decode_filename�s
razcoding[:=]\s*([-\w.]+)c
Cs8t|dddd�}zt|�SWd|j�XdS)NrzUTF-8�error_handling�ignore)�open_source_file�detect_opened_file_encodingr&)�source_filenamer	rrr�detect_file_encoding�srgcCs |jd�jd�}t|�dkr�t|d�}|rM|jd�St|�dkr�t|d�}|r�|jd�SdS|jd�g}x�td�D]r}|jd�}x2|r�|dkr�|j|�|jd�}q�Wtdj|��}|r�|jd�Sq�WdS)N��
r#r�zUTF-8�)	�readrBrV�_match_file_encoding�group�seek�range�appendr2)r	�lines�m�chars�i�crrrrre�s*



recCs&|jd�dkr"|jd�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)rlro)r	rrr�skip_bomsrw�rcCs�|dkrst|ddd|dd�}t|�}|dkri|dkri|jd�t|�|S|j�tjj|�s�y/t}|j	|j
�r�t||||�SWntt
fk
r�YnXtj|d|d|d|�}t|�|S)NrzUTF-8�moderbrcr�errors)rdrerorwr&rrrrSrUrR�open_source_from_loaderrY�AttributeError�ior!)rfryrrbr	rZ�streamrrrrds*



rdcCs`tjj|�}|t|j�dd�}|j|�}tjtj|�d|d|�S)Nr#rrz)	rrrTrVrRrWr}�
TextIOWrapper�BytesIO)rZrfrrbZnrmpathr[�datarrrr{7sr{cCsd}|dd�dkr2d}|dd�}t|�dkrVt|d�}n�|ddkr�|d}|dkr�t|dd�d	�}q	|d
kr�t|dd�d�}q	|dkr�t|dd�d�}q	t|d�}nt|d�}|r|S|S)
NFr#�-Trjr�0ZxX�ZoO�ZbB)rV�int)�valueZis_negZliteral_typerrr�
str_to_numberBs"
r�cCs6t|t�rt|�}d|ko2dknS)Nrj�li�l)r=rr�)r�rrr�long_literal^sr�cCs�dtjkrtjdSd}tjdkretjdkrStjjd�}ntjjd�}|r�tjj|�r�tjj	|d�Stjjtjj	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�
expanduserrr0r2)�parentrrr�get_cython_cache_dirdsr�rjc#s�d�}tj|�}z�tj�\�}tj||�zxtj|�g���fdd�}��fdd�}ddlm}|d|�}d|_|j�|VWdtj||�|dk	r�|j	�XWdtj|�XdS)	NcsIz4x-tj�d�}|r.�j|�qPqWWdtj��XdS)Ni�)rrlrqr&)�d)r��pipe_inrr�copy�s	zcaptured_fd.<locals>.copycs(dj��}�r$|j��}|S)N�)r2r_)�output)r�rrr�
get_output�szcaptured_fd.<locals>.get_outputr)�Thread�targetT)
r�dup�pipe�dup2r&Z	threadingr�Zdaemon�startr2)r~r�tZorig_streamZpipe_outr�r�r�r)r�rr�r�captured_fd�s&

	
	r�s
TcCsf|j�y
|j}Wntk
r1|}YnX|j|�|rR|j|�|rb|j�dS)N)�flush�bufferr|r%)�s�end�filer��outrrr�print_bytes�s




r�c@sLeZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�LazyStrcCs
||_dS)N)�callback)rr�rrrr9�szLazyStr.__init__cCs
|j�S)N)r�)rrrr�__str__�szLazyStr.__str__cCs
|j�S)N)r�)rrrr�__repr__�szLazyStr.__repr__cCs|j�|S)N)r�)r�rightrrr�__add__�szLazyStr.__add__cCs||j�S)N)r�)r�leftrrr�__radd__�szLazyStr.__radd__N)r�
__module__�__qualname__r9r�r�r�r�rrrrr��s
r�c@sCeZdZfdd�Zdd�Zdd�Zdd�Zd	S)
�
OrderedSetcCs&g|_t�|_|j|�dS)N)�_list�set�_set�update)r�elementsrrrr9�s	zOrderedSet.__init__cCs
t|j�S)N)�iterr�)rrrr�__iter__�szOrderedSet.__iter__cCs"x|D]}|j|�qWdS)N)�add)rr��errrr��s
zOrderedSet.updatecCs3||jkr/|jj|�|jj|�dS)N)r�r�rqr�)rr�rrrr��szOrderedSet.addN)rr�r�r9r�r�r�rrrrr��sr�cs�fdd�}|S)z6Class decorator for creating a class with a metaclass.cs�|jj�}|jd�}|dk	r`t|t�rB|g}x|D]}|j|�qIW|jdd�|jdd��|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�sr�)1Z
__future__rZ__builtin__r�ImportErrorr�rr<�rer}r r4�
contextlibrr�getmtimer,rrrr"r+r-r1r6rLrArDrMrCra�compile�searchrmrgrerwrdr{r�r�r�r��stdoutr�r�rr�r�rrrr�<module>sV

.



	(