
    iB                     Z    d Z ddlZddlmZmZ ej                  rddlmZ  G d de      Z	y)z'Processors for engine-type: ``offline``    N   )EngineProcessorRequestParams)ResultContainerc            
       <    e Zd ZU dZdZeed<   dededdded	ef
d
Z	y)OfflineProcessorz,Processor class used by ``offline`` engines.offlineengine_typequeryparamsresult_containerr   
start_timetimeout_limitc                    	 | j                   j                  ||      }| j                  |||       y # t        $ rI}| j                  j                  dj                  | j                   j                  |             Y d }~y d }~wt        $ r[}| j                  ||       | j                  j                  dj                  | j                   j                  |             Y d }~y d }~ww xY w)Nz engine {0} : invalid input : {1}zengine {0} : exception : {1})
enginesearchextend_container
ValueErrorlogger	exceptionformatname	Exceptionhandle_exception)selfr   r   r   r   r   search_resultses           0/root/searxng/searx/search/processors/offline.pyr   zOfflineProcessor.search   s    	^![[//v>N!!"2JO 	bKK!!"D"K"KDKKL\L\^_"`aa 	^!!"2A6KK!!"@"G"GHXHXZ["\]]	^s!   /2 	C&?A??C&AC!!C&N)
__name__
__module____qualname____doc__r
   str__annotations__r   floatr        r   r   r      sJ    6 K ^^ ^ ,	^
 ^ ^r'   r   )
r"   typingtabstractr   r   TYPE_CHECKINGsearx.resultsr   r   r&   r'   r   <module>r-      s&    -  4??-^ ^r'   