Ë
    º2Úiq  ã                   ó„   — d dl mZ d dlmZ d dlmZ d dlmZ  G d„ d«      Z G d„ d«      Z	 G d	„ d
«      Z
 G d„ d«      Zy)é    )ÚOrderedDict)ÚNON_FIELD_ERRORS)Ú	force_str)ÚDatasetc                   ó   — e Zd Zdd„Zy)ÚErrorNc                 ó.   — || _         || _        || _        y ©N)ÚerrorÚ	tracebackÚrow)Úselfr   r   r   s       úL/var/www/html/acx/venv/lib/python3.12/site-packages/import_export/results.pyÚ__init__zError.__init__	   s   € ØˆŒ
Ø"ˆŒØˆ�ó    )NN)Ú__name__Ú
__module__Ú__qualname__r   © r   r   r   r      s   „ ôr   r   c                   óL   — e Zd ZdZdZdZdZdZdZdZ	 e
eeeeg«      Zd„ Zd	„ Zy
)Ú	RowResultz.Container for values relating to a row import.ÚupdateÚnewÚdeleteÚskipr   Úinvalidc                 ó�   — g | _         d | _        d | _        d | _        i | _        d | _        d | _        d | _        d | _        d | _	        y r
   )
ÚerrorsÚvalidation_errorÚdiffÚimport_typeÚ
row_valuesÚ	object_idÚobject_reprÚinstanceÚoriginalÚ
new_record©r   s    r   r   zRowResult.__init__"   s_   € ð ˆŒð !%ˆÔð ˆŒ	ð  ˆÔð ˆŒð ˆŒð  ˆÔð ˆŒð ˆŒð
 ˆ�r   c                 óN   — |�#t        |dd «      | _        t        |«      | _        y y )NÚpk)Úgetattrr#   r   r$   )r   r%   s     r   Úadd_instance_infozRowResult.add_instance_infoF   s*   € ØÐä$ X¨t°TÓ:ˆDŒNÜ(¨Ó2ˆDÕð  r   N)r   r   r   Ú__doc__ÚIMPORT_TYPE_UPDATEÚIMPORT_TYPE_NEWÚIMPORT_TYPE_DELETEÚIMPORT_TYPE_SKIPÚIMPORT_TYPE_ERRORÚIMPORT_TYPE_INVALIDÚ	frozensetÚvalid_import_typesr   r,   r   r   r   r   r      sO   „ Ù8à!ÐØ€OØ!ÐØÐØÐØ#Ðá"àØØØð		
óÐò"óH3r   r   c                   óF   — e Zd ZdZd„ Zed„ «       Zed„ «       Zed„ «       Zy)Ú
InvalidRowzVA row that resulted in one or more ``ValidationError``
    being raised during import.c                 óž   — || _         || _        || _        	 |j                  | _        y # t
        $ r t        |j                  i| _        Y y w xY wr
   )Únumberr   ÚvaluesÚmessage_dictÚ
error_dictÚAttributeErrorr   Úmessages)r   r9   r   r:   s       r   r   zInvalidRow.__init__Q   sN   € ØˆŒØ%ˆŒ
ØˆŒð	LØ.×;Ñ;ˆD�OøÜò 	LÜ/Ð1A×1JÑ1JÐKˆDŽOð	Lús   —) © AÁAc                 ó|   — | j                   j                  «       D ��ci c]  \  }}|t        k7  r||“Œ c}}S c c}}w )zFReturns a dictionary of field-specific validation errors for this row.)r<   Úitemsr   )r   ÚkeyÚvalues      r   Úfield_specific_errorsz InvalidRow.field_specific_errorsZ   sB   € ð
 #Ÿo™o×3Ñ3Ó5÷
á��UØÔ&Ò&ð �‰Jó
ð 	
ùó 
s   ž8c                 óB   — | j                   j                  t        g «      S )zDReturns a list of non field-specific validation errors for this row.)r<   Úgetr   r(   s    r   Únon_field_specific_errorsz$InvalidRow.non_field_specific_errorsc   s   € ð �‰×"Ñ"Ô#3°RÓ8Ð8r   c                 ód   — d}| j                   j                  «       D ]  }|t        |«      z  }Œ |S )z;Returns the total number of validation errors for this row.r   )r<   r:   Úlen)r   ÚcountÚ
error_lists      r   Úerror_countzInvalidRow.error_counth   s8   € ð ˆØŸ/™/×0Ñ0Ó2ò 	%ˆJØ”S˜“_Ñ$‰Eð	%àˆr   N)	r   r   r   r-   r   ÚpropertyrC   rF   rK   r   r   r   r7   r7   M   sI   „ ñ#òLð ñ
ó ð
ð ñ9ó ð9ð ñó ñr   r7   c                   ó`   ‡ — e Zd Zˆ fd„Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zˆ xZS )ÚResultc           	      ór  •— t         ‰| �  «        g | _        g | _        g | _        g | _        t        «       | _        t        t        j                  dft        j                  dft        j                  dft        j                  dft        j                  dft        j                  dfg«      | _        d| _        y )Nr   )Úsuperr   Úbase_errorsÚdiff_headersÚrowsÚinvalid_rowsr   Úfailed_datasetr   r   r/   r.   r0   r1   r2   r3   ÚtotalsÚ
total_rows)r   ÚargsÚkwargsÚ	__class__s      €r   r   zResult.__init__r   s¥   ø€ Ü‰ÑÔØˆÔØˆÔØˆŒ	ØˆÔÜ%›iˆÔÜ!ä×*Ñ*¨AÐ.Ü×-Ñ-¨qÐ1Ü×-Ñ-¨qÐ1Ü×+Ñ+¨QÐ/Ü×,Ñ,¨aÐ0Ü×.Ñ.°Ð2ðó	
ˆŒð ˆ�r   c                 óz   — | j                   D �cg c]!  }|j                  t        j                  v sŒ |‘Œ# c}S c c}w r
   )rS   r!   r   r5   )r   Úrs     r   Ú
valid_rowszResult.valid_rows…   s+   € ØŸ9™9ÖV�a¨¯©¼×9UÑ9UÒ(U’ÒVÐVùÒVs   �!8±8c                 ó:   — | j                   j                  |«       y r
   )rS   Úappend©r   Ú
row_results     r   Úappend_row_resultzResult.append_row_resultˆ   s   € Ø�	‰	×Ñ˜Õ$r   c                 ó:   — | j                   j                  |«       y r
   )rQ   r_   )r   r   s     r   Úappend_base_errorzResult.append_base_error‹   s   € Ø×Ñ×Ñ Õ&r   c                 óJ   — |s
t        «       n|}|dgz   | j                  _        y )Nr   )ÚlistrU   Úheaders)r   rg   s     r   Úadd_dataset_headerszResult.add_dataset_headersŽ   s"   € Ù '”$”&¨WˆØ&-°°	Ñ&9ˆ×ÑÕ#r   c                 ó&  — |j                  «       D ��cg c]  \  }}|‘Œ	 }}}	 |j                  t        |j                  «      «       | j
                  j                  |«       y c c}}w # t        $ r |j                  t        |«      «       Y ŒGw xY wr
   )r@   r_   Ústrr   r=   rU   )r   r   r   ÚkÚvr"   s         r   Úappend_failed_rowzResult.append_failed_row’   sy   € Ø&)§i¡i£k×2™F˜Q ’aÐ2ˆ
Ñ2ð	*Ø×Ñœc %§+¡+Ó.Ô/ð 	×Ñ×"Ñ" :Õ.ùó 3øô ò 	*Ø×Ñœc %›jÖ)ð	*ús   ”A$¤$A* Á*#BÂBc                 ó�   ‡— t        ˆfd„| j                  D «       «      }| j                  j                  t	        |||¬«      «       y )Nc              3   óB   •K  — | ]  }‰j                  |d «      –— Œ y­w)z---N)rE   )Ú.0Úcolr   s     €r   ú	<genexpr>z,Result.append_invalid_row.<locals>.<genexpr>�   s   øè ø€ ÒH¨s�s—w‘w˜s E×*ÑHùs   ƒ)r9   r   r:   )ÚtuplerR   rT   r_   r7   )r   r9   r   r   r:   s     `  r   Úappend_invalid_rowzResult.append_invalid_rowš   s=   ø€ ô ÓH°d×6GÑ6GÔHÓHˆØ×Ñ× Ñ Ü˜fÐ7GÐPVÔWõ	
r   c                 ó`   — |j                   r"| j                  |j                   xx   dz  cc<   y y ©Né   )r!   rV   r`   s     r   Úincrement_row_result_totalz!Result.increment_row_result_total¢   s*   € Ø×!Ò!Ø�K‰K˜
×.Ñ.Ó/°1Ñ4Ô/ð "r   c                 ó–   — t        | j                  «      D ��cg c]#  \  }}|j                  sŒ|dz   |j                  f‘Œ% c}}S c c}}w rv   )Ú	enumeraterS   r   )r   Úir   s      r   Ú
row_errorszResult.row_errors¦   s6   € Ü2;¸D¿I¹IÓ2F×U©¨¨3È#Ï*Ë*��Q‘˜Ÿ
™
Ò#ÓUÐUùÓUs
   ™A®Ac                 óP   — t        | j                  xs | j                  «       «      S )z�Returns a boolean indicating whether the import process resulted in
        any critical (non-validation) errors for this result.)ÚboolrQ   r|   r(   s    r   Ú
has_errorszResult.has_errors©   s!   € ô �D×$Ñ$Ò9¨¯©Ó(9Ó:Ð:r   c                 ó,   — t        | j                  «      S )zrReturns a boolean indicating whether the import process resulted in
        any validation errors for this result.)r~   rT   r(   s    r   Úhas_validation_errorszResult.has_validation_errors®   s   € ô �D×%Ñ%Ó&Ð&r   c                 ó,   — t        | j                  «      S r
   )ÚiterrS   r(   s    r   Ú__iter__zResult.__iter__³   s   € Ü�D—I‘I‹Ðr   )r   r   r   r   r]   rb   rd   rh   rm   rt   rx   r|   r   r�   r„   Ú__classcell__)rZ   s   @r   rN   rN   q   sA   ø„ ôò&Wò%ò'ò:ò/ò
ò5òVò;ò
'ö
r   rN   N)Úcollectionsr   Údjango.core.exceptionsr   Údjango.utils.encodingr   Útablibr   r   r   r7   rN   r   r   r   ú<module>rŠ      s=   ðÝ #å 3Ý +Ý ÷ñ ÷;3ñ ;3÷|!ñ !÷HCò Cr   