def __init__(self, debug=False, dry=False, session_kwargs=None, create_schema=False) -> None: if Database.__instance__ and Database.__instancecheck__( Database.__instance__): raise FafError( "Database is a singleton and has already been instantiated. " "If you have lost the reference, you can access the object " "from Database.__instance__ .") if not session_kwargs: session_kwargs = {"autoflush": False, "autocommit": True} self._db = create_engine(get_connect_string()) self._db.echo = self._debug = debug self._dry = dry GenericTable.metadata.bind = self._db self.session = Session(self._db, **session_kwargs) self.session._flush_orig = self.session.flush #pylint: disable=protected-access self.session.flush = self._flush_session if create_schema: GenericTable.metadata.create_all() Database.__instance__ = self
def __init__(self, debug=False, dry=False, session_kwargs={"autoflush": False, "autocommit": True}, create_schema=False): if Database.__instance__ and Database.__instancecheck__(Database.__instance__): raise FafError("Database is a singleton and has already been instantiated. " "If you have lost the reference, you can access the object " "from Database.__instance__ .") self._db = create_engine(get_connect_string()) self._db.echo = self._debug = debug self._dry = dry GenericTable.metadata.bind = self._db self.session = Session(self._db, **session_kwargs) self.session._flush_orig = self.session.flush self.session.flush = self._flush_session if create_schema: GenericTable.metadata.create_all() Database.__instance__ = self
import os from sqlalchemy.engine.url import _parse_rfc1738_args import pyfaf from pyfaf.config import config, paths from pyfaf.common import get_connect_string from pyfaf.utils.parse import str2bool dburl = _parse_rfc1738_args(get_connect_string()) WEBFAF_DIR = os.path.dirname(__file__) class Config(object): DEBUG = False TESTING = False SECRET_KEY = 'NOT_A_RANDOM_STRING' SQLALCHEMY_DATABASE_URI = dburl SQLALCHEMY_TRACK_MODIFICATIONS = False OPENID_ENABLED = str2bool(config.get("openid.enabled", "false")) OPENID_FS_STORE = os.path.join(paths["spool"], "openid_store") OPENID_PRIVILEGED_TEAMS = [ s.strip() for s in config.get("openid.privileged_teams", "").split(",") ] PROXY_SETUP = False MAX_CONTENT_LENGTH = int(config["dumpdir.maxdumpdirsize"]) TEMPLATES_DIR = os.path.join(WEBFAF_DIR, "templates") ADMINS = config.get("mail.admins", "").split(",") MAIL_SERVER = config.get("mail.server", "localhost") MAIL_PORT = config.get("mail.port", "25") MAIL_USERNAME = config.get("mail.username", None) MAIL_PASSWORD = config.get("mail.password", None) MAIL_FROM = config.get("mail.from", 'no-reply@' + MAIL_SERVER)
def __init__(self, autocommit=False) -> None: self.engine = create_engine(get_connect_string(), echo=False) self.sessionmaker = sessionmaker(bind=self.engine, autocommit=autocommit)
def __init__(self, autocommit=False): self.engine = create_engine(get_connect_string(), echo=False) self.sessionmaker = sessionmaker(bind=self.engine, autocommit=autocommit)
import os from sqlalchemy.engine.url import _parse_rfc1738_args from pyfaf.config import config, paths from pyfaf.common import get_connect_string from pyfaf.utils.parse import str2bool dburl = _parse_rfc1738_args(get_connect_string()) WEBFAF_DIR = os.path.dirname(__file__) class Config(object): DEBUG = False TESTING = False SECRET_KEY = 'NOT_A_RANDOM_STRING' SQLALCHEMY_DATABASE_URI = dburl OPENID_ENABLED = str2bool(config.get("openid.enabled", "false")) OPENID_FS_STORE = os.path.join(paths["spool"], "openid_store") OPENID_PRIVILEGED_TEAMS = [s.strip() for s in config.get("openid.privileged_teams", "").split(",")] PROXY_SETUP = False MAX_CONTENT_LENGTH = int(config["dumpdir.maxdumpdirsize"]) RSTPAGES_SRC = os.path.join(WEBFAF_DIR, "templates") RSTPAGES_RST_SETTINGS = {'initial_header_level': 3} ADMINS = config.get("mail.admins", "").split(",") MAIL_SERVER = config.get("mail.server", "localhost") MAIL_PORT = config.get("mail.port", "25") MAIL_USERNAME = config.get("mail.username", None) MAIL_PASSWORD = config.get("mail.password", None) MAIL_FROM = config.get("mail.from", 'no-reply@' + MAIL_SERVER) BRAND_TITLE = config.get("hub.brand_title", "FAF") BRAND_SUBTITLE = config.get("hub.brand_subtitle", "Fedora Analysis Framework") CACHE_TYPE = config.get("cache.type", "simple")