ok

Mini Shell

Direktori : /opt/alt/python37/lib/python3.7/site-packages/clcommon/__pycache__/
Upload File :
Current File : //opt/alt/python37/lib/python3.7/site-packages/clcommon/__pycache__/clhook.cpython-37.pyc

B

E!wdn�@s�ddlmZddlmZddlmZddlZddlZddlZddlZddl	Z	dZ
dZdZdZ
d	d
�Zdd�Ze
fd
d�Ze
fdd�Ze
fdd�Zdd�ZdS)�)�absolute_import)�division)�print_functionNz/etc/sysconfig/cloudlinuxZhooks�;zpython-cllib:clhook:cCs"tjddd�}t|_|�|�|S)z6
    read config from file_name
    return config
    NF)Z
interpolation�strict)�configparserZConfigParser�strZoptionxform�read)�	file_name�config�r�@/opt/alt/python37/lib/python3.7/site-packages/clcommon/clhook.py�
get_configs
rcCsny@|dtt���}t|d�}|�|�|��t�||�Wn$tk
rdd|t|�dgSXddgS)zG
    write config to file_name
    return [BOOLEAN_STATE, MESSAGE]
    �.�wFz
 write error
TzOK
)	r�os�getpid�open�write�close�shutilZmove�IOError)rr
�debug_local_nameZtmp_cfg_pathZ	tmpconfigrrr
�write_config$s

rc	CsLg}t|�}y|�t|��t�}Wn tjtjfk
rBd|gSXd|gS)z+
    return [BOOLEAN_STATE, hook_list]
    FT)r�get�HOOK_SECTION�split�HOOK_SEPARATORr�
NoOptionError�NoSectionError)�hook_prefix�config_file�	hook_listrrrr
�get_hook_list_from_file4s
r#cCs�td}t|�}yT|�t|��t�}||krDd|dt|�dgS|�|�|�t|t�	|��WnPt
jk
r�|�t�|�t||�Yn$t
j
k
r�|�t||�YnXt|||�S)zE
    add hook to config file
    return [BOOLEAN_STATE, MESSAGE]
    zregister_hook:TzHook z already registred
)�DEBUG_STRINGrrrrrr�append�set�joinrrZadd_sectionrr)�	hook_pathr r!rrr"rrr
�
register_hookAs

r)c
Csttd}t|�}y<|�t|��t�}|�|�|�t|t�|��t	|||�St
jt
jt
fk
rnddgSXdS)zJ
    remove hook from config_file
    return [BOOLEAN_STATE, MESSAGE]
    zunregister_hook:TzOK
N)r$rrrrr�remover&r'rrrr�
ValueError)r(r r!rrr"rrr
�unregister_hookVs
r,c	Cs�td}t�|�}x�|D]�}tj�|�r�t�|tj�r�y0tj	|tj
tj
tj
d�}|j�|�|�
�Wq�tk
r�d|dgSXqd|t|�dgSqWddgS)zY
    call hooks and send data as json to stdin 
    return [BOOLEAN_STATUS, message]
    z
call_hook:)�stdin�stdout�stderrFzHook call error
z  : isn`t file or isn`t runnable
TzOK
)r$�json�dumpsr�path�isfile�access�X_OK�
subprocess�Popen�PIPEr-rZcommunicate�OSErrorr)r"�datarZjson_encode�hook�piperrr
�call_hook_listfs

r=)Z
__future__rrrrrr6Z
simplejsonr0rZ	CL_CONFIGrrr$rrr#r)r,r=rrrr
�<module>	s"


Zerion Mini Shell 1.0