o
    թ6fa                     @   s   d dl Z d dlZd dlZd dlZd dlm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d Zdd Zdd	 Zd
d Zdd Zdd ZdS )    N)quote)unquotec                 C   s   d|  }d|d}|S )NzERROR:    Z
statusCodebody )messerrrcr   r   8E:\wamp\www\apps\calme\nutritwin\resources\KCALLMMain.pyErrorMsg   s
   r   c                 C   s  i }z| d }W n	   t d Y S d}z
|d }t|}W n   Y d}z|d }W n   Y d}z|d }W n   Y d}z|d }W n   Y d}z|d	 }W n   Y d}z|d
 }W n   Y d}z|d }W n   Y d}	zt|d }	W n   Y d}
z|d }
W n   Y d}z|d }W n   Y d}zt|d }W n   Y d}zt|d }W n   Y d}z|d }|dkrd}W n   Y |dks|dkrt|||||||	|||||}|
dkrd|dS |S t dS )NqueryStringParameterszWrong URL parameters speechimage64r   testcommentZappiddeviceversionageoriginugenderg     f@	longitudeg     V@latitudellmidZChatGPTZChatGPT4r   r   zSpeech content is null)r   r   intfloatKCALLMMainSpeechToDataZexecute)eventr   r   r   r   r   ZappIdr   r   r   r   r   r   r   r   Zrespr   r   r   runEvent   s    r    c                 C   sV   |dkr| |dks|dkr)i }||d< t||d< ||d< d|d< | | d S )Nr   r   r   contextpromptr   )findcopyZdeepcopyappend)queriesqueryFilterr   r!   r"   newEntryr   r   r   addNewSemanticTest   s   
r)   c                 C   s8   i }||d< ||d< d|d< t ||d< | | d S )Nr   r!   r   r"   r   )KCALLMUtilitiesZencodeImager%   )r&   r   r!   Z	imagePathr(   r   r   r   addNewImageTest   s   
r+   c                 C   s   d}t jg}t| |||d t| |||d t| |||d t| |||d t| |||d t| |||d t| |||d t| |||d	 t| |||d
 t| |||d t| |||d t| |||d t| |||d t| |||d t| |||d t| |||d t| |||d t| |||d t| |||d t| |||d t| |||d t| |||d t| |||d t| |||d t| |||d t| |||d t| |||d t| |||d t| |||d t| |||d t| |||d t| |||d  t| |||d! t| |||d" t| |||d# t| |||d$ t| |||d% t| |||d& t| |||d' t| |||d( t| |||d) t| |||d* t| |||d+ t| |||d, t| |||d- t| |||d) t| |||d. t| |||d/ t| |||d0 t| |||d1 t| |||d2 t| |||d3 t| |||d4 t| |||d5 t| |||d6 t| |||d7 d8}t jg}t| |||d, t| |||d+ t| |||d9 t| |||d: t| |||d; t| |||d< t| |||d= d>}t jg}t| |||d? t| |||d@ t| |||dA t| |||dB t| |||dC t| |||dD t| |||dE t| |||dF t| |||dG t| |||dH t| |||dI t| |||dJ t| |||dK t| |||dL t| |||dM t| |||dN t| |||dO t| |||dP t| |||dQ dR}t jg}t| |||dS t| |||dT t| |||dU t| |||dV dW}t jt jg}t| |||dX t| |||dY t| |||dZ t| |||d[ t| |||d\ t| |||d] t| |||d^ d_}t jt jg}t| |||d` t| |||da t| |||db t| |||dc t| |||dd t| |||de t| |||df t| |||dg t| |||dh t| |||di t| |||dj dk}t jg}t| |||dl t| |||dm d S )nNzSimple case for foodz
Une orangezj'ai bu un verre de cocau   J'ai bu deux tasses de caféz$J'ai bu un demi verre de lait entieru)   J'ai mangé deux tranches de jambon blancu&   J'ai mangé une tranche de pain de miezUn grand verre de laitu    Ce matin, j'ai mangé une orangeu*   J'ai mangé deux portions de Vache qui Ritu    Ce matin, j'ai mangé une bananezDeux verres de whiskyu'   Ce matin j'ai mangé un quignon de painu   J'ai mangé trois noix ce matinz&Ce soir je vais boire un verre de cocaz.Ce matin j'ai bu un grand verre de lait entieru   Une tasse de cafézUne tranche de foie grasu   J'ai bu une tasse de caféu)   Ce midi, j'ai mangé un tartare de boeuf.u2   Ce midi, j'ai mangé une part de tarte à la pommez'Je vais boire une demie canette de cocau&   J'ai mangé un quart de coupe de glacez*Je voudrais boire une demi canette de cocazJe voudrais boire 20 cl de cocaz J'ai bu deux verres de vin rouge   J'ai mangé un croissantzUn quignon de painu5   Deux tranches de pain avec une cuillère de confitureu   250 g de carottes râpéeszUn verre et demi de d'eauz200 g de carotte cuitesu)   A midi, j'ai mangé 30 grammes de carottezUne grande souscoupe de soupeu   Deux grands verres de bièreu!   Trois quarts d'un verre de bièreu   Deux verres de bièreu   J'ai bu deux cafésu   Un morceau de beurre allégézJus d'orangezUn verre de vin rougeu   Une chope de bièrezUn Danone naturezUn yaourt nature DanonezUn demi melonu   Deux steaks hachészUne demi tranche de painu   Un café avec un sucreu   Deux cafés avec un sucreu)   J'ai mangé à midi un sandwich au jambonu   Six huîtreszDeux pommesu/   J'ai mangé un Danone nature au lever du soleilzUn petit verre de jus d'orangezUn grand bol de lait entierzSimple case for food with brandu   J'ai mangé un Petits FilouszUne cannette de Coca-ColazJ'ai bu deux verres de Cocau=   Ce soir, j'ai mangé une barquette de couscous de chez Picardu)   j'ai mangé un yaourt à la fraise DanonezComplex case for foodu=   J'ai bu deux tasse de thé ce matin et j'ai mangé une bananeu'   J'ai bu une bière et mangé une orangez:Ce soir je vais manger une tomate et une tranche de jambonz:Ce soir je mangerai une tomate et trois tranches de jambonuE   Ce matin, j'ai mangé une tomate accompagnée d'une tranche de jambonu<   Ce matin j'ai bu un grand verre de lait et mangé une bananeu   Finalement j'ai mangé du saumon avec une pomme de terre. J'ai bu un demi-verre de vin blanc. Et la tarte aux pommes en dessert était excellente.uA   Je vais donc manger un pavé de saumon avec une portion de fritesux   Ce matin j'avais super faim et je me suis fait 2 oeufs au plat avec des toasts grillés, du jus d'orange et un capuccinou   Ma caesar salad de ce soir au resto était copieuse. Ils la proposaient une IPA mais j'aurais préféré un Perrier. Enfin, j'ai mangé 2 cheesecakes.um   Hier soir, j'ai mangé un couscous de chez Picard, non pas avec un verre de vin mais deux verres de Coca-colau   Comme il fait chaud, ce resto espagnol m'a servi un gaspacho, puis du poulpe grillé avec des poivrons grillés. Pour le dessert j'ai juste pris une salade de fruits. Pour arroser tout ça j'ai pris un verre de vino verde.zKUn grand bol de lait chaud avec du Nesquik avec une tranche de pain completuE   Ce matin, j'ai bu une grande tasse de thé sucré avec un peu de laitz6Un grand bol de Nesquik avec deux morceaux de baguetteu   Ce matin, j'ai mangé une tartine de pain complet avec beaucoup de confiture et un peu de beurre accompagné d'un grand verre de lait chocolatéu  J'aurais pu prendre une entrecôte mais le serveur m'a proposé un T-bone que je n'ai pas regretté. Je l'ai accompagné avec une écrasée de pommes de terre et des épinards à la crème. Je n'ai pas pris de fromage, par contre j'ai goûté la dernière glace de chez Picard.u   A l'apéro, avec des amis, nous avons mangé trois tranches de saucisson deux paquets de chips, et une poignée de cacahuètes grilléesu   Ce midi j'ai mangé trois saucisses avec des petits pois et en dessert une banane et j'ai couru l'après-mdi pendant une demi heure.zSimple case for sportu&   ce matin, j'ai fait une heure de vélou   ce matin, j'ai fait du vélou(   ce matin, j'ai fait de la course à piedu8   Ce matin j'ai fait une heure de vélo très intensémentzSimple case for food and sportuB   J'ai bu deux tasses de café et j'ai fait l'amour pendant 2 heuresu   En entrée j'ai pris une salade tomates et ensuite j'ai mangé un lieu noir avec des pommes de terre rissolée et une sauce au thym et enfin pour le dessert un gâteau basqueu`   Ce matin, j'ai bu une tasse de thé et je vais partir nager à la piscine pendant une demi-heureus   Ce matin j'ai bu un grand verre de lait manger une banane une pêche et je suis allé à vélo chercher de l'argentu   Ce midi, je mangerais bien un tartare de boeuf avec des frites, et en dessert, une part de tarte aux pomme avec un café noir. J’irai courir une heure dans l’après midiz4Deux coupes de champagne et j'ai du ski comme un fouz<J'ai bu un demi verre de jus d'orange et j'ai couru 3 heureszComplex case for food and sportu/  Ce midi, j’ai mangé un pavé de saumon accompagné d’une pomme de terre et d'un demi verre de vin blanc. En dessert, la tarte au pomme était excellente, j’ai également mangé un yaourt nature Danone aux fraises! Au fait, aujourd’hui, j’ai marché 30mn et j’ai couru 2h dans le parc voisinu   Tout compte fait, j’ai mangé une sole meunière accompagnée de haricots verts et d’un demi-verre de vin blanc. En dessert, la tarte au pomme était excellente! Dans deux heures, j’irai de toute façon courir 2h dans le parc voisin!u   Ce midi, je mangerais bien un tartare de boeuf avec des frites, et en dessert, une part de tarte à la pomme avec un café noir. J'irai courir une heure dans l’après midiu   Ce matin j'ai bu deux cafés avec trois tranches de pain et de la confiture ensuite je suis parti faire une balade en vélo pendant 1h30u   Ce matin, après une heure de ski intense, j'ai mangé à midi, non pas un potage aux poireaux, mais une raclette accompagnée de deux verres de vin rouge, j'ai fini la journée avec du parapentez<Avant d'aller faire du ski, j'ai bu un verre de jus d'orangeu1   J'ai bu deux verres de Coca et j'ai fait du vélou8   J'ai bu deux verres de Coca et j'ai fait un peu de véloue   J'ai bu deux verres de Coca et j'ai fait du vélo à grande vitesse modérée pendant une après-midiu   Ce matin, j'ai mangé un croissant et deux morceaux de baguette avec de la confiture, et j'ai bu deux cafés en écoutant de la musique classique, ensuite je suis parti faire deux heures de vélo à vive allureu,  Tout compte fait ce midi j'ai mangé un pavé de saumon accompagné d'une pomme de terre et un demi verre de vin blanc en dessert la tarte au pomme était excellente j'ai également pris un yaourt nature danone au fait aujourd'hui j'ai marché 30 minutes et j'ai couru deux heures dans le parc voisinzNutrition questionsz$Combien de calories dans une orange?z9Entre les amandes et les noix, qui est le plus calorique?)KCALLMConstZINTENT_TEXT_TO_FOODr)   ZINTENT_TEXT_TO_ACTIVITYZINTENT_NUTRITION_QUESTION)r&   r'   r   r!   r   r   r   getAllQueries   s   r.   c               	   C   s  t   t d t d t d t   d} | dkr$t  t d td g }d}t|| d}t|}t dt|  g }|D ]}|dkrst   t   t   t d	 t d	 t d
t|d  d t| d  t d	 t d	 t   |d }|d }|d }	|d }
d}d}| dkrt|dkrt d|d   n=|dkrt	|}|tj
krtd ntd t|}d}t||
|	|||}d}t|}|d krt|}|| |d7 }q?d S )Nz5=====================================================z'            EMULATOR SPEECH RECO KCALME      zDump clean is doner   r,   zNumber of queries: zA=================================================================z [/z] Case to be checkedr"   r!   r   r   r   Tz---> Query already processed: 'g      ?g?ZDS)printKCALLMActivityUtilitiesZ
cleanDumpsexitr.   lenstrZalreadyExists
KCALLMCoreZgetModelFromFamilyZ
MODEL_GPT4timesleepr   r*   Z
buildEventr    ZrecordResultr%   )ZdumpModer&   r'   idxZ	nbQueriesZdumpResultsZquerytextctxr   r   r   r   Zmodelr   r   r   r!   resultZdrr   r   r   runMainTestst  sf   	
$





r>   )Zjsonosr$   r8   Zurllib.parser   r   r-   r7   r   r3   r*   r   r    r)   r+   r.   r>   r   r   r   r   <module>   s$    	| G