B
    18\                 @   s^   d dl Z d dlZd dlmZ d dlZe jjr4ejj	ndd Z	dd Z
dd Zed	krZe
  dS )
    N)ST_MTIMEc             C   s   | d S )Nc )pathr   r   V/oak/stanford/groups/akundaje/marinovg/programs/Python-3.7.3/Tools/scripts/checkpyc.py<lambda>       r   c              C   s  t tjdkr,tjd dk} tjd dk}nd } }tjj}|sNtdt| xtjD ]}yt	
|}W n$ tk
r   tdt| wXY nX |stdt|d x>t|D ]0}|d	rt	j||}yt	|}W n& tk
r   td
t| wY nX | rtdt|d t|}y.t|d}|d}	|d}
W d Q R X W n& tk
rx   tdt| wY nX |	|krtddd tt| qt|
}|dkrtdt| q||t krtddd tt| qW qXW d S )N   z-vz-sFzUsing MAGIC wordzCannot list directoryz	Checking z...z.pyzCannot statZCheckrb   zCannot openzBad MAGIC word in ".pyc" file )end>   r   zBad ".pyc" filezOut-of-date ".pyc" file)lensysargv	importlibutilMAGIC_NUMBERprintreprr   oslistdirOSErrorsortedendswithjoinstatcache_from_sourceopenreadIOErrorget_longr   )verboseZsilentMAGICdirnamenamesnamestZname_cfZ	magic_strZ	mtime_strmtimer   r   r   main   sV    



r+   c             C   s<   t | dkrdS | d | d d>  | d d>  | d d	>  S )
Nr   r   r   r	                  )r   )sr   r   r   r"   >   s    r"   __main__)r   r   r   r   importlib.utilr   implementation	cache_tagr   r   r+   r"   __name__r   r   r   r   <module>   s   /