ó zfc@sêdZddlZddlZddlZddgZejdƒjZdefd„ƒYZ d„Z d „Z d „Z d „Z d „Zd dgd„Zdd„Zgd„Zd„Zd„Zd„ZedkræeƒndS(s%Mailcap file handling. See RFC 1524.iÿÿÿÿNtgetcapst findmatchs[^\xa1-\xff\w@+=:,./-]tUnsafeMailcapInputcBseZdZRS(s)Warning raised when refusing unsafe input(t__name__t __module__t__doc__(((s/usr/lib64/python2.7/mailcap.pyR scCs©i}xœtƒD]‘}yt|dƒ}Wntk r?qnX|t|ƒ}WdQXxE|jƒD]7\}}||kr‹|||s0  "    c Cs g}dt|ƒ}}x?||krZt|||ƒ\}}|j|ƒ|d}qWt|ƒdkrqdS|d|d|d}}}i|d6}xu|D]m}|jdƒ}|dkrÕ|}d} n$|| jƒ}||djƒ} ||krq¥| ||·R(RR/tfilter(R RARREt MIMEtypes((s/usr/lib64/python2.7/mailcap.pyR>®s   c CsÃd}dt|ƒ}}x£||kr¾||}|d}|dkr|dkrr|||d!}|d}n||}q||}|d}|dkr¬||}q|dkrÅ||}q|dkr t|ƒrþd|f}tj|tƒdS||}q|d kr­|} x*||krI||d krI|d}q W|| |!} |d}t| |ƒ} t| ƒr d | | f}tj|tƒdS|| }q|d|}qW|S( NRiit%s\tstts9Refusing to substitute MIME type %r into a shell command.t{t}s=Refusing to substitute parameter %r (%s) into a shell command(R#R;R<R=RR/t findparam( R3RARBRCtresR1R2R9RDR8tnametparam((s/usr/lib64/python2.7/mailcap.pyR?ºsH                   cCsO|jƒd}t|ƒ}x,|D]$}|| jƒ|kr#||Sq#WdS(NR-R(R%R#(RRRCR2tp((s/usr/lib64/python2.7/mailcap.pyRPãs    c Csôddl}tƒ}|jds0t|ƒdSx½tdt|jƒdƒD] }|j||d!}t|ƒdkrdGHdS|d}|d}t||d|ƒ\}}|sÂdGtGHqLdG|GHtj |ƒ}|rLd G|GHqLqLWdS( Niÿÿÿÿiis"usage: mailcap [MIMEtype file] ...iR,sNo viewer found fors Executing:s Exit status:( tsysRtargvtshowR"R#RttypeRR@( RUR R1targsRAtfileRGRFtsts((s/usr/lib64/python2.7/mailcap.pyR:îs&    "    cCs¿dGHxtƒD]}d|GHqWH|s5tƒ}ndGHH|jƒ}|jƒxg|D]_}|GH||}xG|D]?}|jƒ}|jƒx|D]}d|G||GHq—WHqtWqXWdS(NsMailcap files:s sMailcap entries:s %-15s(RRtkeystsort(R tfntckeysRXRERFR\tk((s/usr/lib64/python2.7/mailcap.pyRWs&          t__main__(RRR<tret__all__tcompiletsearchR;tWarningRRRR R!R.RR/R>R?RPR:RWR(((s/usr/lib64/python2.7/mailcap.pyts&       &   )