
    khI                     2    d dl mZ  G d d          Zd ZdS )    )transactionc                   $    e Zd ZdZd Zd Zd ZdS )atomic_if_using_transactionzContext manager wraps `atomic` if `using_transactions`.

    Replaces code::

        if using_transactions:
            with transaction.atomic(using=using):
                return something()
        return something()
    c                 P    || _         |rt          j        |          | _        d S d S )N)using)using_transactionsr   atomiccontext_manager)selfr   r   s      J/var/www/histauto/venv/lib/python3.11/site-packages/import_export/utils.py__init__z$atomic_if_using_transaction.__init__   s;    "4 	C#.#5E#B#B#BD   	C 	C    c                 J    | j         r| j                                         d S d S N)r   r
   	__enter__)r   s    r   r   z%atomic_if_using_transaction.__enter__   s2    " 	- **,,,,,	- 	-r   c                 6    | j         r | j        j        |  d S d S r   )r   r
   __exit__)r   argss     r   r   z$atomic_if_using_transaction.__exit__   s0    " 	1)D )40000	1 	1r   N)__name__
__module____qualname____doc__r   r   r    r   r   r   r      sN         C C C
- - -1 1 1 1 1r   r   c                 4    t          | d          r| j        S d S )Nrelated_model)hasattrr   )fields    r   get_related_modelr      s'    uo&& #""# #r   N)	django.dbr   r   r   r   r   r   <module>r       sX    ! ! ! ! ! !1 1 1 1 1 1 1 12# # # # #r   