
    <c                         d dl Z d dlZd dlZd dlmZmZ d dl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S )    Nurlsafe_b64encodeurlsafe_b64decodec                     dd l }|                    t                              |                     }| |                                                    d          S Nr   zutf-8base64	b64encodestrencodestripdecodefnamer	   encodeds      AC:\Users\Projet\final_api_otteo\api_otteo\app\formatting_data2.py	get_base4r   
   K    MMMszz%0011GG==??!!'***    c                 F    ddl }ddlm} |                     d          }|S )z&this function extract data to db otteor   N)ImmutableMultiDictF)flat)jsonwerkzeug.datastructuresr   to_dict)datar   r   data2s       r   extract_data_dbr      s9     KKK:::::: LLeL$$ELr   z6https://ui.boondmanager.com/api/application/dictionaryz0yann.obiang+sandbox@otteo-consulting.fr:Yann2022c                    ddl m}  |            }|                    t          j        d                    	 |                    |          }i }| dk    rc|d         d         t          |                    }|D ]=}g }|d         D ]%}	|                    |	d         |	d	         f           &|||d	         <   >nT| d
k    r3|d         t          |                    }
|
D ]}|d	         ||d         <   n| dv r8|d         d         t          |                    }|D ]}|d	         ||d         <   n| dk    r>|d         d         t          |                    d         }|D ]}|d	         ||d         <   n| dk    s| dv r|d         d         t          |                    }g }|D ]f}g }|                    |d         |d	         f           |d         d         d         D ]%}	|                    |	d         |	d	         f           &||d<   g||d<   |S )Nr   )boondManager	UserTokenactivityArear   settingoptionidvaluenationality)expertiseAreamobilityAreaavailabilitystate	candidatecriteria)languageSpokenlanguageLevel
evaluation)BoondManagerr    setUserTokenosenvironcallApir   append)	var_labelurl_pathr    boondmanagerdictionnaire_infosdata_fill_html!activityArea_setting_dictionnaireelementslist_of_valuesinationality_listlist_of_secteursr+   list_of_criterias                 r   fill_auto_htmlrC       s   ))))))<>>Lbj5666A &--h77NN" (4,>v,Fy,QRUV_R`R`,a)9 	? 	?HNh' 5 5%%qw()'
'4 5 5 5 5 1?N8G,--	? 
m	# 4-f5c)nnE) 	? 	?H-5g->N8D>**	? 
G	G 4-f5i@YP) 	? 	?H-5g->N8D>**	? 
g	 4"6*95c)nnEkR 	? 	?H-5g->N8D>**	? 
j	  4I1T$T 4,>v,Fy,QRUV_R`R`,a)9 	: 	:HN##Xd^HW4E$FGGG'/	:<H 5 5%%qw()'
'4 5 5 5 5+9N<((#3z" r   c                     t          | t                    r.| D ])}|t          |                                          v r|c S *dS dS )z6 cette fonction trouve le bon objet a partir d'une cleu!   mobilityArea doit être une listeN)
isinstancelistvalues)liste_mobilitykey_wordelements      r   find_good_objectrK   Z   sd     .$'' 3% 	 	G4 0 0111  323 3r   c            	          ddl } ddl}d} |j        dddddd	d
iiiddddddiidi          }dddd} | j        d|||          }|j        S )z1 this function put in good format data for booundr   Nz%https://ui.boondmanager.com/api/sharer   testz^Send by <a href='https://ui.boondmanager.com/candidates/12/information'>clique ici</a> postamnitemsresourcer%   1)objectbody
recipients	dependsOn   r,   )r%   type)
attributesrelationships zapplication/jsonzqPHPSESSID=8rf1q3m4nuj2j9jlm0b4t1vk2p94f1f3osualdcu3urr37iska6om0pjclbqcppa4f3c46gsivb3l6lm0ro0bobfvc9peacbh0rvedq)AuthorizationContent-TypeCookiePOST)headersr   )requestsr   dumpsrequesttext)r_   r   urlpayloadr^   responses         r   formatting_data_booundrf   e   s     OOOKKK
1Cdj
pc


 

 	 

   G0 & B G  xW7KKKH =r   c                     dddddd}d S )N*GETr[   3600zoMozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36)zAccess-Control-Allow-OriginzAccess-Control-Allow-MethodszAccess-Control-Allow-HeaderszAccess-Control-Max-Agez
User-Agent )rc   r^   s     r   	save_htmlrl      s)     $'$)$2$ D G Fr   c                     dd l }|j                            |           r:t          | d          }|                                }|                                 |S d S )Nr   r)r3   pathexistsopenreadclose)filenamer3   fpcontents       r   file_get_contentsrw      s[     III	w~~h (C  ''))



	 r   c                     dd l }|dk    r;t          |  d          }|                    |           |                                 n&t          | d          }|                                }|S t          d          S )Nr   Tarn   zoperation good doing)r3   rq   writers   rr   print)ro   r   ecritr3   ffiles         r   write_and_open_yannr      st    III} DC  						sOOvvxx'(((r   c                     dd l }|                    t                              |                     }| |                                                    d          S r   r   r   s      r   r   r      r   r   c                     ddl m}m} dd l }t          |           dz  }|d|z
  }| dz   d|z  z   }|                    t          j        |                              dd                              dd	                    S )
Nr   r      .=   -   +   _   /)r	   r   r   len	b64decodecodecsr   replace)	base64Urlr   r   r	   	remainderpadleninputs          r   base64UrlDecoder      s    ;;;;;;;;MMMY!#I .Y3f-V]511994FFNNPTVZ[[\\\r   c                 |   ddl m}m} dd l }dd l}t	          |                                                               dd                              dd          }|                    |                    d                                        dd	                              d
d                              dd          S )Nr   r    rY   '"zlatin-1r   r   r   r      =r   )	r	   r   r   r   r   r   r   r
   r   )r   r   r   r	   r   
str_headers         r   base64UrlEncoder      s    ;;;;;;;;MMMMMMT""**333;;CEEJ J--i8899AA4NNVVX\^bcckklpruvvvr   c                 F    t          |                               d          S )Nr   )r   rstrip)r   s    r   base64UrlEncode2r      s    T""))$///r   c                 V    ddt          |           dz  z
  z  }t          | |z             S )Nr   r   )r   r   )r   paddings     r   base64UrlDecode2r      s/    a3y>>A-./GY0111r   )r_   r3   r   r	   r   r   r   r   r   r8   tokenrC   rK   rf   rl   rw   r   r   r   r   r   rk   r   r   <module>r      s#    				  7 7 7 7 7 7 7 7 
+ + +   D:7 7 7t3 3 3( ( (X
 
 
&	 	 	) ) )+ + +4] ] ]w w w0 0 02 2 2 2 2r   