
lka
                 @   s   d  d l  Z  d  d l Z d  d l Z d  d l Td  d l Z d  d l Z d  d l m Z d  d l Z d  d l Td  d l	 Z	 d  d l
 Z
 e Z d d   Z d d   Z d d	   Z d
 d   Z d e	 j e	 j d d  Z d d   Z d d   Z d S)    N)*)callc             C   sy   |  j  d  } t |  d k ro xQ | D]@ } | j   ra t |  t d d  k ra d } q( q( d } Pq( Wn d } | S)N.   r      TF)splitlenisdigitintrange)addressZip_addrires r   $/var/www/pilotV14/cgi/global_func.pycfgValidate   s    'r   c             C   s   d } d } t  |   } | t  |  } | d k rF | j d  } n9 | d k rd | j d  } n | d k r | j d  } | d  |  t |  } | S)	NZ0000z</msg>	   0c   Z00i  Z000)r   rfindstr)messagelengthtailZlength_messagek
msg_lengthr   r   r   ccm_msg_length(   s    r   c             C   sF   t  |   } d j | |   } t | d  } t j t | g  } d  S)Nz</msg>{0}{1}</msg>zutf-8)r   formatbytes
subprocessr   CGIpath)r   r   Z
socket_cmdZ
socket_msgZprocess1r   r   r   send_ccm_msg7   s    r!   c             C   s   d } t  d d t |   d | } d } xB | d k  rp t j j |  rV d } q/ | d } t j d  q/ Wt t j j |  d	  } | j	   } | j
   | S)
Nzccm_response.txtb'r   d   e      g?r)gui_pathr   ospathisfiletimesleepopen
expanduserreadclose)uuidfilenameccm_response_filefilefoZCcmResponser   r   r   get_ccm_responseC   s     	

r7   r   c                s&   d j    f d d   t |   D  S)N c             3   s   |  ] } t  j    Vq d  S)N)randomchoice).0_)charsr   r   	<genexpr>V   s    zid_generator.<locals>.<genexpr>)joinr   )sizer=   r   )r=   r   id_generatorU   s    rA   c              C   s   t    }  |  S)N)rA   )Z
command_idr   r   r   get_ccm_command_idY   s    	rB   c             C   s5   d } t  t |   | } d | } t j |  d  S)Nzccm_response.txtzrm -rf )r(   r   r)   system)r2   r3   r4   Zcmd_rmr   r   r   delete_ccm_response^   s    
rD   )socketsysr,   ZarrayZloggingr   r   r)   globalSettingsstringr9   
DeviceNamedevicer   r   r!   r7   ascii_uppercasedigitsrA   rB   rD   r   r   r   r   <module>   s$   

