
    i                     b    d Z dgZddlZddlZddlmZ ej                   G d ded             Zy)	z
Typification of the *file* results.  Results of this type are rendered in
the :origin:`file.html <searx/templates/simple/result_templates/file.html>`
template.

----

.. autoclass:: File
   :members:
   :show-inheritance:

File    N   )
MainResultc                        e Zd ZU dZdZeed<   dZeed<   	 dZeed<   	 dZ	eed<   	 dZ
eed<   	 dZeed	<   	 dZeed
<   	 dZeed<   	 dZeed<   	 dZeed<   	  fdZ xZS )r   z Class for results of type *file*z	file.htmltemplate filenamesizetimemimetypeabstractauthorembeddedmtypesubtypec                    t         |           | j                  r| j                  s| j                  xs | j
                  }| j                  s%|r#t        j                  |d      d   xs d| _        | j                  j                  dd      dgz   d d \  }}| j                  sM| j
                  j                  d      rd	| _        n*| j
                  j                  d
      rd| _        n|| _        | j                  s|| _        y y y )NF)strictr   r   /r      z.ogvvideoz.ogaaudio)super__post_init__r   r   r	   r   r   	mimetypes
guess_typesplitendswith)selffnr   r   	__class__s       (/root/searxng/searx/result_types/file.pyr   zFile.__post_init__H   s    zz/$--B==R ) 4 4R Fq I OR"mm11#q9RD@"1ENE7:: ==))&1!(DJ]]++F3!(DJ!&DJ<<&  % ".    )__name__
__module____qualname____doc__r   str__annotations__r	   r
   r   r   r   r   r   r   r   r   __classcell__)r    s   @r!   r   r      s    *HcHcD#N D#N( Hc HcFCHcJE3O GS
' 'r"   T)kw_only)	r&   __all__typingtr   _baser   finalr    r"   r!   <module>r1      s@    (    D':t D' 	D'r"   