Ë
    áAjd  ã                  ó°   — d dl mZ d dlmZmZmZmZmZmZm	Z	 d dl
mZmZ d dlmZ d dlmZmZmZmZmZ d dlmZ dd„Zdd„Zdd	„Zdd
„Z	 	 	 	 	 	 	 	 dd„Zy)é    )Úannotations)ÚPersonDraftÚexpand_gestionnaireÚexpand_occupantsÚexpand_proprietairesÚparse_adresse_ligneÚ
person_keyÚsplit_multi_values)ÚExcelSourceÚInfoRow)ÚImportReport)ÚAdresseÚEmailÚPersonneÚ	TelephoneÚdb)Únormalize_phonec                óŒ  — g }t        | j                  | j                  «      D ]i  }| j                  |_        t	        | j
                  «      |_        t	        | j                  «      |_        | j                  |_	        |j                  |«       Œk | j                  s| j                  rut        | j                  | j                  | j                  «      D ]G  }t	        | j                  «      |_        t	        | j                   «      |_        |j                  |«       ŒI t#        | j$                  «      }|r|j                  |«       |S ©N)r   Ú	nom_coproÚprenom_coproÚadresser
   Ú	tel_coproÚ
telephonesÚ
mail_coproÚemailsÚautres_coordonneesÚappendÚnom_occÚ
prenom_occr   Úcivilite_occÚtel_occÚmail_occr   Úgestionnaire)ÚrowÚdraftsÚpÚoÚgs        ú7Y:\copro_gestion\app\excel_import\contexts\personnes.pyÚ_collect_persons_from_rowr+      së   € Ø "€Fä! #§-¡-°×1AÑ1AÖBˆØ—K‘KˆŒ	Ü)¨#¯-©-Ó8ˆŒÜ% c§n¡nÓ5ˆŒØ"×5Ñ5ˆÔØ�‰�aÕð Cð ‡{‚{�c—n’nÜ! #×"2Ñ"2°C·K±KÀÇÁÖPˆAÜ-¨c¯k©kÓ:ˆAŒLÜ)¨#¯,©,Ó7ˆAŒHØ�M‰M˜!Õð Qô
 	˜C×,Ñ,Ó-€AÙØ�‰�aÔà€Mó    c                óà  — |j                   r| j                   s|j                   | _         |j                  r| j                  s|j                  | _        |j                  D ],  }|| j                  vsŒ| j                  j                  |«       Œ. |j                  D ]V  }|j                  «       | j                  D �ch c]  }|j                  «       ’Œ c}vsŒ<| j                  j                  |«       ŒX |j                  r/| j                  dz   |j                  z   j                  «       | _        |j                  r0| j                  dz   |j                  z   j                  «       | _        y y c c}w )NÚ
)	Úciviliter   r   r   r   Úlowerr   ÚstripÚnotes)ÚtargetÚincomingÚtÚeÚxs        r*   Ú_merge_draftr8   )   s  € Ø×Ò §¢Ø"×+Ñ+ˆŒØ×Ò §¢Ø!×)Ñ)ˆŒØ× Ô ˆØ�F×%Ñ%Ò%Ø×Ñ×$Ñ$ QÕ'ð !ð �_Œ_ˆØ�7‰7‹9°·²Ó>±¨1˜QŸW™W�Y°Ñ>Ò>Ø�M‰M× Ñ  Õ#ð ð ×"Ò"à×%Ñ%¨Ñ,¨x×/JÑ/JÑJß
‰%‹'ð 	Ô!ð ‡~‚~ØŸ™ tÑ+¨h¯n©nÑ<×CÑCÓEˆ�ð ùò ?s   Â:E+c                ó(  — |j                   r=t        j                  «       j                  | |j                   ¬«      j	                  «       S t        j                  «       j                  | |j
                  |j                  ¬«      }|j	                  «       S )N)Úcopropriete_idÚraison_sociale)r:   ÚnomÚprenom)r;   r   Úquery_actifsÚ	filter_byÚfirstr<   r=   )Úcopro_idÚdraftÚqs      r*   Ú_find_existingrD   <   st   € Ø×Òä×!Ñ!Ó#ß‰Y h¸u×?SÑ?SˆYÓTß‰U‹Wð	
ô
 	×ÑÓ×)Ñ)Ø U§Y¡Y°u·|±|ð 	*ó 	€Að �7‰7‹9Ðr,   c           	     óž  ‡‡— t        |j                  «      D ]a  \  }}t        |«      Š‰sŒt        ˆfd„| j                  D «       «      rŒ3t        j
                  j                  t        | ‰|rdnd¬«      «       Œc t        |j                  «      D ]f  \  }}|j                  «       Š‰sŒt        ˆfd„| j                  D «       «      rŒ8t        j
                  j                  t        | ‰|rdnd¬«      «       Œh |j                  rTt        |j                  «      \  }}}|r9| j                  s-t        j
                  j                  t        | d|||¬«      «       |j                  |j                   fD �cg c]  }|sŒ|‘Œ	 }	}|	rEd	j#                  |	«      }
| j                   r | j                   d	z   |
z   j                  «       n|
| _        y y c c}w )
Nc              3  ó<   •K  — | ]  }|j                   ‰k(  –— Œ y ­wr   )Únumero)Ú.0r5   Úns     €r*   Ú	<genexpr>z"_apply_contacts.<locals>.<genexpr>N   s   øè ø€ Ð:Ñ&9 ˆq�x‰x˜1�}Ñ&9ùs   ƒÚImportÚ )ÚpersonnerG   Úlibellec              3  ót   •K  — | ]/  }|j                   j                  «       ‰j                  «       k(  –— Œ1 y ­wr   )r   r0   )rH   r6   Úas     €r*   rJ   z"_apply_contacts.<locals>.<genexpr>W   s(   øè ø€ ÐG±°!ˆq�y‰y�‰Ó  A§G¡G£IÕ-±ùs   ƒ58)rM   r   rN   ÚCourrier)rM   rN   Úligne1Úcode_postalÚviller.   )Ú	enumerater   r   Úanyr   ÚsessionÚaddr   r   r1   r   r   r   Úadressesr   r   r2   Újoin)rM   rB   ÚirG   ÚaddrrR   ÚcprT   r'   Únotes_partsÚextrarP   rI   s              @@r*   Ú_apply_contactsr`   I   s|  ù€ Ü˜u×/Ñ/Ö0‰	ˆˆ6Ü˜FÓ#ˆÙØÜÓ: h×&9Ò&9Ó:Ô:ØÜ
�
‰
�‰Ü˜x°Áq¹8ÈbÔQõ	
ð 1ô ˜UŸ\™\Ö*‰ˆˆ4Ø�J‰J‹LˆÙØÜÓG°x·²ÓGÔGØÜ
�
‰
�‰”u h¸ÉqÁ8ÐVXÔYÕZð +ð ‡}‚}Ü/°·±Ó>Ñˆ��EÙ˜(×+Ò+Ü�J‰J�N‰NÜØ%Ø&Ø!Ø "Øôôð  %×7Ñ7¸¿¹ÑEÓKÑE˜Ê’1ÐE€KÐKÙØ—	‘	˜+Ó&ˆØDLÇNÂN˜(Ÿ.™.¨4Ñ/°%Ñ7×>Ñ>Ô@ÐX]ˆ�ð ùò Ls   Å4G
Å<G
c               ó˜  — t        d|¬«      }i }| j                  «       D ]I  }t        |«      D ]9  }|j                  |v rt	        ||j                     |«       Œ+|||j                  <   Œ; ŒK t        |j                  «       d„ ¬«      D �]  \  }}|rd nt        ||«      }|r-|st        ||«       |j                  d|j                  › �«       ŒF|r|j                  |j                  «       Œdt        ||j                  |j                  xs |j                  r|j                  d d nd|j                   |j                  ¬«      }	t"        j$                  j'                  |	«       t"        j$                  j)                  «        t        |	|«       |j                  |j                  «       �Œ! |st"        j$                  j+                  «        |S )	NÚ	personnes)Údry_runc                ó    — | d   j                   S )Né   )Úlabel)r7   s    r*   Ú<lambda>zrun.<locals>.<lambda>|   s   € ¸Q¸q¹T¿ZºZr,   )Úkeyu'   DÃ©jÃ  prÃ©sent, contacts fusionnÃ©s : éx   u   â€”)r:   r/   r<   r=   r;   )r   Úread_info_rowsr+   rh   r8   ÚsortedÚitemsrD   r`   Úadd_warningrf   Úadd_createdr   r/   r<   r;   r=   r   rW   rX   ÚflushÚcommit)
ÚsourcerA   rc   ÚreportÚregistryr%   rB   rh   ÚexistingrM   s
             r*   Úrunru   l   s|  € ô ˜+¨wÔ7€FØ')€Hà×$Ñ$Ö&ˆÜ.¨sÖ3ˆEØ�y‰y˜HÑ$Ü˜X e§i¡iÑ0°%Õ8à&+�˜Ÿ™Ò#ñ	 4ð 'ô ˜XŸ^™^Ó-Ñ3G×HÐH‰
ˆˆUÙ"‘4¬°xÀÓ(GˆÙÙÜ ¨%Ô0Ø×ÑÐ!HÈÏÉÈÐVÔWØáØ×Ñ˜uŸ{™{Ô+ØäØ#Ø—^‘^Ø—	‘	Ò\¸E×<PÒ<P˜e×2Ñ2°4°CÑ8ÐV[Ø—<‘<Ø ×/Ñ/ô
ˆô 	�
‰
�‰�xÔ Ü
�
‰
×ÑÔÜ˜ %Ô(Ø×Ñ˜5Ÿ;™;Ö'ð- Iñ0 Ü
�
‰
×ÑÔØ€Mr,   N)r%   r   Úreturnzlist[PersonDraft])r3   r   r4   r   rv   ÚNone)rA   ÚintrB   r   rv   zPersonne | None)rM   r   rB   r   rv   rw   )rq   r   rA   rx   rc   Úboolrv   r   )Ú
__future__r   Úapp.excel_import.parsersr   r   r   r   r   r	   r
   Úapp.excel_import.readerr   r   Úapp.excel_import.reportr   Ú
app.modelsr   r   r   r   r   Ú	app.phoner   r+   r8   rD   r`   ru   © r,   r*   Ú<module>r�      sh   ðÝ "÷÷ ñ ÷ 9Ý 0ß >Õ >Ý %óó.Fó&
ó ^ðF*Øð*àð*ð ð	*ð
 ô*r,   