3
Œí"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   sV   | j dƒ}t|ƒdkrNx:|D ],}|jƒ rBt|ƒtddƒkrBd}qqd}P qW nd}|S )NÚ.é   r   é   TF)ÚsplitÚlenÚisdigitÚintÚrange)ZaddressZip_addrÚiÚres© r   ú$/var/www/pilotV14/cgi/global_func.pyÚcfgValidate   s    

r   c             C   sn   d}d}t | ƒ}|t |ƒ }|dkr0|jdƒ}n&|dkrD|jdƒ}n|dkrV|j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j|| ƒ}t|dƒ}tj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   st   d}t d d t| ƒ d | }d}x0|dk rTtjj|ƒr@d}q&|d }tjdƒ q&W t|d	ƒ}|jƒ }|j	ƒ  |S )
Nz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j ‡ fdd„t| ƒD ƒƒS )NÚ c             3   s   | ]}t jˆ ƒV  qd S )N)ÚrandomZchoice)Ú.0Ú_)Úcharsr   r   ú	<genexpr>Y   s    zid_generator.<locals>.<genexpr>)Újoinr   )Úsizer7   r   )r7   r   Úid_generatorX   s    r;   c              C   s
   t ƒ } | S )N)r;   )Z
command_idr   r   r   Úget_ccm_command_id\   s    r<   c             C   s.   d}t d d t| ƒ d | }tj|ƒ d S )Nzccm_response.txtr   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Ústringr4   Ú
DeviceNameÚdeviceZresponse_txt_pathr   r   r   r2   Zascii_uppercaseZdigitsr;   r<   r>   r   r   r   r   Ú<module>   s&   