o
    %hbi                     @  s\   d dl mZ d dlZd dlmZmZmZ d dlZddd	ZdddZ	dddZ
dddZdS )    )annotationsN)AnyDictListresultr   returnNonec                 C  s:   t | ttfrttj| ddd d S tt|  d S )N   F)indentensure_ascii)
isinstancedictlistclickechojsondumpsstr)r    r   K/var/www/html/flask_server/apps/aroflo_connector_app/zones/overheads/cli.py_echo
   s   r   zone	List[str]c                 C  s   t | dg }tdd |D S )N
operationsc                 S  s   g | ]}|j qS r   )code).0or   r   r   
<listcomp>   s    z"_available_ops.<locals>.<listcomp>)getattrsorted)r   opsr   r   r   _available_ops   s   r!   op_coder   paramsDict[str, Any]c                 C  sl   t t| }||vr/td| d| j d td t| D ]
}td|  q td| j||dS )Nu   ❌ Operación 'z' no existe en zona 'z'.zOperaciones disponibles:z  - r	   )r#   )setr!   r   r   r   
SystemExitexecute)r   r"   r#   	availablecr   r   r   _run   s   
r*   rootclick.Groupc              	     s   | j  jddd }|dtjdd ddtjdd	d
dddd# fdd}|dtjddd
ddtjdd	d
dddd$ fdd}|dtjdd
ddtjdd	d
dddd% fd!d"}d S )&N)namec                   S  s   dS )u   Catálogo local de overheads.Nr   r   r   r   r   overheads_group"   s    z%register_cli.<locals>.overheads_groupr   z--groupz!leave/workcover/operational/break)defaulthelpz--allactive_onlyTFz"Incluye inactivos (si existieran).)is_flagr/   r0   group
str | Noneboolc                       | | d}t t d| d S )N)r3   r1   list_overheadsr   r*   )r3   r1   r#   r   r   r   list_cmd&   s   zregister_cli.<locals>.list_cmdgetz--idoidzID del overhead.)requiredr0   zPermite devolver inactivos.r   c                   r6   )N)idr1   get_overheadr8   )r<   r1   r#   r9   r   r   get_cmd.      zregister_cli.<locals>.get_cmdsearchz--qzTexto a buscar.zIncluye inactivos.qc                   r6   )N)rC   r1   search_overheadsr8   )rC   r1   r#   r9   r   r   
search_cmd5   rA   z register_cli.<locals>.search_cmd)r3   r4   r1   r5   )r<   r   r1   r5   )rC   r   r1   r5   )r3   r   commandr   option)r+   r   r.   r:   r@   rE   r   r9   r   register_cli!   s   
rH   )r   r   r   r   )r   r   r   r   )r   r   r"   r   r#   r$   r   r   )r+   r,   r   r   r   r   )
__future__r   r   typingr   r   r   r   r   r!   r*   rH   r   r   r   r   <module>   s   


