<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
B
    YI~dk#                 @   s   d dl Z d dlZd dlZddgZdd ZedjZG dd deZ	d	d Z
d
d Zdd Zdd Zdd Zdd Zddg fddZd"ddZg fddZdd Zdd Zdd  Zed!kre  dS )#    Ngetcaps	findmatchc             C   s   d| krd| d fS dS d S )Nlinenor   )   r    )entryr   r   ,/opt/alt/python37/lib64/python3.7/mailcap.pylineno_sort_key
   s    r	   z[^\xa1-\U0010FFFF\w@+=:,./-]c               @   s   e Zd ZdS )UnsafeMailcapInputN)__name__
__module____qualname__r   r   r   r   r
      s   r
   c           
   C   s   i } d}xt  D ]}yt|d}W n tk
r8   wY nX | t||\}}W d Q R X x6| D ]*\}}|| kr||| |< qb| | | | |< qbW qW | S )Nr   r)listmailcapfilesopenOSError_readmailcapfileitems)capsr   ZmailcapfpZmorecapskeyvaluer   r   r   r      s    

c              C   sP   dt jkr"t jd } | t j}n*dt jkr8t jd }nd}|d dddg}|S )NZMAILCAPSHOME.z	/.mailcapz/etc/mailcapz/usr/etc/mailcapz/usr/local/etc/mailcap)osenvironsplitpathsep)ZpathstrZmailcapshomer   r   r   r   3   s    


r   c             C   s    t dtd t| d \}}|S )Nz2readmailcapfile is deprecated, use getcaps instead   )warningswarnDeprecationWarningr   )r   r   _r   r   r   readmailcapfileE   s    r$   c       	      C   s  i }x|   }|sP |d dks| dkr.q|}x4|dd  dkrf|   }|sTd}|d d | }q4W t|\}}|r|s~q|d k	r||d< |d7 }|d	}x$tt|D ]}||  ||< qW d	| }||kr|| | q|g||< qW ||fS )
Nr   # z\

r   r   /)	readlinestrip	parseliner   rangelenjoinlowerappend)	r   r   r   lineZnextliner   fieldstypesjr   r   r   r   M   s6    	  
r   c       
      C   s   g }dt |  }}x.||k r@t| ||\}}|| |d }qW t |dk rRdS |d |d |dd    }}}d|i}x^|D ]V}|d}|dk r|}d}	n$|d |  }||d d   }	||krq|	||< qW ||fS )Nr   r   r   )NNview=r&   )r.   
parsefieldr1   findr+   )
r2   r3   infieldr   r6   restZfkeyZfvaluer   r   r   r,   v   s*    

 

r,   c             C   sT   |}x:||k r>| | }|dkr"P q|dkr4|d }q|d }qW | ||   |fS )N;\r   r   )r+   )r2   r:   r;   startcr   r   r   r8      s    

r8   r6   z	/dev/nullc       
      C   s   t |r"d|f }t|t dS t| ||}xd|D ]\}d|krnt|d ||}|d krZq4|rnt|dkrnq4t|| |||}	|	d k	r4|	|fS q4W dS )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   commandr   r   r   r      s     	

c                sl   g }|| kr|| |  }| d}|d d }|| krB|| |  } d k	r\ fdd|D }t|td}|S )Nr)   r   z/*c                s   g | ]} |kr|qS r   r   ).0rL   )r   r   r   
<listcomp>   s    zlookup.<locals>.<listcomp>)r   )r   sortedr	   )r   rG   r   rK   Z	MIMEtypesr   )r   r   rD      s    
rD   c             C   s\  d}dt |  }}xB||k rV| | }|d }|dkrb|dkrX| ||d  }|d }|| }q| | }|d }|dkr|| }q|dkr|| }q|dkrt|rd|f }t|t d S || }q|d	krH|}	x ||k r| | d
kr|d }qW | |	| }
|d }t|
|}t|r>d||
f }t|t d S || }q|d | }qW |S )Nr&   r   r   %r?   stz9Refusing to substitute MIME type %r into a shell command.{}z=Refusing to substitute parameter %r (%s) into a shell command)r.   rC   r    r!   r
   	findparam)r<   rG   rH   rI   Zresr:   r;   rA   rJ   r@   nameZparamr   r   r   rE      sH      
 







rE   c             C   sF   |   d } t| }x,|D ]$}|d |   | kr||d  S qW dS )Nr7   r&   )r0   r.   )rW   rI   r;   pr   r   r   rV      s    
rV   c        	      C   s   dd l } t }| jdd  s(t| d S xtdt| jdD ]}| j||d  }t|dk rjtd d S |d }|d }t||d|\}}|stdt q<td| t	
|}|r<td| q<W d S )	Nr   r   r   z"usage: mailcap [MIMEtype file] ...r6   zNo viewer found forz
Executing:zExit status:)sysr   argvshowr-   r.   printr   typer   rF   )	rY   r   r:   argsrG   filerM   rL   stsr   r   r   rB     s&    

rB   c             C   s   t d xt D ]}t d|  qW t   | s4t } t d t   t| }xX|D ]P}t | | | }x:|D ]2}t|}x|D ]}t d| ||  q|W t   qjW qPW d S )NzMailcap files:	zMailcap entries:z  %-15s)r\   r   r   rP   )r   fnZckeysr]   rK   rL   keyskr   r   r   r[     s"      


r[   __main__)N)r   r    re__all__r	   compilesearchrC   Warningr
   r   r   r$   r   r,   r8   r   rD   rE   rV   rB   r[   r   r   r   r   r   <module>   s(   )
)