o
     e                     @   s&   d dl mZ G dd dZdd ZdS )    )transactionc                   @   s(   e Zd ZdZdd Zdd Zd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                 C   s    || _ |rtj|d| _d S d S )N)using)using_transactionsr   atomiccontext_manager)selfr   r    r	   F/var/www/html/venv/lib/python3.10/site-packages/import_export/utils.py__init__   s   z$atomic_if_using_transaction.__init__c                 C   s   | j r
| j  d S d S N)r   r   	__enter__)r   r	   r	   r
   r      s   z%atomic_if_using_transaction.__enter__c                 G   s   | j r| jj|  d S d S r   )r   r   __exit__)r   argsr	   r	   r
   r      s   z$atomic_if_using_transaction.__exit__N)__name__
__module____qualname____doc__r   r   r   r	   r	   r	   r
   r      s
    
r   c                 C   s
   d| _ | S )z
    A decorator used to mark some class methods as 'original',
    making it easy to detect whether they have been overridden
    by a subclass. Useful for method deprecation.
    T)is_original)methodr	   r	   r
   original   s   r   N)	django.dbr   r   r   r	   r	   r	   r
   <module>   s    