o
    q~9S
  ã                   @   sØ   d dl mZ d dlZd dlmZ d dlmZ ejdk r dd„ Zndd„ Zzd d	l	m
Z
 W n. eyZ   zd d
l	mZ W n eyJ   edd„ ƒZY nw d dl	mZ ejZejZY dS w eddd„ƒZdd„ Zdd„ ZdS )é    )Úabsolute_importN)Úcontextmanager)Útransaction)é   é   c                 C   ó   |   ¡ S ©N)Úget_query_set©Ús© r   ú=/var/www/html/env/lib/python3.10/site-packages/djcelery/db.pyÚget_queryset
   ó   r   c                 C   r   r   )r   r
   r   r   r   r      r   )Úatomic)ÚTransactionc               
   o   sÜ   � zct j| i |¤Ž t jdg| ¢R i |¤Ž zd V  W n   t j| i |¤Žr/t j| i |¤Ž ‚ t j| i |¤ŽrOz
t j| i |¤Ž W n   t j| i |¤Ž ‚ W t j| i |¤Ž d S W t j| i |¤Ž d S t j| i |¤Ž w )NT)r   Úenter_transaction_managementÚmanagedÚis_dirtyÚrollbackÚcommitÚleave_transaction_management©ÚargsÚkwargsr   r   r   Úcommit_on_success   s(   €
ûû&r   )r   c                 c   sT   � t  | ¡}|jjrd V  d S t  | ¡� d V  W d   ƒ d S 1 s#w   Y  d S r   )r   Úget_connectionÚfeaturesÚ"autocommits_when_autocommit_is_offr   )ÚusingÚ
connectionr   r   r   r   1   s   €

"ÿc                  O   ó   d S r   r   r   r   r   r   Úcommit_unless_managed;   ó   r"   c                  O   r!   r   r   r   r   r   r   Úrollback_unless_managed>   r#   r$   r   )Ú
__future__r   ÚdjangoÚ
contextlibr   Ú	django.dbr   ÚVERSIONr   Údjango.db.transactionr   ÚImportErrorr   r   r"   r$   r   r   r   r   Ú<module>   s0    

þã	