o
    10h                     @  s   d dl mZ d dlmZmZmZ d dlmZmZm	Z	 d dl
mZ d dlmZmZmZ e Zejdede	dd	e	d
d	fdddZdS )    )annotations)AnyDictList)	APIRouterRequestQuery)HTMLResponse)	templatessbloggerz/gov/search)response_classall)default requestr   srcstrqc           
        st  |pd  }g }|std| |||dS z8tdd}|dv r)|d|}d| d}|d	| d
| d| d| d| 
}|d	 j
pLg }W nX ty } zLtd| d z1tdd}|dv rr|d|}|d	 j
p{g }	| fdd  fdd|	D }W n ty   g }Y nw W Y d }~nd }~ww |jdd d td| |||dS )Nr   zgov/search.html)r   r   r   rowsgov_staff_curz*source,department,position,name,phone,task)MOTIEMOEFMEsource%zname.ilike.z,department.ilike.z,position.ilike.z,task.ilike.z,phone.ilike.i  z#gov_staff search fallback (reason: )	gov_staffi  c                   s   t  fdddD S )Nc                 3  s(    | ]}  |d pd  v V  qdS )r   N)getlower).0f)keyr -/var/www/html/bot/app/web/pages/gov/search.py	<genexpr>    s   & z*gov_search.<locals>.hit.<locals>.<genexpr>)name
departmentpositiontaskphone)anyr#   r"   r-   r%   hit   s   zgov_search.<locals>.hitc                   s   g | ]} |r|qS r$   r$   )r    r#   )r/   r$   r%   
<listcomp>!   s    zgov_search.<locals>.<listcomp>c                 S  s    |  ddpd|  ddpdfS )Nr(   r   r'   )r   r-   r$   r$   r%   <lambda>%   s     zgov_search.<locals>.<lambda>r.   )stripr
   TemplateResponser   tableselecteqor_limitexecutedata	Exceptionr   warningr   sort)
r   r   r   q_normr   querykweq2r:   r$   )r/   r"   r%   
gov_search	   s:   (rC   N)r   r   r   r   r   r   )
__future__r   typingr   r   r   fastapir   r   r   fastapi.responsesr	   app.web.depsr
   r   r   routerr   rC   r$   r$   r$   r%   <module>   s    "