Edit File: shutil.cpython-36.opt-2.pyc
3 � \\����������������A���@���s���d�dl�Z�d�dlZd�dlZd�dlZd�dlZd�dlZyd�dlZ[dZW�n�ek rZ���dZY�nX�yd�dl Z [ dZ W�n�ek r����dZ Y�nX�yd�dlZ[dZW�n�ek r����dZY�nX�yd�dl mZ�W�n�ek r����dZY�nX�yd�dlmZ�W�n�ek �r���dZY�nX�dddd d ddd dddddddddddddddddgZG�dd��de�ZG�d d��de�ZG�d!d��de�ZG�d"d��de�ZG�d#d$��d$e�ZG�d%d&��d&e�Zd�d)d�Zd*d+��Zdd,�d-d�Zdd,�d.d�Zee�d/��r�dd,�d0d1�Znd2d1��Zdd,�d3d �Z dd,�d4d �Z!dd,�d5d�Z"d6d��Z#dde"dfd7d�Z$d8d9��Z%d:d;��Z&e�j'e�je�j(e�j)he�j*k�oze�j+e�j,k�oze�je�j-kZ.d�d<d�Z/e.e/_0d=d>��Z1e"fd?d �Z2d@dA��Z3dBdC��Z4dDdE��Z5d�dGdH�Z6d�dIdJ�Z7dKe6d�gdMfiZ8e�r�e6d�gdNfe8dO<�e7g�dPfe8dQ<�e �re6d�gdSfe8dT<�e�r,e6d�gdVfe8dW<�dXd��Z9d�dZd�Z:d[d��Z;d�d\d�Z<d]d��Z=d^d_��Z>d�d`d�Z?dad��Z@dbdc��ZAddde��ZBdfdg��ZCdhgeCg�dMfdigeBg�dPfdj�ZDe�r�dkdlgeCg�dNfeDdO<�e �r�dmdngeCg�dSfeDdT<�e�r�dodpgeCg�dVfeDdW<�dqdr��ZEd�dsd�ZFee�dt��rLejGdu��ejHdvdw�ZIdxeIjJ_KdyeIjL_KdzeIjM_Kd{du��ZNn2e�jOd|k�r~d�dlPZPejGdu��ejHdvdw�ZId}du��ZNd�d~d�ZQd�d�d�ZRe�jSe�jTB�dfd�d�ZUdS�)������NTF)�getpwnam)�getgrnam�copyfileobj�copyfile�copymode�copystat�copy�copy2�copytree�move�rmtree�Error�SpecialFileError� ExecError�make_archive�get_archive_formats�register_archive_format�unregister_archive_format�get_unpack_formats�register_unpack_format�unregister_unpack_format�unpack_archive�ignore_patterns�chown�which�get_terminal_size� SameFileErrorc���������������@���s���e�Zd�ZdS�)r ���N)�__name__� __module__�__qualname__��r ���r ����/usr/lib64/python3.6/shutil.pyr ���7���s���c���������������@���s���e�Zd�ZdS�)r���N)r���r���r���r ���r ���r ���r!���r���:���s���c���������������@���s���e�Zd�ZdS�)r���N)r���r���r���r ���r ���r ���r!���r���=���s���c���������������@���s���e�Zd�ZdS�)r���N)r���r���r���r ���r ���r ���r!���r���A���s���c���������������@���s���e�Zd�ZdS�)� ReadErrorN)r���r���r���r ���r ���r ���r!���r"���D���s���r"���c���������������@���s���e�Zd�ZdS�)� RegistryErrorN)r���r���r���r ���r ���r ���r!���r#���G���s���r#�������i���c�������������C���s$���x|�j�|�}|sP�|j|��qW�d�S�)N)�read�write)�fsrc�fdstZlengthZbufr ���r ���r!���r���L���s ���� c�������������C���sX���t�tjd�r0ytjj|�|�S��tk r.���dS�X�tjjtjj|���tjjtjj|��kS�)N�samefileF)�hasattr�os�pathr)����OSError�normcase�abspath)�src�dstr ���r ���r!���� _samefileT���s����r2���)�follow_symlinksc������������C���s����t�|�|�rtdj|�|���xL|�|gD�]@}ytj|�}W�n�tk rJ���Y�q$X�tj|j�r$td|���q$W�|�r�tj j |��r�tjtj|��|��n6t |�d��&}t |d��}t||��W�d�Q�R�X�W�d�Q�R�X�|S�)Nz{!r} and {!r} are the same filez`%s` is a named pipe�rb�wb)r2���r����formatr+����statr-����S_ISFIFO�st_moder���r,����islink�symlink�readlink�openr���)r0���r1���r3����fn�str'���r(���r ���r ���r!���r���`���s���� c������������C���sz���|�r>t�jj|��r>t�jj|�r>tt�d�r8t�jt�j�}}q\d�S�ntt�d�rXt�jt�j�}}nd�S�||��}||tj|j ���d�S�)N�lchmod�chmod) r+���r,���r:���r*����lstatr@���r7���rA����S_IMODEr9���)r0���r1���r3���Z stat_funcZ chmod_funcr?���r ���r ���r!���r���}���s���� � listxattrc������������C���s����yt�j|�|d�}W�n4�tk rF�}�z|jtjtjfkr8��d�S�d�}~X�nX�xn|D�]f}y&t�j|�||d�}t�j||||d��W�qN�tk r��}�z|jtjtjtjfkr���W�Y�d�d�}~X�qNX�qNW�d�S�)N)r3���) r+���rD���r-����errno�ENOTSUPZENODATA�getxattr�setxattrZEPERM)r0���r1���r3����names�e�name�valuer ���r ���r!���� _copyxattr����s���� rM���c��������������O���s���d�S�)Nr ���)�args�kwargsr ���r ���r!���rM�������s����c������ ���������s6��d�d�d�dd���|p,t�jj|��o*t�jj|��}|r@��fdd�}n��fdd�}|d�|�|d�}tj|j�}|d �||j|jf|d��y|d �|||d��W�n�tk r����Y�nX�t |d��r$y|d�||j |d��W�nP�tk �r"�}�z2x*dD�] }t t|�r�|jt t|�kr�P�q�W���W�Y�d�d�}~X�nX�t|�||d��d�S�)N)�nsr3���c�������������W���s���d�S�)Nr ���)rP���r3���rN���r ���r ���r!����_nop����s����zcopystat.<locals>._nopc����������������s���t�t|����S�)N)�getattrr+���)rK���)rQ���r ���r!����lookup����s����zcopystat.<locals>.lookupc����������������s���t�t|����}|tjkr|S���S�)N)rR���r+����supports_follow_symlinks)rK���r>���)rQ���r ���r!���rS�������s���� r7���)r3����utimerA����st_flagsZchflags� EOPNOTSUPPrF���)rW���rF���)r+���r,���r:���r7���rC���r9����st_atime_ns�st_mtime_ns�NotImplementedErrorr*���rV���r-���rE���rR���rM���) r0���r1���r3���ZfollowrS���r?����mode�why�errr ���)rQ���r!���r�������s,���� c������������C���sB���t�jj|�r"t�jj|t�jj|���}t|�||d��t|�||d��|S�)N)r3���)r+���r,����isdir�join�basenamer���r���)r0���r1���r3���r ���r ���r!���r�������s ����c������������C���sB���t�jj|�r"t�jj|t�jj|���}t|�||d��t|�||d��|S�)N)r3���)r+���r,���r^���r_���r`���r���r���)r0���r1���r3���r ���r ���r!���r �������s ����c�����������������s�����fdd�}|S�)Nc����������������s,���g�}x��D�]}|j�tj||���q W�t|�S�)N)�extend�fnmatch�filter�set)r,���rI���� ignored_names�pattern)�patternsr ���r!����_ignore_patterns��s���� z)ignore_patterns.<locals>._ignore_patternsr ���)rg���rh���r ���)rg���r!���r�����s����c�������������C���s���t�j|��}|d�k r||�|�}nt��}t�j|��g�}�xB|D��]8} | |krJq:t�jj|�| �} t�jj|| �}y�t�jj| �r�t�j| �}|r�t�j||��t | ||�d��n<t�jj |��r�|r�w:t�jj| �r�t| ||||��n || |��n(t�jj| �r�t| ||||��n || |��W�q:�t k �r<�} �z|j| jd���W�Y�d�d�} ~ X�q:�tk �rr�}�z|j| |t|�f��W�Y�d�d�}~X�q:X�q:W�yt |�|��W�nJ�tk �r��}�z,t|dd��d�k�r�|j|�|t|�f��W�Y�d�d�}~X�nX�|�r�t |��|S�)N)r3���r���Zwinerror)r+����listdirrd����makedirsr,���r_���r:���r<���r;���r����existsr^���r ���r ���ra���rN���r-����append�strrR���)r0���r1����symlinks�ignore� copy_functionZignore_dangling_symlinksrI���re����errorsrK���ZsrcnameZdstname�linktor]���r\���r ���r ���r!���r �����sL����$ *&c����������$���C���sL��yt�jj|��rtd��W�n(�tk r@���|t�jj|�tj����d�S�X�g�}yt�j|��}W�n&�tk rz���|t�j|�tj����Y�nX�x�|D�]�}t�jj|�|�}yt�j|�j }W�n�tk r����d}Y�nX�t j|�r�t||��q�yt�j |��W�q��tk �r ���|t�j |tj����Y�q�X�q�W�yt�j|���W�n(�tk �rF���|t�j|�tj����Y�nX�d�S�)Nz%Cannot call rmtree on a symbolic linkr���)r+���r,���r:���r-����sys�exc_infori���r_���rB���r9���r7����S_ISDIR�_rmtree_unsafe�unlink�rmdir)r,����onerrorrI���rK����fullnamer[���r ���r ���r!���rv���q��s6���� rv���c������� ���0���C���s���g�}yt�j|��}W�n:�tk rL�}�z||_|t�j|tj����W�Y�d�d�}~X�nX��x�|D��]x}t�jj||�}yt�j||�dd�}|j }W�n�tk r����d}Y�nX�tj |��r�yt�j|t�j|�d�} W�n&�tk r����|t�j|tj����Y�n�X�z�t�jj |t�j| ���rJt| ||��yt�j||�d��W�n(�tk �rF���|t�j|tj����Y�nX�n8ytd��W�n*�tk �r����|t�jj|tj����Y�nX�W�d�t�j| ��X�qVyt�j||�d��W�qV�tk �r����|t�j|tj����Y�qVX�qVW�d�S�)NF)�dir_fdr3���r���)r{���z%Cannot call rmtree on a symbolic link)r+���ri���r-����filenamers���rt���r,���r_���r7���r9���ru���r=����O_RDONLY�samestat�fstat�_rmtree_safe_fdrx���r:����closerw���) �topfdr,���ry���rI���r]���rK���rz����orig_str[����dirfdr ���r ���r!���r�������sD����$ r����c����������!���C���s^��|rdd��}n|d�krdd��}t��rPt|�t�r8tj|��}�ytj|��}W�n&�tk rl���|tj|�tj����d�S�X�ytj |�tj �}W�n&�tk r����|tj|�tj����d�S�X�z�tjj|tj |���rt||�|��ytj|���W�n(�tk �r���|tj|�tj����Y�nX�n8ytd��W�n*�tk �r<���|tjj|�tj����Y�nX�W�d�tj|��X�n t|�|�S�d�S�)Nc��������������W���s���d�S�)Nr ���)rN���r ���r ���r!���ry������s����zrmtree.<locals>.onerrorc��������������W���s�����d�S�)Nr ���)rN���r ���r ���r!���ry������s����z%Cannot call rmtree on a symbolic link)�_use_fd_functions� isinstance�bytesr+����fsdecoderB���� Exceptionrs���rt���r=���r}���r,���r~���r���r����rx���r-���r:���r����rv���)r,���� ignore_errorsry���r�����fdr ���r ���r!���r������s<���� c�������������C���s&���t�jjt�jjpd�}t�jj|�j|��S�)N��)r+���r,����sep�altsepr`����rstrip)r,���r����r ���r ���r!���� _basename���s����r����c�������������C���s���|}t�jj|�rTt|�|�r*t�j|�|��d�S�t�jj|t|���}t�jj|�rTtd|���yt�j|�|��W�n��t k r����t�jj |��r�t�j|��}t�j||��t�j |���nTt�jj|��r�t|�|�r�td|�|f���t|�||dd��t|���n||�|��t�j |���Y�nX�|S�)Nz$Destination path '%s' already existsz.Cannot move a directory '%s' into itself '%s'.T)rp���rn���)r+���r,���r^���r2����renamer_���r����rk���r ���r-���r:���r<���r;���rw���� _destinsrcr ���r���)r0���r1���rp���Zreal_dstrr���r ���r ���r!���r������s2���� c�������������C���sV���t�jj|��}�t�jj|�}|�jt�jj�s2|�t�jj7�}�|jt�jj�sL|t�jj7�}|j|��S�)N)r+���r,���r/����endswithr����� startswith)r0���r1���r ���r ���r!���r����8��s����r����c�������������C���sN���t�d�ks|�d�krd�S�yt�|��}W�n�tk r8���d�}Y�nX�|d�k rJ|d�S�d�S�)N����)r����KeyError)rK����resultr ���r ���r!����_get_gidA��s���� r����c�������������C���sN���t�d�ks|�d�krd�S�yt�|��}W�n�tk r8���d�}Y�nX�|d�k rJ|d�S�d�S�)Nr����)r���r����)rK���r����r ���r ���r!����_get_uidM��s���� r�����gzipc���������� ������s"��|d�krd}nDt�r |dkr d}n2tr2|dkr2d}n trD|dkrDd}ntdj|���dd�l} |rfd |�nd} |�d �| �}tjj|�}|r�tjj |��r�|d�k r�|j d|��|s�tj|��|d�k r�|j d��t���t ���������fd d�} |�s| j|d|��}z|j|| d��W�d�|j���X�|S�)Nr����r����Zgz�bzip2�bz2�xzzCbad value for 'compress', or compression format not supported : {0}r����.z.tarzcreating %szCreating tar archivec����������������s,�����d�k r��|�_��|�_�d�k r(�|�_�|�_|�S�)N)�gidZgname�uid�uname)Ztarinfo)r�����group�ownerr����r ���r!����_set_uid_gid���s����z#_make_tarball.<locals>._set_uid_gidzw|%s)rc���)�_ZLIB_SUPPORTED�_BZ2_SUPPORTED�_LZMA_SUPPORTED� ValueErrorr6����tarfiler+���r,����dirnamerk����inforj���r����r����r=����addr����)� base_name�base_dir�compress�verbose�dry_runr����r�����loggerZtar_compressionr����Zcompress_extZarchive_name�archive_dirr�����tarr ���)r����r����r����r����r!���� _make_tarballY��s<���� r����c���������� ���C���s|��dd�l�}|�d�}tjj|��}|rPtjj|��rP|d�k rB|jd|��|sPtj|��|d�k rf|jd||��|�sx|j|d|jd���}tjj |�} | tj kr�|j| | ��|d�k r�|jd| ��x�tj|�D�]�\} }}xFt |�D�]:} tjj tjj| | ��} |j| | ��|d�k r�|jd| ��q�W�xT|D�]L} tjj tjj| | ��} tjj| ��r|j| | ��|d�k �r|jd| ���qW�q�W�W�d�Q�R�X�|S�)Nr���z.zipzcreating %sz#creating '%s' and adding '%s' to it�w)Zcompressionzadding '%s')�zipfiler+���r,���r����rk���r����rj����ZipFileZZIP_DEFLATED�normpath�curdirr&����walk�sortedr_����isfile)r����r����r����r����r����r����Zzip_filenamer����Zzfr,����dirpathZdirnames� filenamesrK���r ���r ���r!���� _make_zipfile���s@���� r����r����r����zuncompressed tar filezgzip'ed tar-fileZgztarzZIP file�zipr����zbzip2'ed tar-fileZbztarr����zxz'ed tar-fileZxztarc��������������C���s���dd��t�j��D��}�|�j���|�S�)Nc�������������S���s���g�|�]\}}||d��f�qS�)r����r ���)�.0rK����registryr ���r ���r!���� <listcomp>���s����z'get_archive_formats.<locals>.<listcomp>)�_ARCHIVE_FORMATS�items�sort)�formatsr ���r ���r!���r������s����r����c�������������C���sz���|d�krg�}t�|�s td|���t|ttf�s6td��x0|D�](}t|ttf��s\t|�dkr<td��q<W�|||ft|�<�d�S�)NzThe %s object is not callablez!extra_args needs to be a sequencer����z+extra_args elements are : (arg_name, value))�callable� TypeErrorr�����tuple�list�lenr����)rK����function� extra_args�description�elementr ���r ���r!���r������s���� c�������������C���s ���t�|�=�d�S�)N)r����)rK���r ���r ���r!���r������s����c �������������C���s��t�j��} |d�k r>|d�k r$|jd|��t�jj|��}�|s>t�j|��|d�krLt�j}||d�} yt|�}W�n �tk r����t d|���Y�nX�|d�}x|d�D�]\} }|| | <�q�W�|dkr�|| d<�|| d<�z||�|f| �}W�d�|d�k r�|d�k r�|jd | ��t�j| ��X�|S�) Nzchanging into '%s')r����r����zunknown archive format '%s'r�������r����r����r����zchanging back to '%s') r+����getcwd�debugr,���r/����chdirr����r����r����r����)r����r6���Zroot_dirr����r����r����r����r����r����Zsave_cwdrO����format_info�func�arg�valr|���r ���r ���r!���r������s6���� c��������������C���s���dd��t�j��D��}�|�j���|�S�)Nc�������������S���s"���g�|�]\}}||d��|d�f�qS�)r�������r ���)r����rK���r����r ���r ���r!���r����6��s����z&get_unpack_formats.<locals>.<listcomp>)�_UNPACK_FORMATSr����r����)r����r ���r ���r!���r���0��s����c������� ������C���sv���i�}x.t�j��D�]"\}}x|d�D�]}|||<�q W�qW�x,|�D�]$}||kr:d}t||||�f���q:W�t|�srtd��d�S�)Nr���z!%s is already registered for "%s"z*The registered function must be a callable)r����r����r#���r����r����) � extensionsr����r����Zexisting_extensionsrK���r�����ext� extension�msgr ���r ���r!����_check_unpack_options;��s���� r����c�������������C���s,���|d�krg�}t�|||��||||ft|�<�d�S�)N)r����r����)rK���r����r����r����r����r ���r ���r!���r���M��s����c�������������C���s ���t�|�=�d�S�)N)r����)rK���r ���r ���r!���r���c��s����c�������������C���s&���t�jj|��}t�jj|�s"t�j|��d�S�)N)r+���r,���r����r^���rj���)r,���r����r ���r ���r!����_ensure_directoryg��s����r����c������� ������C���s����dd�l�}|j|��std|����|j|��}z�x�|j��D�]�}|j}|jd�s4d|krRq4tjj |f|j d����}|spq4t|��|jd�s4|j |j�}t|d�}z|j|��W�d�|j���~X�q4W�W�d�|j���X�d�S�)Nr���z%s is not a zip file�/z..r5���)r����Z is_zipfiler"���r����Zinfolistr|���r����r+���r,���r_����splitr����r����r%���r=���r&���r����) r|����extract_dirr����r����r����rK����target�data�fr ���r ���r!����_unpack_zipfilem��s*���� r����c�������������C���sX���dd�l�}y|j|��}W�n"�|jk r8���td|����Y�nX�z|j|��W�d�|j���X�d�S�)Nr���z/%s is not a compressed or uncompressed tar file)r����r=���ZTarErrorr"���Z extractallr����)r|���r����r����Ztarobjr ���r ���r!����_unpack_tarfile���s����r����z.tarz.zip)r����r����z.tar.gzz.tgzz.tar.bz2z.tbz2z.tar.xzz.txzc�������������C���s:���x4t�j��D�](\}}x|d�D�]}|�j|�r|S�qW�q W�d�S�)Nr���)r����r����r����)r|���rK���r����r����r ���r ���r!����_find_unpack_format���s ���� r����c���������� ���C���s����|d�krt�j��}|d�k rhyt|�}W�n"�tk rF���tdj|���Y�nX�|d�}||�|ft|d����nHt|��}|d�kr�tdj|����t|�d�}tt|�d��}||�|f|��d�S�)NzUnknown unpack format '{0}'r����r����zUnknown archive format '{0}') r+���r����r����r����r����r6����dictr����r"���)r|���r����r6���r����r����rO���r ���r ���r!���r������s�����statvfs� disk_usageZusageztotal used freezTotal space in byteszUsed space in byteszFree space in bytesc�������������C���s@���t�j|��}|j|j�}|j|j�}|j|j�|j�}t|||�S�)N)r+���r�����f_bavail�f_frsize�f_blocks�f_bfree�_ntuple_diskusage)r,���r?����free�total�usedr ���r ���r!���r�������s ���� �ntc�������������C���s"���t�j|��\}}||�}t|||�S�)N)r����Z _getdiskusager����)r,���r����r����r����r ���r ���r!���r�������s����c�������������C���s����|d�kr|d�krt�d��|}|}|d�kr.d}n(t|t�rVt|�}|d�krVtdj|���|d�krdd}n(t|t�s�t|�}|d�kr�tdj|���tj |�||��d�S�)Nzuser and/or group must be setr����zno such user: {!r}zno such group: {!r}���r����) r����r����rm���r�����LookupErrorr6����intr����r+���r���)r,����userr����Z_userZ_groupr ���r ���r!���r������s"���� �P�������c�������������C���s����yt�tjd��}W�n�ttfk r.���d}Y�nX�yt�tjd��}W�n�ttfk r^���d}Y�nX�|dksp|dkr�ytjtjj���}W�n$�t tt fk r����tj|��}Y�nX�|dkr�|j}|dkr�|j }tj||f�S�)NZCOLUMNSr���ZLINES)r����r+����environr����r����r���rs���� __stdout__�fileno�AttributeErrorr-���� terminal_size�columns�lines)Zfallbackr��r���sizer ���r ���r!���r�����s$���� c����������������s"��dd��}t�jj���r&|��|�r"��S�d�S�|d�kr>t�jjdt�j�}|sFd�S�|jt�j�}tj dkr�t�j |krt|jdt�j ��t�jjdd�jt�j�}t��fdd �|D���r���g}q�fd d�|D��}n��g}t ��}xT|D�]L}t�jj|�}||kr�|j|��x(|D�] } t�jj|| �} || |�r�| S�q�W�q�W�d�S�)Nc�������������S���s&���t�jj|��o$t�j|�|�o$t�jj|���S�)N)r+���r,���rk����accessr^���)r>���r[���r ���r ���r!���� _access_checkX��s����zwhich.<locals>._access_check�PATHZwin32r���ZPATHEXTr����c�������������3���s ���|�]}��j���j|j����V��qd�S�)N)�lowerr����)r����r����)�cmdr ���r!���� <genexpr>u��s����zwhich.<locals>.<genexpr>c����������������s���g�|�]}��|��qS�r ���r ���)r����r����)r ��r ���r!���r����x��s����zwhich.<locals>.<listcomp>)r+���r,���r����r�����get�defpathr�����pathseprs����platformr�����insert�anyrd���r.���r����r_���)r ��r[���r,���r��Zpathext�files�seen�dirZnormdirZthefilerK���r ���)r ��r!���r���K��s8���� ��@��)r��)FN)r����r���r���NNN)r���r���N)r����N)r����r����)r����r����)r����r����)Nr����)NNr���r���NNN)Nr����)NN)NN�r����r����)r��)Vr+���rs���r7���rb����collectionsrE����zlibr�����ImportErrorr����r����Zlzmar�����pwdr���Zgrpr����__all__r-���r ���r���r���r���r"���r����r#���r���r2���r���r���r*���rM���r���r���r ���r���r ���rv���r����r=���rw���rx����supports_dir_fdri����supports_fdrT���r����r���Zavoids_symlink_attacksr����r���r����r����r����r����r����r����r���r���r���r���r���r����r���r���r����r����r����r����r����r���rl���� namedtupler����r�����__doc__r����r����r����rK���r����r���r����F_OK�X_OKr���r ���r ���r ���r!����<module>���s���� :Y!, 58 � @ - � 6� " % -