<!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>

]                 @   s   d  d l  Z  d  d l Z d d g Z d d   Z d d   Z d d   Z d	 d
   Z d d   Z d d   Z d d   Z	 d d g  d d  Z
 d d d  Z g  d d  Z d d   Z d d   Z d d   Z e d k r e   d S)    Ngetcaps	findmatchc             C   s"   d |  k r d |  d f Sd Sd  S)Nlinenor      )r   r    )entryr   r   ,/opt/alt/python35/lib64/python3.5/mailcap.pylineno_sort_key	   s    r	   c              C   s   i  }  d } x t    D] } y t | d  } Wn t k
 rF w Yn X|  t | |  \ } } Wd  QRXxE | j   D]7 \ } } | |  k r | |  | <qw |  | | |  | <qw Wq 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 r1 t  j d }  |  j t  j  } n; d t  j k rP t  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   -   s    
r   c             C   s,   t  j d t d  t |  d   \ } } | S)Nz2readmailcapfile is deprecated, use getcaps instead   )warningswarnDeprecationWarningr   )r   r   _r   r   r   readmailcapfile?   s    	
r    c       	      C   sa  i  } xN|  j    } | s P| d d k s	 | j   d k rA q	 | } xF | d
 d   d k r |  j    } | sx d } | d  d  | } qJ Wt |  \ } } | o | s q	 | d  k	 r | | d <| d 7} | j d	  } x. t t |   D] } | | j   | | <q Wd	 j |  j   } | | k rF| | j |  q	 | g | | <q	 W| | f S)Nr   # r   z\

r   r   /r%   )	readlinestrip	parseliner   rangelenjoinlowerappend)	r   r   r   lineZnextliner   fieldstypesjr   r   r   r   G   s6    	 " 

r   c       
      C   s1  g  } d t  |   } } x? | | k  rZ t |  | |  \ } } | j |  | d } q Wt  |  d k  rq d S| d | d | d d   } } } d | i } x | D]y } | j d  } | d k  r | } d }	 n0 | d  |  j   } | | d d   j   }	 | | k rq |	 | | <q W| | f S)Nr   r   r   view=r"   )NN)r*   
parsefieldr-   findr'   )
r.   r/   infieldr   r2   restZfkeyZfvaluer   r   r   r(   p   s*    &	r(   c             C   sp   | } xM | | k  rU |  | } | d k r/ Pq	 | d k rH | d } q	 | d } q	 W|  | |  j    | f S)N;\r   r   )r'   )r.   r6   r7   startcr   r   r   r4      s    
r4   r2   z	/dev/nullc       	      C   s   t  |  | |  } xn | D]f } d | k r_ t | d | |  } | r_ t j |  d k r_ q t | | | | |  } | | f SWd S)Ntestr   )NN)lookupsubstr   system)	r   MIMEtyper   filenameplistentrieser>   commandr   r   r   r      s    	c                s   g  } | |  k r  | |  | } | j  d  } | d d } | |  k rW | |  | }   d  k	 r|   f d d   | D } t | d t } | S)Nr$   r   z/*c                s"   g  |  ] }   | k r |  q Sr   r   ).0rF   )r   r   r   
<listcomp>   s   	 zlookup.<locals>.<listcomp>r   )r   sortedr	   )r   rB   r   rE   Z	MIMEtypesr   )r   r   r?      s    r?   c       
      C   sc  d } d t  |   } } xC| | k  r^|  | } | d } | d k r | d k rr |  | | d  } | d } | | } q |  | } | d } | d k r | | } q | d k r | | } q | d k r | | } q | d k rM| } x* | | k  r|  | d	 k r| d } q W|  | |  }	 | d } | t |	 |  } q | d | } q W| S)
Nr"   r   r   %r;   st{})r*   	findparam)
r8   rB   rC   rD   resr6   r7   r=   r<   namer   r   r   r@      s6    
 
 

 

r@   c             C   s[   |  j    d }  t |   } x8 | D]0 } | d  |  j    |  k r# | | d   Sq# Wd S)Nr3   r"   )r,   r*   )rR   rD   r7   pr   r   r   rP      s    rP   c        	      C   s  d d  l  }  t   } |  j d d   s6 t |  d  Sx t d t |  j  d  D] } |  j | | d  } t |  d k  r t d  d  S| d } | d } t | | d |  \ } } | s t d t  qR t d |  t	 j
 |  } | rR t d |  qR Wd  S)	Nr   r   r   z"usage: mailcap [MIMEtype file] ...r2   zNo viewer found forz
Executing:zExit status:)sysr   argvshowr)   r*   printr   typer   rA   )	rT   r   r6   argsrB   filerG   rF   stsr   r   r   r>      s&    	
"


r>   c             C   s   t  d  x t   D] } t  d |  q Wt    |  sB t   }  t  d  t    t |   } xl | D]d } t  |  |  | } xG | D]? } t |  } x# | D] } t  d | | |  q Wt    q Wqf Wd  S)NzMailcap files:	zMailcap entries:z  %-15s)rW   r   r   rJ   )r   fnZckeysrX   rE   rF   keyskr   r   r   rV     s"    
  	


rV   __main__)r   r   __all__r	   r   r   r    r   r(   r4   r   r?   r@   rP   r>   rV   __name__r   r   r   r   <module>   s"   
) 