
    NEg                         d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlmZ d dl	Z	d dl
Z
d dlZd dlZd dlZd ZdZdZdZdZi ada G d d      Zd	 Zd
 Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Z d Z!d Z"d Z#d Z$y)    N)colored zN/Ag      c                   ,    e Zd ZdZdZdZdZdZdZdZ	dZ
y	)
bcolorsz[95mz[94mz[92mz[93mz[91mz[0mz[1mz[4mN)__name__
__module____qualname__HEADEROKBLUEOKGREENWARNINGFAILENDCBOLD	UNDERLINE     =E:\wamp\www\apps\calme\nutritwin\resources\KCALLMUtilities.pyr   r      s*    FFGGDDDIr   r   c                      t         S )N)verboser   r   r   
getVerboser   "   s    Nr   c                  F    t        d       t        d       t        d       y )Nz)-----------------------------------------z            A REMETTREprintr   r   r   TRACE_ROLLBACKr   '   s     	
56	
"#	
56
r   c                 t    	 t         d   }	 t         |    }| ay #  i t         d<   Y xY w#  i t         | <   Y | ay xY w)NALL)
ALL_ERRORSSOURCE_CONTEXT)contextbids     r   TRACE_CONTEXTr#   0   sS    
!! N

5! 
7N
s   	 	( %7c                 ,    t         dk(  rt        |        y )N   )r   r   messs    r   TRACEr(   D   s    !|d
r   c                 4    t        t        d| z   d             y )NzERROR: redr   r   )errMesss    r   	TRACE_ERRr-   L   s     
')g%u
-. r   c                 4    t        t        d| z   d             y )NzVALIDATION: greenr+   r&   s    r   TRACE_VALIDr0   V   s    	'.4'
12
r   c                 .    t        t        | d             y )Nr*   r+   )datas    r   TRACE_ERR_DATAr3   ]   s    	'$

r   c                     t                t        d       t        d       t        |        t        d       t        d       y )NzZ==========================================================================================r   r&   s    r   TRACE_HEADERr5   c   s5    	G	
fg	
fg	$K	
fg	
fg
r   c                    t        t        j                               }t        || z
        }t        |dz        }t        |      }t        |      dk(  rd|z   }t        ||dz  z
  dz        }t        |      }t        |      dk(  rd|z   }||dz  z
  |dz  z
  }t        |      }t        |      dk(  rd|z   }t	        d|z   dz   |z   dz   |z   dz          y )	Ni  r%   0<   zExecution time: hmns)inttimestrlenr   )	timeInSecstopnbsnbhsnbhnbmnsnbmnsnbss           r   displayExecutionTimerH   o   s    tyy{D
dY
C
cDj/Cs8D
4yA~TzcDj B&'DIE
5zQe
r	/C$J
&Cs8D
4yA~Tz	
t
#c
)E
1D
84
?#
EF
r   c                     t        | d      5 }t        j                  |j                               j	                  d      cd d d        S # 1 sw Y   y xY w)Nrbzutf-8)openbase64	b64encodereaddecode)
image_path
image_files     r   encodeImagerR      sG    	j$	 C:
 1299'BC C Cs   2A		Ac                     t        j                  |       }t        |d      5 }|j                  |       d d d        y # 1 sw Y   y xY w)Nwb)rL   	b64decoderK   write)encoded_stringoutput_path
image_datarQ   s       r   decodeImagerZ      sA    !!.1J	k4	  %J$% % %s	   =Ac           
         t                t        d       t        d       t        D ]  }d}t        |   D ]  }t        |      |kD  st        |      } |dz  }t        |   D ]}  }t        |   |   }| dk(  r+t        dt        |      z   dj	                  ||      z          ?t        || z  dz        }dt        |      z   d	z   }t        |j	                  ||||               y )
NzError report:z-------------r      z{:<z}    {}g      Y@z
{:<11} {:<z} {:<6} {:.1f}%)r   r   r?   r>   formatfloat)
totalCountsourcenbcetitlevalpurcftexts           r   PRINT_ERROR_REPORTrg      s    	G	/	/  ?F# 	A1v|!f	 	q  ' 	?EV$U+CQec#h&)9)9%)EEGS:-56$s3x/2CCell65#t<>	??$ r   c                 ,    d| ||||ddddddd||d	i}|S )
NqueryStringParameterszINTERNAL-TESTiPhone12ProzV15.0.02   Femaleg     f@g     V@)speechimage64	imagePathcommenttestappiddeviceversionagegender	longitudelatitudellmidoriginr   )r'   ro   rn   rp   rq   llmrz   events           r   
buildEventr}      sA    $294=29/30?1>2;.01949370317'9 :E Lr   c                     t         }|dk(  rd}	 t        |   |    }t        |   | xx   dz  cc<   y # t        $ r dt        |   | <   Y ,w xY w)Nr   r   r   r%   )r    r   KeyError)txtr`   ierrs      r   ERROR_INCREMENTr      sc    
 F|$&!#& vsq 
	  $"#
63$s   0 AAc                      g a d} y Nr   )r   )r    s    r   RESET_ERROR_STACKr      s     JN
r   c                 ~    t        j                  |      }|j                  | d      }t        j                  |      }|S r   )jsondumpsreplaceloads)prefixjjsjjjs       r   ignorePrefixr      s1    
**R.C
++fb
!C

3AHr   )%stringcsvsysr=   platformostypes	termcolorr   r   
KCALLMCorerL   ior   STRING_NOT_AVAILUNKNOWN_VALUEFLOAT_NOT_AVAILINTEGER_NOT_AVAILr   r    r   r   r   r#   r(   r-   r0   r3   r5   rH   rR   rZ   rg   r}   r   r   r   r   r   r   <module>r      s    ' ' '      	 
   
	 	
(	*C%
>&$r   