ó
    6GÒj©  ã                   óx  • S r SSKrSSKrSSKrSSKrSSKr\R                  R                  \R                  R                  \R                  R                  \	5      5      5      r
\R                  R                  \
SS5      rSr\R                  R                  \
SSS5      rS	 rS
 rS rS r\S:X  a  \" 5         gg)aQ  Turn the Parlez 3 / Parlez 5 dialogues into app data for Level 4 (Mission Dialogues).
Inputs : Book/L4/parlez_data.json (tools/parlez_extract.py) + Book/L4/parlez_review.json (checked answers, Arabic).
Outputs: curriculum/level4/dial_data.py and the recordings used, copied to static/audio/l4/<book>/.
    python tools/build_dialogues.pyé    NÚBookÚL4z1D:/OneDrive - DolfTech/SABIS-EBooks/EBooks/FrenchÚstaticÚaudioÚl4c                 óè   • [         R                  " SU R                  5       R                  SS5      5      nSR	                  S U 5       5      n[
        R                  " SSU5      R                  5       $ )NÚNFDu   â€™Ú'Ú c              3   ó^   #   • U  H#  n[         R                  " U5      S :w  d  M  Uv •  M%     g7f)ÚMnN)ÚunicodedataÚcategory)Ú.0Úcs     Útools/build_dialogues.pyÚ	<genexpr>Úkey.<locals>.<genexpr>   s$   é € Ð@š1�a¤× 4Ò 4°QÓ 7¸4Ñ ?—‘š1ùs   ‚-¤	-z
[^a-z0-9]+Ú )r   Ú	normalizeÚlowerÚreplaceÚjoinÚreÚsubÚstrip©ÚtitleÚts     r   Úkeyr       sW   € Ü×Ò˜e U§[¡[£]×%:Ñ%:¸5À#Ó%FÓG€AØ
�‰Ñ@™1Ó@Ó@€AÜ�6Š6�-  aÓ(×.Ñ.Ó0Ð0ó    c                 ó  • [         R                  " [        5       Hi  n[        R                  " SU5      R                  5       R                  SU S   -   5      (       d  MD  [         R                  R                  [        US5      s  $    g )NÚNFCzparlez éÿÿÿÿÚ	resources)	ÚosÚlistdirÚSRCr   r   r   ÚendswithÚpathr   )ÚslugÚds     r   Úres_dirr-      s[   € Ü�ZŠZœŽ_ˆÜ× Ò  ¨Ó*×0Ñ0Ó2×;Ñ;¸IÈÈRÉÑ<P×QÓQÜ—7‘7—<‘<¤ Q¨Ó4Ò4ò r!   c                 óp   • U R                  5       R                  5       nUS S R                  5       USS  -   $ )Né   )r   r   Úupperr   s     r   Úprettyr1      s3   € Ø�‰‹×ÑÓ€AØˆRˆaˆ5�;‰;‹=˜1˜Q˜R˜5Ñ Ð r!   c                  óä  • [         R                  " [        [        R                  R                  [        S5      SS95      n [         R                  " [        [        R                  R                  [        S5      SS95      n0 nS GH  n[        U5      n[        R                  " [        R                  R                  [        U5      SS9  X    GH¿  nUR                  U0 5      R                  [        US   5      0 5      nUR                  S	5      =(       d    S
/[        US   5      -  n[        U5      [        US   5      :w  a  S
/[        US   5      -  n/ n[        US   5       H¶  u  pšUS   U	   nU(       aV  [        R                  " [        R                  R                  XK5      [        R                  R                  [        X;5      5        UR!                  [#        X©[        US   5      :  a  US   U	   OS
Xy   US   U	   U(       a  SU SU 3OS S95        M¸     / nUR                  S/ 5       Hß  nUR                  S5      (       a  US   [        US   5      :¼  a  M0  US   US      nUR                  S5      =(       d    US   n[%        US   5      S-
  n	SU	s=::  a  [        U5      :  d  M�  O  M…  [        ['        U5      5      [        U5      :X  d  M¨  UR!                  [#        UR                  S5      =(       d    US   XÿU	   S95        Má     UR)                  [+        US   5      [#        [-        US   5      UR                  SS
5      0 S95      nUS   (       d  UR                  SS
5      US'   [#        US   XŒS9US   U'   GMÂ     GM     [/        UR1                  5       5      n[        [        R                  R                  [2        S S!S"5      S#SS9 nUR5                  S$5        UR5                  S%[         R6                  " US&S'S(9-   S)-   5        S S S 5        [9        S* U 5       5      n[;        [        U5      S+[9        S, U 5       5      S-US.5        g ! , (       d  f       NJ= f)/Nzparlez_data.jsonzutf-8)Úencodingzparlez_review.json)Úparlez5Úparlez3T)Úexist_okÚnÚarr   Úfrr   ÚenÚspeakerzl4/Ú/)r9   r:   r8   Úwhor   Ú	questionsÚkeepÚiÚoptsÚansweréa   r   Úq)rD   rA   rB   r   Útitle_ar)r   rE   Úbooks)r7   Úlinesr>   rF   Ú
curriculumÚlevel4zdial_data.pyÚwuœ   # -*- coding: utf-8 -*-
"""Dialogues of Â« Ã€ vos marques, prÃªtsâ€¦ parlez ! Â» 3 and 5 â€” generated by tools/build_dialogues.py, do not edit by hand."""
z	THEMES = Fr/   )Úensure_asciiÚindentÚ
c              3   óˆ   #   • U  H8  oS    R                  5         H  o"S     H  o3S   (       d  M  Sv •  M     M      M:     g7f)rF   rG   r   r/   N)Úvalues)r   r   ÚbÚls       r   r   Úmain.<locals>.<genexpr>A   s6   é € Ð`šS˜¨G©*×*;Ñ*;×*= QÈÅzÀ!ÐW^ÕU_—!‘!Áz‘!Ñ*=‘!šSùs
   ‚+A±Azthemes;c              3   ór   #   • U  H-  oS    R                  5         H  n[        US   5      v •  M     M/     g7f)rF   r>   N)rO   Úlen)r   r   rP   s      r   r   rR   B   s1   é € Ð"aÂ¸1ÈwÉZ×M^ÑM^×M`È¤3 q¨¡~×#6Ð#6ÑM`Ñ#6Âùs   ‚57z
questions;zrecordings copied)ÚjsonÚloadÚopenr&   r*   r   r   r-   ÚmakedirsÚDSTÚgetÚstrrT   Ú	enumerateÚshutilÚcopyfileÚappendÚdictÚordÚsetÚ
setdefaultr    r1   ÚlistrO   ÚROOTÚwriteÚdumpsÚsumÚprint)ÚdataÚrevÚthemesr+   Úsrcr,   Úrr8   rG   Úkr9   ÚaÚqsrD   Úsrc_qrA   r   ÚoutÚfÚn_audios                       r   Úmainrv      s   € Ü�9Š9”Tœ"Ÿ'™'Ÿ,™,¤rÐ+=Ó>ÈÑQÓR€DÜ
�)Š)”DœŸ™Ÿ™¤bÐ*>Ó?È'ÑRÓ
S€CØ€FÜ&ˆÜ�d‹mˆÜ
�Š”B—G‘G—L‘L¤ dÓ+°dÒ;Ø•ˆAØ—‘˜˜bÓ!×%Ñ%¤c¨!¨C©&£k°2Ó6ˆAØ—‘�t“×3  ¤s¨1¨T©7£|Ñ 3ˆBÜ�2‹wœ#˜a ™g›,Ó&Ø�TœC  $¡›LÑ(�ØˆEÜ" 1 T¡7Ö+‘�Ø�g‘J˜q‘M�ÞÜ—O’O¤B§G¡G§L¡L°Ó$8¼"¿'¹'¿,¹,ÄsÈDÓ:TÔUØ—‘œT R¼cÀ!ÀDÁ'»lÓ:J¨A¨d©G°AªJÐPRÐWYÑW\ÐbcÐdmÑbnÐopÑbqÞ<=¨#¨d¨V°1°Q°CÑ(8À4ñIö Jñ	 ,ð ˆBØ—U‘U˜;¨Ö+�Ø—u‘u˜V—}‘}¨¨#©´#°a¸±nÓ2EÓ(EÙØ˜+™ q¨¡vÑ.�Ø—u‘u˜V“}×5¨¨f©�Ü˜˜(™Ó$ rÑ)�Ø˜Õ%œC ›I×%Ñ%¬#¬c°$«i«.¼CÀ»IÕ*EØ—I‘Iœd Q§U¡U¨3£Z×%=°5¸±:ÀDÐVWÑQXÑYÖZñ ,ð ×!Ñ!¤# a¨¡j£/´4¼fÀQÀwÁZÓ>PÐ[\×[`Ñ[`ÐakÐmoÓ[pÐxzÑ3{Ó|ˆAØ�Z—=Ø !§¡ j°"Ó 5��*‘Ü# a¨¡f°EÑHˆAˆg‰J�tÔô1 ñ 'ô8 ˆv�}‰}‹Ó
€CÜ	Œb�g‰g�l‰lœ4 ¨x¸ÓHÈ#ÐX_Ò	`ÐdeØ	�‰ð  qô  	rØ	�‰�œdŸjšj¨¸5ÈÑKÑKÈdÑRÔS÷ 
aô Ñ`™SÓ`Ó`€GÜ	Œ#ˆc‹(�IœsÑ"aÁÓ"aÓaÐcoÐqxð  {Nõ  O÷	 
aÕ	`ús   Ï =Q!Ñ!
Q/Ú__main__)Ú__doc__r&   r   rU   r]   r   r*   ÚdirnameÚabspathÚ__file__re   r   r   r(   rY   r    r-   r1   rv   Ú__name__© r!   r   Ú<module>r~      sž   ðñ'÷ )× (Ó (Ø	‡w�w‡��r—w‘w—‘ r§w¡w§¡°xÓ'@ÓAÓB€Ø‡W�W‡\�\�$˜ Ó%€Ø9€Ø‡g�g‡l�l�4˜ 7¨DÓ1€ò1ò5ò!ò
%OðP ˆzÓÙ…Fð r!   