
uUc           @  s  d  d l  m 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 d  d l m Z d  d l	 m
 Z
 m Z d Z d Z d Z e j d	  Z e j d
  Z e j d  Z e j d  Z e j d  Z e j d  Z e j d  Z e j d  Z e j d  Z d   Z e d k re e j  d k rYe e j d  qe j j d  e j j e e j  d  e  d  n  d S(   i(   t   with_statementN(   t   datetime(   t   StringIO(   t   Popent   PIPEs!   /mit/ncurses/cron-working/ncursess   /mit/git/bin/gits   /mit/ncurses/patchess   # patch by (.*) <(.*)>s   # created  (.*)s   # (.* - .*) - .*s   Index: (.*)$s
   rm -f (.*)s   @@ s   \+	(.*)sL   # ftp://invisible-island.net/ncurses/\d+.\d+/ncurses-\d+\.\d+-(\d+).patch.gzs   \d{8}c         C  s  t  j |   } d  } d  } d  } d  } d  } g  } d  } d }	 d  }
 d } | j   } |  j d  s t t j j t	 t j j
 |    d   } | j |  Wd  QXn  t j d t |   j   } x| D]} | j   } | st j |  } | r| j d d  \ } } q qn  | sOt j |  } | rO| j d  } q qOn  | st j |  } | r| j d  } t j | d  r | d } q q qn  | st j |  } | r| j d  } | | 7} q qn  t j |  } | r| j | j d   n  t j |  } | rM| d	 k r2Pn  | j d  } d }	 q n  t j |  } | rr|	 d 7}	 q n  | d	 k r | j d
 |  r|	 }
 q n  |	 |
 k rt j |  } | r| | j d  d 7} qqq q Wd j | | g  } |  GH| GH| GH| GH| GH| GH| GH| GH| rt t d d g | d t d t d t d t  } | j! d   \ } } | ry| GHn  | r| GHn  | j" d k rd | j" GH| j" Sn  t t d g d t d t d t d t  } | j! d j |   \ } } | r| GHn  | r| GHn  | j" d k r2d | j" GH| j" St t d d g d t d t d t d t  } | j! d   \ } } | r| GHn  | r| GHn  | j" d k rd | j" GH| j" St j# } | | d <| | d <| | d <| | d <| | d <| | d <t t d d  | g d t d t d t d! | d t  } | j! d   \ } } | rP| GHn  | r^| GHn  | j" d k rd" | j" GH| j" St t d# d$ d% g d t d t d t d t  } | j! d   \ } } | r| GHn  | r| GHn  | j" d k rd& | j" GH| j" Sd S('   Ni    t    t   filet   wt   fileobji   i   it   NEWSt   +s   
s   

t   rms   --ignore-unmatcht   stdint   stdoutt   stderrt   cwds   error %i on git rmt   applys   error %i on git applyt   adds   -As   error %i on git addt   GIT_AUTHOR_DATEt   GIT_AUTHOR_NAMEt   GIT_AUTHOR_EMAILt   GIT_COMMITTER_DATEt   GIT_COMMITTER_NAMEt   GIT_COMMITTER_EMAILt   commits   -mt   envs   error %i on git committ   pushs   -ft   Scriptss   error %i on git push($   t   urllib2t   urlopent   Nonet   readt
   startswitht   opent   ost   patht   joint   PATCHDIRt   basenamet   writet   gzipt   GzipFileR   t	   readlinest   rstript   authorPatternt   matcht   groupt   datePatternt   titlePatternt   dateStrPatternt   patchUrlPatternt	   rmPatternt   appendt   indexPatternt   hunkPatternt   commitMsgPatternR   t   GITR   t   WDt   communicatet
   returncodet   environ(   t   urit   respt   titlet   authort   emailt   datet   dateStrt   rmSpect   indext   hunkt   capHunkt
   commit_msgt	   patchDatat   ft   linest   linet   at   dt   tt   rt   it   ht   ct   gt   ot   et   newEnv(    (    s4   /afs/sipb.mit.edu/project/ncurses/auto/ncpp_local.pyt   processPatch   s*   -			
	
$	  
	  	  	





		  		  t   __main__i   i   s   Huh?
s   
(!   t
   __future__R    R   R(   t   ret   sysR"   R   R   t
   subprocessR   R   R9   R8   R%   t   compileR,   R/   R0   R5   R3   R6   R7   R2   R1   RX   t   __name__t   lent   argvR   R'   t   strt   exit(    (    (    s4   /afs/sipb.mit.edu/project/ncurses/auto/ncpp_local.pyt   <module>   s6   	