Fa@sdZddlZddlZddgZddZddZdd Zd d Zd d ZddZ ddZ ddgddZ dddZ gddZ ddZddZddZedkredS) z%Mailcap file handling. See RFC 1524.Ngetcaps findmatchcCs"d|krd|dfSdSdS)Nlinenor)rr)entryrr/usr/lib/python3.5/mailcap.pylineno_sort_key s r cCsi}d}xtD]}yt|d}Wntk rFwYnX|t||\}}WdQRXxE|jD]7\}}||kr|||s zlookup..r)rsortedr )rrArrDZ MIMEtypesr)rrr>s   r>c Cscd}dt|}}xC||kr^||}|d}|dkr|dkrr|||d}|d}||}q||}|d}|dkr||}q|dkr||}q|dkr||}q|dkrM|}x*||kr||d kr|d}qW|||} |d}|t| |}q|d|}qW|S) Nr!rr%r:st{})r) findparam) r7rArBrCZresr5r6r<r;namerrrr?s6              r?cCs[|jd}t|}x8|D]0}|d|j|kr#||dSq#WdS)Nr2r!)r+r))rPrCr6prrrrOs   rOc Cs ddl}t}|jdds6t|dSxtdt|jdD]}|j||d}t|dkrtddS|d}|d}t||d|\}}|stdtqRtd|t j |}|rRtd|qRWdS) Nrrrz"usage: mailcap [MIMEtype file] ...r1zNo viewer found forz Executing:z Exit status:) sysrargvshowr(r)printrtyperr@) rRrr5argsrAfilerFrEstsrrrr=s&   "    r=cCstdxtD]}td|qWt|sBt}tdtt|}xl|D]d}t|||}xG|D]?}t|}x#|D]}td|||qWtqWqfWdS)NzMailcap files: zMailcap entries:z %-15s)rUr rrI)rfnZckeysrVrDrEkeyskrrrrTs"          rT__main__)__doc__rr__all__r rr rrr'r3rr>r?rOr=rT__name__rrrrs$       )