Ñò
3Nc           @€  s  d  d k  l Z d  d k Z d  d k Z d  d k Z d  d k Z d  d k Z d  d k Z d d k l	 Z	 d e	 i
 f d „  ƒ  YZ d e f d „  ƒ  YZ d	 „  Z d
 d „ Z h d d 6d d 6d d 6Z d „  Z h h d „  d 6d 6h d „  d 6d
 6h d „  d 6d 6h d „  d 6d 6Z d „  Z xg e D]_ Z xV e	 i D]K Z e e j o8 e e i e h  ƒ j o e e e ƒ e e e <q…q:q:Wq*Wh d d 6d d 6d d 6d d 6d d 6d  d! 6Z e i d d ƒ d a e i d" ƒ Z d# „  Z d$ „  Z d% „  Z  d S(&   iÿÿÿÿ(   t   with_statementNi   (   t   formatst   ConversionFailedExceptionc           B€  s   e  Z RS(    (   t   __name__t
   __module__(    (    (    sC   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazbase/translators.pyR   	   s   t   Intermedc           B€  sw   e  Z h  d  „ Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z d
 „  Z d „  Z RS(   c         C€  s4   | |  _  d  |  _ d  |  _ d  |  _ t ƒ  |  _ d  S(   N(   t   mdt   Nonet   patht	   extensiont   datat   sett   deps(   t   selft   metadata(    (    sC   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazbase/translators.pyt   __init__   s
    				c         C€  s   |  i  d  j	 S(   N(   R   R   (   R   (    (    sC   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazbase/translators.pyt   isPath   s    c         C€  sy   |  i  d  j ob |  i i d ƒ p t |  i ‚ t i d |  i ƒ \ } |  _  t i | |  i	 ƒ t i
 | ƒ n |  i  S(   Nt   .t   suffix(   R   R   R	   t
   startswitht   AssertionErrort   tempfilet   mkstempt   ost   writeR
   t   close(   R   t   fdesc(    (    sC   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazbase/translators.pyt   asPath   s     c         C€  s`   |  i  d  j oI t |  i ƒ i i ƒ  } z | ~ } | i ƒ  |  _  Wd  QX|  i ƒ  n |  i  S(   N(   R
   R   t   openR   t   __exit__t	   __enter__t   readt   nix(   R   t   _[1]t   f(    (    sC   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazbase/translators.pyt   asData   s
    &c         C€  s   |  i  S(   N(   R	   (   R   (    (    sC   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazbase/translators.pyt   getExtension"   s    c         C€  s1   |  i  d  j	 o t i |  i  ƒ d  |  _  n d  S(   N(   R   R   R   t   remove(   R   (    (    sC   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazbase/translators.pyR    $   s    c         C€  s   |  i  S(   N(   R   (   R   (    (    sC   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazbase/translators.pyR   (   s    c         C€  s   |  i  i | ƒ d  S(   N(   R   t   add(   R   t   dep(    (    sC   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazbase/translators.pyt   addDep+   s    c         C€  s   |  i  i | ƒ d  S(   N(   R   t   update(   R   R   (    (    sC   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazbase/translators.pyt   addDeps-   s    c         C€  s   |  i  S(   N(   R   (   R   (    (    sC   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazbase/translators.pyt   getDeps/   s    c         C€  s/   |  i  ƒ  t | ƒ |  _ | |  _ d  |  _ d  S(   N(   R    t   unicodeR	   R
   R   R   (   R   R
   R	   (    (    sC   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazbase/translators.pyt   setData2   s    
	c         C€  s=   |  i  ƒ  | |  _ d | i d d ƒ d |  _ d  |  _ d  S(   Nu   .R   i   iÿÿÿÿ(   R    R   t   rsplitR	   R   R
   (   R   R   (    (    sC   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazbase/translators.pyt   setPath7   s    
	(   R   R   R   R   R   R#   R$   R    R   R(   R*   R+   R-   R/   (    (    (    sC   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazbase/translators.pyR      s   										c         C€  sw   |  i  d ƒ o |  d }  t } n t } d |  j o# d „  |  i d ƒ Dƒ \ } } n t |  ƒ } } | | | f S(   Nt   !i   t   xc         s€  s3   x, |  ]% } | d  j o t  | ƒ n d Vq Wd S(   t   ?N(   t   intR   (   t   .0t   b(    (    sC   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazbase/translators.pys	   <genexpr>D   s   	 (   R   t   Truet   Falset   splitR3   (   t   argt   forcet   wt   h(    (    sC   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazbase/translators.pyt   parse_dimension=   s    

#s   .pngc         C€  sÅ  g  } t  } d |  i ƒ  d j oÍ t |  i ƒ  d d ƒ \ } } } |  i ƒ  d d =| d j o$ t | d ƒ } t | d ƒ } n | } | } | i d ƒ | i t | ƒ ƒ | i d ƒ | i t | ƒ ƒ | p | i d ƒ qð n | i d ƒ | i | d	 ƒ t i d
 g | |  i ƒ  g d t i	 d t i	 ƒ} | i
 ƒ  \ }	 }
 | i d j o! t d | i |	 |
 f ƒ ‚ n |  i |	 | ƒ | o$ | |  i ƒ  d <| |  i ƒ  d <n d  S(   Nt   dt   filterss   .svgg      ô?s   -ws   -hs   -as   -fi   s   rsvg-convertt   stdoutt   stderri    s&   rsvg-convert failed with status %s: %st   widtht   height(   R7   R   R=   R3   t   appendt   strt
   subprocesst   PopenR   t   PIPEt   communicatet
   returncodeR   R-   (   t   imt   formatt   argsR:   R;   R<   t   mwt   mht   pt   outt   err(    (    sC   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazbase/translators.pyt   rsvg_convertI   s8    # s   plot-svgs   .svgt   pss   .epss   gs:pdfwrites   .epdfc         C€  s    | t  j p t ‚ d d t  | d |  i ƒ  g } t i | d t i d t i ƒ} | i ƒ  \ } } | i d j o t | i | ƒ ‚ n |  i	 | | ƒ d  S(   Nt   pstoedits   -fs   -ptiR@   RA   i    (
   t   FORMAT_TO_PSTOEDITR   R   RF   RG   RH   RI   RJ   t   OSErrorR-   (   RK   RL   t   cmdRP   RQ   RR   (    (    sC   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazbase/translators.pyt   pstoedit_convertq   s    !c         C€  s   |  S(    (    (   RK   (    (    sC   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazbase/translators.pyt   <lambda>Š   s    t   txts   .txtc         C€  s   t  |  d  ƒ S(   s   .png(   RS   (   RK   (    (    sC   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazbase/translators.pyRZ   ‹   s    c         C€  s   t  |  d  ƒ S(   s   .epdf(   RS   (   RK   (    (    sC   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazbase/translators.pyRZ   Œ   s    c         C€  s   t  |  d  ƒ S(   s   .eps(   RS   (   RK   (    (    sC   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazbase/translators.pyRZ      s    c         €  s   ‡  ‡ f d †  } | S(   Nc         €  s   ˆ  |  ˆ ƒ S(   N(    (   RK   (   t   funcRL   (    sC   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazbase/translators.pyt
   translator’   s    (    (   R\   RL   R]   (    (   R\   RL   sC   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazbase/translators.pyt   _trans‘   s    s   image/svg+xmls
   text/plains   application/x-emptys   text/x-cs   .htmls	   text/htmls   .jpgs
   image/jpegs   ^[^;\s]+c         C€  s[   t  d  j o& t i t i ƒ } | i ƒ  | a  n t i t  i |  ƒ ƒ i	 ƒ  } t
 | ƒ S(   N(   t   _magicR   t   magicR   t
   MAGIC_MIMEt   loadt   _mime_patternt   matcht   buffert   groupt   guess_extension(   R
   t   magt   mime(    (    sC   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazbase/translators.pyR	   «   s    

c         C€  s?   |  t  j o	 t  |  St i |  ƒ } | d  j o d S| Sd  S(   Ns   .dat(   t   MIME_MAPt	   mimetypesRg   R   (   Ri   t   ext(    (    sC   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazbase/translators.pyRg   ´   s    	c         C€  s   t  i |  d t ƒS(   Nt   strict(   Rk   t
   guess_typeR7   (   t   filename(    (    sC   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazbase/translators.pyRn   ¾   s    (!   t
   __future__R    R   R   t   reR`   Rk   RF   t    R   t   FormatExceptionR   t   objectR   R=   RS   RV   RY   t   TRANSLATORSR^   t   to_ft   PSTOEDIT_READABLE_FORMATSt   from_ft
   setdefaultRj   t   add_typeR   R_   t   compileRc   R	   Rg   Rn   (    (    (    sC   /afs/sipb.mit.edu/project/bazki/Checkout/lib/bazbase/translators.pyt   <module>   sJ   $1	#

		 
 !

			
