Your IP : 216.73.216.213
�
e f� � @ s� d Z d d l Z d d l Z d d l Z d d l Z d d l Z d d l m Z m Z d d � Z d d � Z e
d k r� e � n d S) aS Command line interface to difflib.py providing diffs in four formats:
* ndiff: lists every line and highlights interline changes.
* context: highlights clusters of changes in a before/after format.
* unified: highlights clusters of changes in an inline format.
* html: generates side by side comparison with change highlights.
� N)�datetime�timezonec C s1 t j t j | � j t j � } | j � j � S)N) r Z
fromtimestamp�os�stat�st_mtimer ZutcZ
astimezoneZ isoformat)�path�t� r �7/opt/alt/python34/lib64/python3.4/Tools/scripts/diff.py�
file_mtime s r c C sA d } t j | � } | j d d d d d d d �| j d d d d d d d
�| j d d d d d d d �| j d
d d d d d d �| j d d d d d d d d �| j � \ } } t | � d k r� | j � t j d � n t | � d k r| j d � n | j } | \ } } t
| � } t
| � } t | � � } | j � }
Wd QXt | � � } | j � } Wd QX| j
r�t j |
| | | | | d | �}
n{ | j r�t j |
| � }
n] | j r t j � j |
| | | d | j d | �}
n$ t j |
| | | | | d | �}
t j j |
� d S)Nz&usage: %prog [options] fromfile tofilez-c�action�
store_true�defaultF�helpz'Produce a context format diff (default)z-uzProduce a unified format diffz-mzAProduce HTML side by side diff (can use -c and -l in conjunction)z-nzProduce a ndiff format diffz-lz--lines�type�int� z'Set number of context lines (default 3)r � � z*need to specify both a fromfile and tofile�n�contextZnumlines)�optparseZOptionParserZ
add_option�
parse_args�lenZ
print_help�sys�exit�error�linesr �open� readlines�u�difflibZunified_diffr Zndiff�mZHtmlDiffZ make_file�cZcontext_diff�stdout�
writelines)Zusage�parserZoptions�argsr ZfromfileZtofileZfromdateZtodateZffZ fromlinesZtfZtolinesZdiffr r r
�main s: "
' 0$r( �__main__)�__doc__r r Ztimer! r r r r r( �__name__r r r r
�<module> s <&