o
    Dhis                     @  sr   d dl mZ d dlZd dlZd dlZd dlmZmZmZm	Z	 ede
ZdZede dZedd	d
 ZdS )    )annotationsN)	Blueprintrequestjsonifycurrent_appleave_api_arofloz/var/www/html/flask_serverVENV_PYTHONz/venv/bin/pythonz/businessunitsc                  C  s\  t jdd} tdddddt| dg}tj }t|d	r$d
|d	  nd |d	< t	j
dd| tj|t|dddd}|jdkr\tdd|jpJddd  |jpRddd  ddfS t|jpbd}g }|dpl|}|dps|}|dp|dpg }|D ]}	|	dp|	dpd }
|
r|d|
i q|jdd d td |t|d!S )"Npagesize200z-mzapps.aroflo_connector_app.clibusinessunitslistz
--pagesizez--raw
PYTHONPATH: z[leave_app] BU cmd=%s T-   )cwdenvcapture_outputtexttimeoutr   errorzAroFlo businessunits CLI failedi0)statusmessagestderrstdouti  z{}datazoneresponsebusinessUnitsbusinessunitnamenamec                 S  s   | d   S )Nr   )lower)x r#   F/var/www/html/flask_server/apps/leave_form_app/api/v1/routes_aroflo.py<lambda>?   s    z$list_businessunits.<locals>.<lambda>)keyok)r   r   count)r   argsget
PYTHON_BINstrosenvironcopyPROJECT_ROOTr   loggerinfojoin
subprocessrun
returncoder   r   r   jsonloadsstripappendsortlen)r	   cmdr   rpayloadbu_listr   r   	raw_itemsbr    r#   r#   r$   list_businessunits   sV   
"
	rC   )
__future__r   r-   r7   r4   flaskr   r   r   r   __name__	aroflo_bpr0   getenvr+   r*   rC   r#   r#   r#   r$   <module>   s   
