
    i'                         d dl Z d dlZd dlZd dlZd dlmZ d dlmZ d dlm	Z	 ddl
mZmZ d Zd Zd	 Zd
 Zd Zd Zd Z G d de      Zy)    N)gettext)Answer)
BaseAnswer   )AnswererAnswererInfoc                      t         j                  t         j                  z   t         j                  z   } t	        t        j                  dd            D cg c]  }t        j                  |        c}S c c}w )N       )stringascii_lowercasedigitsascii_uppercaserangerandomrandintchoice)random_string_letters_s     '/root/searxng/searx/answerers/random.pyrandom_charactersr      sQ    "22V]]BVE[E[[:?qRT@U:VWQFMM/0WWWs   A3c                  4    dj                  t                     S N )joinr        r   random_stringr      s    77$&''r   c                  <    t        t        j                               S N)strr   r   r   r   random_floatr"      s    v}}r   c                  F    d} t        t        j                  |  |             S )Nl        )r!   r   r   )random_int_maxs    r   
random_intr%      s    Nv~~~o~>??r   c                      t        j                         } | j                  dj                  t	                     j                                t        | j                               S r   )hashlibsha256updater   r   encoder!   	hexdigest)ms    r   random_sha256r-   #   sA    AHHRWW&()0023q{{}r   c                  <    t        t        j                               S r    )r!   uuiduuid4r   r   r   random_uuidr1   )   s    tzz|r   c                  Z    dt        j                  dd      z  } d| j                          S )Nz%06xr   i #)r   r   upper)colors    r   random_colorr6   -   s*    V^^Ax00Eu{{}or   c                   D    e Zd ZdZdgZeeeee	e
dZd Zdedee   fdZy)	SXNGAnswererzRandom value generatorr   )r   intfloatr(   r/   r5   c           
          t        t        | j                        t        d      | j                  | j                  D cg c]  }d| 	 c}      S c c}w )Nz Generate different random valueszrandom )namedescriptionkeywordsexamples)r   r   __doc__r>   random_types)selfxs     r   infozSXNGAnswerer.info@   sK    & BC]]-1->->?sm?	
 	
 @s   Aqueryreturnc                     |j                         }t        |      dk7  s|d   | j                  vrg S t         | j                  |d                   gS )N   r   )answer)splitlenrA   r   )rB   rE   partss      r   rI   zSXNGAnswerer.answerI   sQ    u:?eAhd.?.??I9d//a9;<==r   N)__name__
__module____qualname__r@   r>   r   r%   r"   r-   r1   r6   rA   rD   r!   listr   rI   r   r   r   r8   r8   2   sD     zH  L
>C >D$4 >r   r8   )r'   r   r   r/   flask_babelr   searx.result_typesr   searx.result_types.answerr   r   r   r   r   r   r"   r%   r-   r1   r6   r8   r   r   r   <module>rT      sP   
      % 0 $X
( @

>8 >r   