grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026B XÎã–yëCã@sÄddlZddlZddlZddgZdd„Ze d¡jZGdd„deƒZ d d„Z d d „Z d d „Z dd„Z dd„Zdd„Zddgfdd„Zd"dd„Zgfdd„Zdd„Zdd„Zdd „Zed!krÀeƒdS)#éNÚgetcapsÚ findmatchcCsd|krd|dfSdSdS)NÚlinenor)ér©)Úentryrrú,/opt/alt/python37/lib64/python3.7/mailcap.pyÚlineno_sort_key s r z[^\xa1-\U0010FFFF\w@+=:,./-]c@s eZdZdS)ÚUnsafeMailcapInputN)Ú__name__Ú __module__Ú __qualname__rrrrr sr c Cs˜i}d}xŠtƒD]€}yt|dƒ}Wntk r8wYnX|�t||ƒ\}}WdQRXx6| ¡D]*\}}||kr||||<qb|||||<qbWqW|S)NrÚr)ÚlistmailcapfilesÚopenÚOSErrorÚ_readmailcapfileÚitems)ÚcapsrZmailcapÚfpZmorecapsÚkeyÚvaluerrrrs   cCsPdtjkr"tjd}| tj¡}n*dtjkr8tjd}nd}|ddddg}|S)NZMAILCAPSÚHOMEÚ.z /.mailcapz /etc/mailcapz/usr/etc/mailcapz/usr/local/etc/mailcap)ÚosÚenvironÚsplitÚpathsep)ZpathstrZmailcapsÚhomerrrr3s    rcCs t dtd¡t|dƒ\}}|S)Nz2readmailcapfile is deprecated, use getcaps insteadé)ÚwarningsÚwarnÚDeprecationWarningr)rrÚ_rrrÚreadmailcapfileEsr$c Csi}xô| ¡}|sP|ddks| ¡dkr.q|}x4|dd…dkrf| ¡}|sTd}|dd…|}q4Wt|ƒ\}}|r|s~q|dk r–||d<|d7}| d ¡}x$tt|ƒƒD]}|| ¡||<q®Wd  |¡ ¡}||krì|| |¡q|g||<qW||fS) Nrú#Úéþÿÿÿz\ Ú rrú/) ÚreadlineÚstripÚ parselinerÚrangeÚlenÚjoinÚlowerÚappend) rrrÚlineZnextlinerÚfieldsÚtypesÚjrrrrMs6   rc Csâg}dt|ƒ}}x.||kr@t|||ƒ\}}| |¡|d}qWt|ƒdkrRdS|d|d|dd…}}}d|i}x^|D]V}| d¡}|dkr |}d} n$|d|… ¡}||dd… ¡} ||krÎq€| ||<q€W||fS)Nrrr)NNÚviewú=r&)r.Ú parsefieldr1Úfindr+) r2r3ÚiÚnÚfieldrr6ÚrestZfkeyZfvaluerrrr,vs*        r,cCsT|}x:||kr>||}|dkr"Pq|dkr4|d}q|d}qW|||… ¡|fS)Nú;ú\rr)r+)r2r:r;ÚstartÚcrrrr8•s   r8r6z /dev/nullc Cs˜t|ƒr"d|f}t |t¡dSt|||ƒ}xd|D]\}d|krnt|d||ƒ}|dkrZq4|rnt |¡dkrnq4t|||||ƒ} | dk r4| |fSq4WdS)NzHRefusing to use mailcap with filename %r. Use a safe temporary filename.)NNÚtestr)Ú _find_unsafer r!r ÚlookupÚsubstrÚsystem) rÚMIMEtyperÚfilenameÚplistÚmsgÚentriesÚerBÚcommandrrrr¥s      cslg}||kr|||}| d¡}|dd}||krB|||}ˆdk r\‡fdd„|Dƒ}t|td�}|S)Nr)rz/*csg|]}ˆ|kr|‘qSrr)Ú.0rL)rrrú Észlookup..)r)rÚsortedr )rrGrrKZ MIMEtypesr)rrrDÀs     rDc Cs\d}dt|ƒ}}�xB||k�rV||}|d}|dkrb|dkrX|||d…}|d}||}q||}|d}|dkr„||}q|dkr–||}q|dkrÊt|ƒrÀd|f}t |t¡dS||}q|d k�rH|} x ||krø||d krø|d}qÚW|| |…} |d}t| |ƒ} t| ƒ�r>d | | f}t |t¡dS|| }q|d|}qW|S) Nr&rrú%r?ÚsÚtz9Refusing to substitute MIME type %r into a shell command.Ú{Ú}z=Refusing to substitute parameter %r (%s) into a shell command)r.rCr r!r Ú findparam) r<rGrHrIZresr:r;rArJr@ÚnameZparamrrrrEÍsH              rEcCsF| ¡d}t|ƒ}x,|D]$}|d|… ¡|kr||d…SqWdS)Nr7r&)r0r.)rWrIr;ÚprrrrVös   rVc CsÆddl}tƒ}|jdd…s(t|ƒdSx˜tdt|jƒdƒD]‚}|j||d…}t|ƒdkrjtdƒdS|d}|d}t||d|ƒ\}}|sœtdtƒqs( ) )