if args.generate_registration: config.generate_registration() config.save() print(f"Registration generated and saved to {config.registration_path}") sys.exit(0) logging.config.dictConfig(copy.deepcopy(config["logging"])) log = logging.getLogger("mau.init") # type: logging.Logger log.debug(f"Initializing mautrix-telegram {__version__}") db_engine = sql.create_engine(config["appservice.database"] or "sqlite:///mautrix-telegram.db") Base.metadata.bind = db_engine session_container = AlchemySessionContainer(engine=db_engine, table_base=Base, session=False, table_prefix="telethon_", manage_tables=False) session_container.core_mode = True try: import uvloop asyncio.set_event_loop_policy(uvloop.EventLoopPolicy()) log.debug("Using uvloop for asyncio") except ImportError: pass loop = asyncio.get_event_loop() # type: asyncio.AbstractEventLoop state_store = SQLStateStore() mebibyte = 1024 ** 2 appserv = AppService(config["homeserver.address"], config["homeserver.domain"], config["appservice.as_token"], config["appservice.hs_token"],
import sqlalchemy as sa from alchemysession import AlchemySessionContainer from companion.env_vars import DB_URI, SESSION_NAME if DB_URI: engine = sa.create_engine(DB_URI) connection = engine.connect() container = AlchemySessionContainer(DB_URI) container.core_mode = True SESSION = container.new_session(SESSION_NAME) else: engine = None metadata = None connection = None SESSION = SESSION_NAME