o
    Qg3                     @   s   d dl m Z  d dlmZ d dlmZ d dlmZmZmZ d dl	m
Z
mZ d dlZejejd edZeejd	d
ddddZe
d	d	ed	dZdd Zde fddZdS )    )datetime)ZoneInfo)settings)create_engineeventselect)sessionmakerSessionN)level	adimsayarFT
      i  )echopool_pre_ping	pool_sizemax_overflowpool_recycle)
autocommit	autoflushbindexpire_on_commitc               
   c   sd    t  } z(z| V  W n ty% } ztdt|  |    d }~ww W |   d S |   w )NzDatabase session error: )SessionLocal	Exceptionloggererrorstrrollbackclose)dbe r    /app/app/core/time.pyget_db   s   
r"   returnc               
   C   sF   zt tj} W n ty } z
t d} W Y d}~nd}~ww t| S )z
    Returns the current datetime in the timezone specified in settings.TIMEZONE.
    If the timezone is not available, it falls back to UTC.
    UTCN)r   r   TIMEZONEr   r   now)tzr   r    r    r!   r&   )   s   
r&   )r   Zzoneinfor   app.core.configr   
sqlalchemyr   r   r   sqlalchemy.ormr   r	   loggingbasicConfigINFO	getLoggerr   SQLALCHEMY_DATABASE_URIenginer   r"   r&   r    r    r    r!   <module>   s0   

