U
    4 "aú
  ã                   @   s®   d dl Z d dlZd dlZd dlT d dlZd dlZd dlmZ d dlZd dlT d dl	Z	d dl
Z
eZdZdd„ Zdd„ Zd	d
„ Zdd„ Zde	je	j fdd„Zdd„ Zdd„ ZdS )é    N)Ú*)Úcallz/home/c                 C   sT   |   d¡}t|ƒdkrL|D ].}| ¡ r@t|ƒtddƒkr@d}qqd} qPqnd}|S )NÚ.é   r   é   TF)ÚsplitÚlenÚisdigitÚintÚrange)ZaddressZip_addrÚiZres© r   ú$/var/www/pilotV14/cgi/global_func.pyÚcfgValidate   s    
r   c                 C   sn   d}d}t | ƒ}|t |ƒ }|dkr0| d¡}n&|dkrD| d¡}n|dkrV| d¡}|d |… t|ƒ }|S )	NZ0000z</msg>é	   Ú0éc   Z00iç  Z000)r   ÚrfindÚstr)ÚmessageZlengthÚtailZlength_messageÚkÚ
msg_lengthr   r   r   Úccm_msg_length)   s    
r   c                 C   s0   t | ƒ}d || ¡}t|dƒ}t t|g¡}d S )Nz</msg>{0}{1}</msg>zutf-8)r   ÚformatÚbytesÚ
subprocessr   ZCGIpath)r   r   Z
socket_cmdZ
socket_msgZprocess1r   r   r   Úsend_ccm_msg8   s    
r   c                 C   sp   d}t d d t| ƒ d | }d}|dk rRtj |¡r>d}q$|d }t d¡ q$t|d	ƒ}| ¡ }| 	¡  |S )
Núccm_response.txtÚbú'r   éd   ée   é   gš™™™™™¹?Úr)
Úccm_response_pathr   ÚosÚpathÚisfileÚtimeÚsleepÚopenÚreadÚclose)ÚuuidÚfilenameÚccm_response_fileÚfileZfoZCcmResponser   r   r   Úget_ccm_responseD   s    
r2   r   c                    s   d  ‡ fdd„t| ƒD ƒ¡S )NÚ c                 3   s   | ]}t  ˆ ¡V  qd S ©N)ÚrandomZchoice)Ú.0Ú_©Úcharsr   r   Ú	<genexpr>Y   s     zid_generator.<locals>.<genexpr>)Újoinr   )Úsizer9   r   r8   r   Úid_generatorX   s    r=   c                  C   s
   t ƒ } | S r4   )r=   )Z
command_idr   r   r   Úget_ccm_command_id\   s    r>   c                 C   s.   d}t d d t| ƒ d | }t |¡ d S )Nr   r   r    )r%   r   r&   Úremove)r.   r/   r0   r   r   r   Údelete_ccm_responsea   s    r@   )ZsocketÚsysr)   ZarrayZloggingr   r   r&   ZglobalSettingsÚstringr5   Ú
DeviceNameÚdeviceZresponse_txt_pathr   r   r   r2   Zascii_uppercaseZdigitsr=   r>   r@   r   r   r   r   Ú<module>   s&   