ÿØÿà JFIF      ÿÛ „ 	 ( %!1!%)+//.383,7(-.+



-%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ               ÿÄ J  	     ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ              ÿÄ *        !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú
"SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5
ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍÑ¶¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e
ríV
..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     ÿØÿà JFIF      ÿÛ „ 	 ( %!1!%)+//.383,7(-.+



-%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ               ÿÄ J  	     ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ              ÿÄ *        !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú
"SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5
ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍÑ¶¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e
ríV
..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     
]"                 @   s   d  d l  Z  d  d l Z d  d l Z d  d l m Z d g Z d Z d Z d Z d Z	 d Z
 d	 Z e e e e	 e
 e g Z Gd
 d   d  Z d d   Z d S)    N)quoteTemplateZffz-fzf-z--z.-z-.c               @   s   e  Z d  Z d d   Z d d   Z d d   Z d d   Z d	 d
   Z d d   Z d d   Z	 d d   Z
 d d   Z d d   Z d d   Z d d   Z d S)r   c             C   s   d |  _  |  j   d  S)Nr   )	debuggingreset)self r   */opt/alt/python35/lib64/python3.5/pipes.py__init__U   s    	zTemplate.__init__c             C   s   d |  j  f S)Nz<Template instance, steps=%r>)steps)r   r   r   r   __repr__Z   s    zTemplate.__repr__c             C   s   g  |  _  d  S)N)r
   )r   r   r   r   r   ^   s    zTemplate.resetc             C   s/   t    } |  j d  d   | _ |  j | _ | S)N)r   r
   r   )r   tr   r   r   cloneb   s    	zTemplate.clonec             C   s   | |  _  d  S)N)r   )r   flagr   r   r   debugj   s    zTemplate.debugc             C   s   t  |  t  d  k	 r$ t d   | t k rC t d | f   | t k r[ t d   |  j r |  j d d t k r t d   | d d k r t j d	 |  r t d
   | d d k r t j d |  r t d   |  j j	 | | f  d  S)N z%Template.append: cmd must be a stringzTemplate.append: bad kind %rz-Template.append: SOURCE can only be prepended   z'Template.append: already ends with SINKr   fz\$IN\bz#Template.append: missing $IN in cmdz\$OUT\bz$Template.append: missing $OUT in cmd)
type	TypeError	stepkinds
ValueErrorSOURCEr
   SINKresearchappend)r   cmdkindr   r   r   r   n   s     ##zTemplate.appendc             C   s  t  |  t  d  k	 r$ t d   | t k rC t d | f   | t k r[ t d   |  j r |  j d d t k r t d   | d d k r t j d	 |  r t d
   | d d k r t j d |  r t d   |  j j	 d | | f  d  S)Nr   z&Template.prepend: cmd must be a stringzTemplate.prepend: bad kind %rz+Template.prepend: SINK can only be appendedr   r   z,Template.prepend: already begins with SOURCEr   z\$IN\bz$Template.prepend: missing $IN in cmdz\$OUT\bz%Template.prepend: missing $OUT in cmd)
r   r   r   r   r   r
   r   r   r   insert)r   r   r   r   r   r   prepend~   s     ##zTemplate.prependc             C   sI   | d k r |  j  |  S| d k r2 |  j |  St d | f   d  S)Nrwz,Template.open: rw must be 'r' or 'w', not %r)open_ropen_wr   )r   filerwr   r   r   open   s    zTemplate.openc             C   s[   |  j  s t | d  S|  j  d d t k r9 t d   |  j | d  } t j | d  S)Nr!   r   z)Template.open_r: pipeline ends width SINKr   r   )r
   r'   r   r   makepipelineospopen)r   r%   r   r   r   r   r#      s    	zTemplate.open_rc             C   s[   |  j  s t | d  S|  j  d d t k r9 t d   |  j d |  } t j | d  S)Nr"   r   r   z,Template.open_w: pipeline begins with SOURCEr   )r
   r'   r   r   r(   r)   r*   )r   r%   r   r   r   r   r$      s    	zTemplate.open_wc             C   s   t  j |  j | |   S)N)r)   systemr(   )r   infileoutfiler   r   r   copy   s    zTemplate.copyc             C   s6   t  | |  j |  } |  j r2 t |  d | } | S)Nzset -x; )r(   r
   r   print)r   r,   r-   r   r   r   r   r(      s
    	

zTemplate.makepipelineN)__name__
__module____qualname__r	   r   r   r   r   r   r    r'   r#   r$   r.   r(   r   r   r   r   r   R   s   

c             C   st  g  } x- | D]% \ } } | j  d | | d g  q W| sU | j  d d d d g  | d d d  \ } } | d d k r |  r | j d d d d d g  |  | d d <| d d d  \ } } | d d k r | r | j  d d d d g  | | d d <g  } x t d t |   D] } | | d d } | | d }	 | d d k sj|	 d d k r$t j   \ }
 } t j |
  | j  |  | | | d d <| | d <q$Wx | D] } | \ } } } } | d d k rd	 t |  d
 | } | d d k r'd t |  d
 | } | d d k rQ| rQ| d t |  } | d d k r{| r{| d t |  } | | d <qW| d d } xw | d d   D]e } | d d  \ } } | d d k rd | k rd | d } | d | } q| d | } qW| rpd } x" | D] } | d t |  } q$Wd t | d  d } | d | d | } | S)Nr   catz--r   r      r      zOUT=z; zIN=-z <z >z{ z; }z |

zrm -f ztrap z; exitz 1 2 3 13 14 15r   r   r   r   )	r   r   rangelentempfilemkstempr)   closer   )r,   r
   r-   listr   r   ZgarbageiZlkindZrkindfdZtempiteminfZoutfZcmdlistZrmcmdr%   Ztrapcmdr   r   r   r(      s`     "r(   )r   r)   r;   Zshlexr   __all__ZFILEIN_FILEOUTZSTDIN_FILEOUTZFILEIN_STDOUTZSTDIN_STDOUTr   r   r   r   r(   r   r   r   r   <module><   s   	c