HEX
Server: Apache
System: Linux shared178.accountservergroup.com 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64
User: somesolu (2995)
PHP: 8.2.30
Disabled: NONE
Upload Files
File: //lib64/python2.7/mailcap.pyc
�
�A�ic@s�dZddlZddlZddlZddgZd�Zd�Zejd�jZ	de
fd	��YZd
�Zd�Z
d�Zd
dgd�Zdd�Zgd�Zd�Zd�Zd�Zedkr�e�ndS(s%Mailcap file handling.  See RFC 1524.i����Ntgetcapst	findmatchcCs�i}x�t�D]�}yt|d�}Wntk
r?qnXt|�}|j�xE|j�D]7\}}||kr�|||<qc|||||<qcWqW|S(s�Return a dictionary containing the mailcap database.

    The dictionary maps a MIME type (in all lowercase, e.g. 'text/plain')
    to a list of dictionaries corresponding to mailcap entries.  The list
    collects all the entries for that MIME type from all available mailcap
    files.  Each dictionary contains key-value pairs for that MIME type,
    where the viewing command is stored with the key "view".

    tr(tlistmailcapfilestopentIOErrortreadmailcapfiletcloset	iteritems(tcapstmailcaptfptmorecapstkeytvalue((s/usr/lib64/python2.7/mailcap.pyRs



cCsmdtjkr.tjd}|jd�}n;dtjkrMtjd}nd}|ddddg}|S(	s7Return a list of all mailcap files found on the system.tMAILCAPSt:tHOMEt.s	/.mailcaps/etc/mailcaps/usr/etc/mailcaps/usr/local/etc/mailcap(tostenvirontsplit(tstrtmailcapsthome((s/usr/lib64/python2.7/mailcap.pyR$s

s[^\xa1-\xff\w@+=:,./-]tUnsafeMailcapInputcBseZdZRS(s)Warning raised when refusing unsafe input(t__name__t
__module__t__doc__(((s/usr/lib64/python2.7/mailcap.pyR6scCs:i}x-|j�}|sPn|ddks	|j�dkrGq	n|}x=|ddkr�|j�}|s{d}n|d |}qPWt|�\}}|o�|s�q	n|jd�}x.tt|��D]}||j�||<q�Wdj|�j�}||kr&||j|�q	|g||<q	|S(s�Read a mailcap file and return a dictionary keyed by MIME type.

    Each MIME type is mapped to an entry consisting of a list of
    dictionaries; the list will contain more than one such dictionary
    if a given MIME type appears more than once in the mailcap file.
    Each dictionary contains key-value pairs for that MIME type, where
    the viewing command is stored with the key "view".
    it#ti����s\
s
t/(	treadlinetstript	parselineRtrangetlentjointlowertappend(RR	tlinetnextlineR
tfieldsttypestj((s/usr/lib64/python2.7/mailcap.pyR<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�|	||<q�W||fS(	s�Parse one entry in a mailcap file and return a dictionary.

    The viewing command is stored as the value with the key "view",
    and the rest of the fields produce key-value pairs in the dict.
    iiitviewt=RN(NN(R$t
parsefieldR'tNonetfindR!(
R(R*titntfieldR
R-tresttfkeytfvalue((s/usr/lib64/python2.7/mailcap.pyR"bs*
 

	cCsm|}xM||krU||}|dkr/Pq	|dkrH|d}q	|d}q	W|||!j�|fS(s/Separate one key-value pair in a mailcap entry.t;s\ii(R!(R(R2R3tstarttc((s/usr/lib64/python2.7/mailcap.pyR/�s

R-s	/dev/nullc
Cs�t|�r-d|f}tj|t�dSt|||�}x�|D]�}d|kr�t|d||�}|dkr�qFn|r�tj|�dkr�qFq�nt|||||�}	|	dk	rF|	|fSqFWdS(sFind a match for a mailcap entry.

    Return a tuple containing the command line, and the mailcap entry
    used; (None, None) if no match is found.  This may invoke the
    'test' command of several matching entries before deciding which
    entry to use.

    sHRefusing to use mailcap with filename %r. Use a safe temporary filename.ttestiN(NN(NN(	t_find_unsafetwarningstwarnRR0tlookuptsubstRtsystem(
R	tMIMEtypeR
tfilenametplisttmsgtentriesteR;tcommand((s/usr/lib64/python2.7/mailcap.pyR�s 	

	cCs�g}||kr#|||}n|jd�}|dd}||kr]|||}n|dk	r�t|d�|�}n|S(NRis/*cSs
||kS(N((RGR
((s/usr/lib64/python2.7/mailcap.pyt<lambda>�s(RR0tfilter(R	RBR
RFt	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|dkrt|�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>RR0t	findparam(R4RBRCRDtresR2R3R:RER9tnametparam((s/usr/lib64/python2.7/mailcap.pyR@�sH












cCsO|j�d}t|�}x,|D]$}|| j�|kr#||Sq#WdS(NR.R(R&R$(RSRDR3tp((s/usr/lib64/python2.7/mailcap.pyRQ�s
c	Cs�ddl}t�}|jds0t|�dSx�tdt|j�d�D]�}|j||d!}t|�dkr�dGHdS|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$RttypeRRA(	RVR	R2targsRBtfileRHRGtsts((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	tfntckeysRYRFRGR]tk((s/usr/lib64/python2.7/mailcap.pyRXs&






t__main__(RRR=tret__all__RRtcompiletsearchR<tWarningRRR"R/RR0R?R@RQR;RXR(((s/usr/lib64/python2.7/mailcap.pyt<module>s&			&		)