o
    ٳi                     @  sj   d dl mZ d dlmZ d dlmZ d dlZd dlZd dlm	Z	 d dl
mZ dadd	d
Zedd ZdS )    )annotations)contextmanager)	GeneratorN)PooledDB)settingsreturnr   c                   C  s:   t d u rttdddtjtjtjtjtjdtj	j
dda t S )N
      Tutf8mb4F)creatormaxconnections	mincachedblockinghostportuserpassworddatabasecharsetcursorclass
autocommit)_poolr   pymysqlr   db_hostdb_portdb_userdb_passworddb_namecursors
DictCursor r    r    D/home/aiteam/pcaa-dev/call-proccessing/stt_pipeline/db/connection.py	_get_pool   s    r"   c                  c  sR    t   } zz	| V  |   W n ty   |    w W |   d S |   w )N)r"   
connectioncommit	Exceptionrollbackclose)connr    r    r!   get_connection   s   
r)   )r   r   )
__future__r   
contextlibr   typingr   r   pymysql.cursorsdbutils.pooled_dbr   config.settingsr   r   r"   r)   r    r    r    r!   <module>   s    
