a
    dÈ2dú
  ã                   @   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ƒv r@d}qqd} qPqnd}|S )NÚ.é   r   é   TF)ÚsplitÚlenÚisdigitÚintÚrange)ZaddressZip_addrÚiÚres© r   ú%/var/www/pilotTERA/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    
r3   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   ó    zid_generator.<locals>.<genexpr>)Újoinr   )Úsizer:   r   r9   r   Úid_generatorX   s    r?   c                  C   s
   t ƒ } | S r5   )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/   r0   r1   r   r   r   Údelete_ccm_responsea   s    rB   )ZsocketÚsysr*   ZarrayZloggingr   r   r'   ZglobalSettingsÚstringr6   Ú
DeviceNameÚdeviceZresponse_txt_pathr   r   r   r3   Zascii_uppercaseZdigitsr?   r@   rB   r   r   r   r   Ú<module>   s&   