o
    h                     @  s   U d dl mZ d dlmZmZ d dlmZmZ d dlm	Z	 d dl
Z
d dlmZmZ e Zg dZi dd	d
dddddddddddddddddddddddddddddZded< g d Zd,d$d%Zejd&e	d'd-d*d+ZdS ).    )annotations)DictList)	APIRouterRequest)HTMLResponseN)	templatessb)	   장관실
   제1차관   기획조정실   정책기획관   혁신행정담당관
   제2차관   에너지정책실   전력정책관   전력산업정책과   원전산업정책국   원전산업정책과   원전환경과   원전지역협력과   원전전략기획관   원전수출진흥과   원전수출협력과r
      장관r   u   1차관r   u   실장r   u   국장r   u   과장r   u   2차관r   r   r   r   r   r   r   r   r   r   zDict[str, str]EXPECTED_POS)	)r
   5003u   비서실장)r
   5005u   수행비서)r
   5000	   주무관)r   5016r   )r   5201r   )r   5022r   )r   5701r   )r   3925	   사무관)r   3890r%   phone
str | Nonereturnc                 C  s*   | sd S t dt| }|r|dS d S )Nz(\d{4})\s*$   )researchstrgroup)r'   m r0   0/var/www/html/bot/app/web/pages/gov/motie/kps.py_last4"   s   r2   z/gov/motie/kps)response_classrequestr   c                   s  zt dddtd }|jpg }W n ty$   g }Y nw i }i }i }|D ]B}|	dp5d
 }|	dp>d
 }t|	dpHd
 }	||g | |rb|||fg | |	ro|||	fg | q-ddd}
g }tD ]}g }t	|d}|
|	||fg }|r|||	dpd
 pd|	dpd
 pd|	dpd
 pdd n
||dddd tD ]\}}	}||krqt|	||	fg }|dkr,|	dkr,dd |D }|r!|jdd d |D ],}|||	dpd
 pd|	dp
d
 pd|	dpd
 pdd qn
||dddd q|
|}|r_|||	dp=d
 pBd|	dpId
 pNd|	dpUd
 pZdd q||dddd q|||d qytd| |dS )N	motie_kpsz#department,position,name,phone,task
departmenti'   positionr'   rows
List[Dict]r)   r   c                 S  s(   | pg } | j dd d | r| d S i S )Nc                 S  s(   |  dpd rdnd|  dpdfS )Nnamer7   r   r*   )getstripxr0   r0   r1   <lambda>D   s   ( z8gov_motie_heads_kps.<locals>.pick_best.<locals>.<lambda>keyr   )sort)r9   r0   r0   r1   	pick_bestB   s   z&gov_motie_heads_kps.<locals>.pick_best-r;   task)posr;   r'   rF   u   (공석)r
   r   c                 S  s*   g | ]}| d p
ddddkr|qS )r8   r7    r   )r<   replace).0r/   r0   r0   r1   
<listcomp>\   s   * z'gov_motie_heads_kps.<locals>.<listcomp>c                 S  s    |  dpddk|  dpdfS )Nr;   r7   )r<   r>   r0   r0   r1   r@   ^   s     z%gov_motie_heads_kps.<locals>.<lambda>rA   )r6   r9   zgov/motie/kps.html)r4   groups)r9   r:   r)   r   )r	   tableselectin_
DEPT_ORDERlimitexecutedata	Exceptionr<   r=   r2   
setdefaultappendr   PHONE_ROLE_LAST4listrC   r   TemplateResponse)r4   resrawby_dep
by_dep_pos	by_dep_l4rdeprG   l4rD   rL   rows_for_dep
leader_pos
leader_rowdrolematchesr/   r0   r0   r1   gov_motie_heads_kps'   s   



rh   )r'   r(   r)   r(   )r4   r   )
__future__r   typingr   r   fastapir   r   fastapi.responsesr   r+   app.web.depsr   r	   routerrP   r   __annotations__rW   r2   r<   rh   r0   r0   r0   r1   <module>   sZ    
