???<!-- GIF89;a -->
123123123123
.....................................................................................................................................???<!-- GIF89;a -->
123123123123
.....................................................................................................................................3

  \F!                  @   s@  d dl Z d dlmZ d dlZyd dlZW n ek
r@   dZY nX d dlmZ d dlm	Z	 d dl
mZ d dlmZ yd dlmZ W n ek
r   dZY nX yd dlmZ W n ek
r   dZY nX d	d
 Zdd Zd ddZd!ddZed"gdfed#gdfed$gdfed%gdfed&gdfeg dfdZdd Zd'ddZdS )(    N)warn)DistutilsExecError)spawn)mkpath)log)getpwnam)getgrnamc             C   sN   t d ks| d krd S yt | }W n tk
r8   d }Y nX |d k	rJ|d S d S )N   )r   KeyError)nameresult r   ./usr/lib64/python3.6/distutils/archive_util.py_get_gid   s    
r   c             C   sN   t d ks| d krd S yt | }W n tk
r8   d }Y nX |d k	rJ|d S d S )Nr	   )r   r
   )r   r   r   r   r   _get_uid+   s    
r   gzipc                s.  dddddd}dddd	d
}|d k	r:||j  kr:td| d }	|dkrZ|	|j|d7 }	ttjj|	|d dd l}
tj	d t
t  fdd}|s|
j|	d||  }z|j||d W d |j  X |dkr*tdt |	||  }tjdkr||	|g}n
|d|	g}t||d |S |	S )NZgzbz2xz )r   bzip2r   Ncompressz.gzz.bz2z.xzz.Z)r   r   r   r   zKbad value for 'compress': must be None, 'gzip', 'bzip2', 'xz' or 'compress'z.tarr   )dry_runr   zCreating tar archivec                s,    d k	r | _ | _d k	r(| _| _| S )N)gidZgnameuiduname)Ztarinfo)r   groupownerr   r   r   _set_uid_gida   s    z"make_tarball.<locals>._set_uid_gidzw|%s)filterz'compress' will be deprecated.Zwin32z-f)keys
ValueErrorgetr   ospathdirnametarfiler   infor   r   openaddcloser   PendingDeprecationWarningsysplatformr   )	base_namebase_dirr   verboser   r   r   Ztar_compressionZcompress_extZarchive_namer%   r   tarZcompressed_namecmdr   )r   r   r   r   r   make_tarball7   s<    
	



r2   c             C   s  | d }t tjj||d td krp|r.d}nd}ytd|||g|d W n  tk
rj   td| Y nX n:tjd|| |sytj	|dtj
d	}W n& tk
r   tj	|dtjd	}Y nX |tjkrtjjtjj|d
}|j|| tjd| xtj|D ]\}}	}
x>|	D ]6}tjjtjj||d
}|j|| tjd| qW xJ|
D ]B}tjjtjj||}tjj|rV|j|| tjd| qVW qW |j  |S )Nz.zip)r   z-rz-rqzipzkunable to create zip file '%s': could neither import the 'zipfile' module nor find a standalone zip utilityz#creating '%s' and adding '%s' to itw)Zcompressionr   zadding '%s')r   r"   r#   r$   zipfiler   r   r   r&   ZZipFileZZIP_DEFLATEDRuntimeErrorZ
ZIP_STOREDcurdirnormpathjoinwritewalkisfiler)   )r-   r.   r/   r   Zzip_filenameZ
zipoptionsr3   r#   dirpathZdirnames	filenamesr   r   r   r   make_zipfile   sJ    	


r?   r   zgzip'ed tar-filer   zbzip2'ed tar-filer   zxz'ed tar-filezcompressed tar filezuncompressed tar filezZIP file)ZgztarZbztarZxztarZztarr0   r3   c             C   s   x| D ]}|t kr|S qW d S )N)ARCHIVE_FORMATS)Zformatsformatr   r   r   check_archive_formats   s    
rB   c             C   s   t j }|d k	r6tjd| t jj| } |s6t j| |d krDt j}d|i}	yt| }
W n  t	k
rx   t
d| Y nX |
d }x|
d D ]\}}||	|< qW |dkr||	d< ||	d< z|| |f|	}W d |d k	rtjd	| t j| X |S )
Nzchanging into '%s'r   zunknown archive format '%s'r      r3   r   r   zchanging back to '%s')r"   getcwdr   debugr#   abspathchdirr7   r@   r
   r    )r-   rA   Zroot_dirr.   r/   r   r   r   Zsave_cwdkwargsZformat_infofuncargvalfilenamer   r   r   make_archive   s2    
rM   )r   r   r   NN)r   r   )r   r   )r   r   )r   r   )r   r   )r   N)NNr   r   NN)r"   warningsr   r+   r5   ImportErrorZdistutils.errorsr   Zdistutils.spawnr   Zdistutils.dir_utilr   Z	distutilsr   pwdr   Zgrpr   r   r   r2   r?   r@   rB   rM   r   r   r   r   <module>   s@   


 
G
=





 