Example #1
0
 def modify_url_for_impersonation(cls, url: URL, impersonate_user: bool,
                                  username: Optional[str]) -> None:
     """
     Modify the SQL Alchemy URL object with the user to impersonate if applicable.
     :param url: SQLAlchemy URL object
     :param impersonate_user: Flag indicating if impersonation is enabled
     :param username: Effective username
     """
     if impersonate_user and username is not None:
         url.username = username
 def modify_url_for_impersonation(cls, url: URL, impersonate_user: bool,
                                  username: Optional[str]) -> None:
     """
     Modify the SQL Alchemy URL object with the user to impersonate if applicable.
     :param url: SQLAlchemy URL object
     :param impersonate_user: Flag indicating if impersonation is enabled
     :param username: Effective username
     """
     if impersonate_user and username is not None:
         if url.drivername == "drill+odbc":
             url.query["DelegationUID"] = username
         elif url.drivername == "drill+jdbc":
             url.query["impersonation_target"] = username
         else:
             url.username = username
Example #3
0
from sqlalchemy import create_engine
from sqlalchemy.engine.url import URL
from sqlalchemy.orm import sessionmaker, Session, scoped_session

from .config import database_config

__engine_url = URL(database_config['driver'])
__engine_url.username = database_config['user']
__engine_url.password = database_config['password']
__engine_url.host = database_config['host']
__engine_url.database = database_config['name']

engine_url = str(__engine_url)

__engine = create_engine(str(__engine_url) + '?charset=utf8')


class __Database:

    __session = None

    def __init__(self, session_maker):
        """

        :type session_maker: sessionmaker
        """
        self.__session__maker = session_maker

    def get_session(self):
        """