
    *ii                         d dl Z d dlZd dlZd dl d dlZd dlZd dlmZ d dlZd dl d dl	Z	d dl
Z
d dlZeZdZd Zd Zd Zd Zd	e	j&                  e	j(                  z   fd
Zd Zd Zd Zeek(  r	 ed       yd ay)    N)*)callz/home/c                     | j                  d      }t        |      dk(  r7|D ]0  }|j                         rt        |      t	        dd      v rd}-d} |S  S d}|S )N.   r      TF)splitlenisdigitintrange)addressip_addriress       '/var/www/Airbus-OFGU/cgi/global_func.pycfgValidater      sq    mmC G
7|q 	Ayy{s1vq#6 
 J	 J J    c                     d}d}t        |       }|t        |      z   }|dk  r|j                  d      }n-|dk  r|j                  d      }n|dk  r|j                  d      }|d  t        |      z   }|S )	N0000z</msg>	   0c   00i  000)r
   rfindstr)messagelengthtaillength_messagek
msg_lengths         r   ccm_msg_lengthr$   )   s    FD\N#CI-NLL	2	LL	3	LLC//Jr   c                     	 t        |       }dj                  ||       }t        |d      }t        j                  t
        |g      }y # t        $ r
}Y d }~y d }~ww xY w)Nz</msg>{0}{1}</msg>zutf-8)r$   formatbytes
subprocessr   CGIpath	Exception)r   r#   
socket_cmd
socket_msgprocess1es         r   send_ccm_msgr/   8   sW    #G,

 *00WE
:g.
??GZ#89 s   AA 	AAc                    	 d}t         dz   dz   t        |       z   dz   |z   }d}|dk  rBt        j                  j	                  |      rd}n|dz   }t        j                  d       |dk  rBt        |d	      }|j                         }|j                          |S # t        $ r0}t        j                         j                  d
dd      cY d }~S d }~ww xY w)Nccm_response.txtb'r   d   e      g?rzCCM socket is not activefail)descriptionstatus)ccm_response_pathr   ospathisfiletimesleepopenreadcloser*   jsonJSONEncoderencode)uuidfilenameccm_response_filefilefoCcmResponser.   s          r   get_ccm_responserM   G   s    e%-c1#5c$i?CHL czww~~/0Av

2 cz #S)ggi

 e!((8R\b)cddes$   A(B +-B 	C"%CCCr   c                 J    dj                  fdt        |       D              S )N c              3   H   K   | ]  }t        j                          y wN)randomchoice).0_charss     r   	<genexpr>zid_generator.<locals>.<genexpr>_   s     =A6=='=s   ")joinr   )sizerV   s    `r   id_generatorrZ   ^   s    77=t===r   c                      t               } | S rQ   )rZ   )
command_ids    r   get_ccm_command_idr]   b   s    Jr   c                     	 d}t         dz   dz   t        |       z   dz   |z   }t        j                  |       y # t        $ r
}Y d }~y d }~ww xY w)Nr1   r2   r3   )r;   r   r<   remover*   )rG   rH   rI   r.   s       r   delete_ccm_responser`   g   sQ    	%-c1#5c$i?CHL 			#$ s   58 	AAc                     	 t        j                  ddgd      }|j                         D ]  }| |v sd|vsda y day# t         j                  $ r daY yw xY w)NpsauxT)universal_newlinesgrepr6   F)r(   check_output
splitlinesCCMCalledProcessError)process_nameoutputlines      r   is_ccm_runningrm   s   ss    
(($4P%%' 	Dt#d(:	 (( s    0A  A  A  A   AAzmain.py)socketsysr?   arrayloggingr(   r   r<   globalSettingsstringrR   rD   
DeviceNamedeviceresponse_txt_pathr   r$   r/   rM   ascii_uppercasedigitsrZ   r]   r`   rm   	CCM_Checktruerh    r   r   <module>r|      s     
      	    	 &e. v55E >

 9
Cr   