;ò
ÎÑAHc           @   s£   d  Z  y d k l Z Wn  e j
 o d k l Z n Xd k Z d k Z d „  Z d „  Z d k Z e	 d j o+ e e e i
 d ƒ e e i
 d ƒ ƒ n d S(   s´    A script/util to upgrade all files in a directory

This is rather conservative in its approach, only copying/overwriting
new and unedited files.

To be used by "upgrade" feature.
(   s   pathNc         C   sz   d  k  } | i ƒ  } | i |  i ƒ  | i ƒ  ƒ } t } x6 | D]. } | G| o | d i
 ƒ  o
 t } q@ q@ W| Sd  S(   Ni    (   s   difflibs   Differs   ds   compares   olds   liness   news   Falses   realdiffs   ls   isspaces   True(   s   olds   news   ds   liness   difflibs   ls   realdiff(    (    sD   /u/d/b/dbachman/=/lib/python2.3/site-packages/IPython/upgrade_dir.pys   showdiff   s    	 c            s‚  d „  } d d d d d d g ‰  ‡  d †  } g  }	 g  i } t |  ƒ i ƒ  D] } | t |  ƒ i
 | ƒ ƒ qM ~ }
 | d	 } y t i | i ƒ  ƒ } Wn h  } n Xx”|
 D]Œ} | | ƒ o q¯ n |  | } | | } | i ƒ  oP | d
 t | ƒ ƒ | i | i ƒ  ƒ t i | i ƒ  ƒ i ƒ  | t | ƒ <q¯ | i ƒ  } | i t | ƒ t ƒ } | o t i | ƒ i ƒ  | j oJ | d | ƒ | i | i ƒ  ƒ t i | i ƒ  ƒ i ƒ  | t | ƒ <q¯ | d | ƒ t  | | ƒ } | d ƒ | o3 | d ƒ t i | i ƒ  ƒ i ƒ  | t | ƒ <q¯ |	 i | ƒ q¯ Wt i" | | i d ƒ ƒ |	 o d GHx |	 D] } | GHqkWn d S(   s¶    Copy over all files in srcdir to tgtdir w/ native line endings

    Creates .upgrade_report in tgtdir that stores md5sums of all files
    to notice changed files b/w upgrades.
    c         C   s	   |  GHd  S(   N(   s   s(   s   s(    (    sD   /u/d/b/dbachman/=/lib/python2.3/site-packages/IPython/upgrade_dir.pys   pr"   s    s   .svns
   ipythonrc*s   *.pycs   *.pyos   *~s   .hgc            sA   x6 ˆ  D]. } |  i | ƒ p |  i | ƒ o t Sq q Wt Sd  S(   N(   s   junks   pats   ps
   startswiths   fnmatchs   Trues   False(   s   ps   pat(   s   junk(    sD   /u/d/b/dbachman/=/lib/python2.3/site-packages/IPython/upgrade_dir.pys	   ignorable&   s
      s   .upgrade_reports   Creating %ss$   %s: Unedited, installing new versions*    == Modified, skipping %s, diffs below == s    s/   (Ok, it was identical, only upgrading checksum)s   wsV   

Delete the following files manually (and rerun %upgrade)
if you need a full upgrade:N($   s   prs   junks	   ignorables   moddeds   appends   _[1]s   paths   srcdirs	   walkfiless   ps	   relpathtos   filess   tgtdirs   reps   pickles   loads   opens   rpts   fs   srcs   tgts   isfiles   strs
   write_texts   texts   md5s   news	   hexdigests   conts   gets   Nones   sums   showdiffs   reals   dumps   m(   s   srcdirs   tgtdirs   reals   conts   rpts   tgts   prs   sums	   ignorables   moddeds   filess   junks   srcs   fs   ms   _[1]s   ps   rep(    (   s   junksD   /u/d/b/dbachman/=/lib/python2.3/site-packages/IPython/upgrade_dir.pys   upgrade_dir   sP     	B

 

)#)

) s   __main__i   i   (   s   __doc__s   IPython.external.paths   paths   ImportErrors   md5s   pickles   showdiffs   upgrade_dirs   syss   __name__s   argv(   s   upgrade_dirs   showdiffs   syss   paths   pickles   md5(    (    sD   /u/d/b/dbachman/=/lib/python2.3/site-packages/IPython/upgrade_dir.pys   ?   s   		?	