Esempio n. 1
0
                return func(*args, **kwargs)
        else:
            return func(*args, **kwargs)

    return with_session


def _get_sql_url(db_path, encrypted: bool, db_key=None):
    if encrypted:
        return "sqlite+pysqlcipher://:x'" + db_key + "'@/" + db_path
    else:
        return "sqlite:///" + db_path


CONFIG_DIR = get_arg_config_path()
DATABASE_PATH = format_config_path(
    CONFIG_DIR, "Koala.db" if ENCRYPTED_DB else "windows_Koala.db")
logger.debug("Database Path: " + DATABASE_PATH)
engine = create_engine(_get_sql_url(db_path=DATABASE_PATH,
                                    encrypted=ENCRYPTED_DB,
                                    db_key=DB_KEY),
                       future=True)
Session = sessionmaker(future=True)
Session.configure(bind=engine)


@contextmanager
def session_manager():
    """
    Provide a transactional scope around a series of operations
    """
    session = Session()
Esempio n. 2
0
def test_format_db_path_windows():
    db_path = format_config_path("/test_dir/", "windows_test.db")
    assert db_path == "\\test_dir\\windows_test.db"
Esempio n. 3
0
def test_format_db_path_linux_absolute():
    db_path = format_config_path("/test_dir/", "test.db")
    assert db_path == "/test_dir/test.db"
Esempio n. 4
0
def _get_file_handler(log_name, log_level):
    file_handler = logging.FileHandler(
        filename=format_config_path(_LOG_DIR, log_name))
    file_handler.setFormatter(_FORMATTER)
    file_handler.setLevel(log_level)
    return file_handler
Esempio n. 5
0
def _get_default_warn_log():
    koala_log = logging.FileHandler(
        filename=format_config_path(_LOG_DIR, "KoalaBotWarn.log"))
    koala_log.setFormatter(_FORMATTER)
    koala_log.setLevel(logging.WARN)
    return koala_log
Esempio n. 6
0
import sys
import logging
from datetime import date

from pathlib import Path

from koala.utils import format_config_path
from koala.env import CONFIG_PATH, LOGGING_FILE

# load_dotenv()
_LOG_LEVEL = logging.DEBUG
_FORMATTER = logging.Formatter("%(asctime)s %(levelname)-8s %(message)s")
_LOG_DIR = format_config_path(CONFIG_PATH, "logs", str(date.today()))

Path(_LOG_DIR).mkdir(exist_ok=True, parents=True)

# logging.basicConfig(filename=format_config_path(_LOG_DIR, 'KoalaBot.log'),
#                     level=logging.WARN,
#                     format='%(asctime)s %(levelname)-8s %(message)s')


def _get_default_warn_log():
    koala_log = logging.FileHandler(
        filename=format_config_path(_LOG_DIR, "KoalaBotWarn.log"))
    koala_log.setFormatter(_FORMATTER)
    koala_log.setLevel(logging.WARN)
    return koala_log


def _get_file_handler(log_name, log_level):
    file_handler = logging.FileHandler(