Current Path : /usr/lib/python2.7/dist-packages/DistUpgrade/ |
Current File : //usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradePatcher.pyc |
ó ¤Oc @ sJ d d l Z d d l Z d d l Z d e f d „ ƒ YZ d d „ Z d S( iÿÿÿÿNt PatchErrorc B s e Z d Z RS( s Error during the patch process ( t __name__t __module__t __doc__( ( ( sB /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradePatcher.pyR s c C st t d ƒ \ } } t | ƒ j ƒ } d } } | } xÑt | ƒ D]Ã} | | k rÆ| j ƒ } | j d ƒ rû | d } t j | d d d d ƒ\ } } | r® t d ƒ ‚ n | j d ƒ \ } } } t j | | | | d d ƒ\ } } | | | <qA n | d } | d j d ƒ \ } } } t | ƒ } | d 8} | d k rP| d } n t | ƒ } | d k r…| | | 5| } | d 8} q| d k rš| } q| d k r³| | | 5qt d | ƒ ‚ qA | | k rA | d k rç| } q| d 7} | j | | ƒ qA qA Wd j | ƒ } | rZt j ƒ } | j | ƒ | j ƒ | k rZt d ƒ ‚ qZn t | d ƒ j | ƒ t S( sš python implementation of enough "ed" to apply ed-style patches. Note that this patches in memory so its *not* suitable for big files i i s s/t sept /t maxspliti s flags for s// not supported yett countiÿÿÿÿt ,t t ct at ds unknown command: '%s's . s( the md5sum after patching is not correctt w( t ranget opent readlinest stript startswitht stringt rsplitR t partitiont ret subnt intt insertt joint hashlibt md5t updatet hexdigestt writet True( t origt edpatcht result_md5sumt STATE_EXPECT_COMMANDt STATE_EXPECT_DATAt orig_linest startt endt statet linet subst flagst regexpR t replt newR t commandt start_strt end_strt resultR ( ( sB /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradePatcher.pyt patch sZ !% ( R R R t ExceptionR t NoneR4 ( ( ( sB /usr/lib/python2.7/dist-packages/DistUpgrade/DistUpgradePatcher.pyt <module> s