Exemplo n.º 1
0
from sqlalchemy_utils import UUIDType
from botocore.exceptions import ClientError

import cg_broker
import cg_sqlalchemy_helpers as cgs
from cg_logger import bound_to_logger
from cg_timers import timed_code
from cg_dt_utils import DatetimeWithTimezone
from cg_flask_helpers import callback_after_this_request
from cg_sqlalchemy_helpers import JSONB, types, mixins, hybrid_property

from . import BrokerFlask, app, utils

logger = structlog.get_logger()

db: cgs.types.MyDb = cgs.make_db()

T = t.TypeVar('T')


def init_app(flask_app: BrokerFlask) -> None:
    cgs.init_app(db, flask_app)


if t.TYPE_CHECKING:  # pragma: no cover
    from cg_sqlalchemy_helpers.types import Base
else:
    Base: cgs.types.Base = db.Model  # pylint: disable=invalid-name

_T = t.TypeVar('_T', bound='Base')
Exemplo n.º 2
0
    :show-inheritance:

SPDX-License-Identifier: AGPL-3.0-only
"""

import typing as t

import cg_sqlalchemy_helpers
from cg_sqlalchemy_helpers import UUID_LENGTH
from cg_sqlalchemy_helpers.types import (  # pylint: disable=unused-import
    MyDb, MyQuery, DbColumn, _MyQuery)

from .. import PsefFlask
from ..cache import cache_within_request

db: MyDb = cg_sqlalchemy_helpers.make_db()  # pylint: disable=invalid-name


def init_app(app: PsefFlask) -> None:
    """Initialize the database connections and set some listeners.

    :param app: The flask app to initialize for.
    :returns: Nothing
    """
    cg_sqlalchemy_helpers.init_app(db, app)


if t.TYPE_CHECKING and getattr(t, 'SPHINX',
                               False) is not True:  # pragma: no cover
    from cg_sqlalchemy_helpers.types import Base, Comparator
    cached_property = property  # pylint: disable=invalid-name