o
    g                     @   sR   d dl mZ d dlmZmZ d dlmZ d dlmZ d dl	m
Z
 G dd dZdS )	    )	DATABASES)create_enginepool)declarative_base)sessionmaker)
quote_plusc                   @   s   e Zd Ze Zedd ZdS )
Connectionc                 C   s   t | }|d }|d }|d }|d }|d }|d }t|}	| d| d|	 d	| d| d
| }
t|
dtjd}t|d}| S )a  
        Returns a session object for the specified database connection.

        Args:
            connection_name (str): The name of the database connection.

        Returns:
            Session: A session object for the specified database connection.
        DB_HOSTDB_USERDB_PASSWORDDB_PORTDB_NAMEDB_TYPEz://:@/T)pool_pre_ping	poolclass)bind)r   r   r   r   NullPoolr   )selfconnection_namedatar	   r
   r   r   r   r   encoded_passwordconnection_stringengineSession r   '/var/www/html/api-tag/lib/Connection.pyget_session   s   &
zConnection.get_sessionN)__name__
__module____qualname__r   Baseclassmethodr   r   r   r   r   r      s    r   N)
app_configr   
sqlalchemyr   r   sqlalchemy.ext.declarativer   sqlalchemy.ormr   urllib.parser   r   r   r   r   r   <module>   s    