U a @sddlmZddlmZddlmZddlmZeedddd d gd d d ddddddddddddddddddd d!gd"d#d$d%d&d'd(d)d*g d+Gd,d-d-eZd.S)/) AsyncSession)ScopedSessionMixin)create_proxy_methods)ScopedRegistryz:class:`_asyncio.AsyncSession`z.:class:`_asyncio.scoping.async_scoped_session`Z close_allZobject_sessionZ identity_key __contains____iter__addZadd_allbeginZ begin_nestedclosecommit connectiondeleteexecuteZexpireZ expire_allZexpungeZ expunge_allflushgetZget_bindZ is_modifiedmergeZrefreshrollbackZscalarbindZdirtyZdeletednewZ identity_mapZ is_activeZ autoflushZ no_autoflushinfo)Z classmethodsmethods attributesc@s,eZdZdZddZeddZddZdS) async_scoped_sessionzProvides scoped management of :class:`.AsyncSession` objects. See the section :ref:`asyncio_scoped_session` for usage details. .. versionadded:: 1.4.19 cCs||_t|||_dS)aConstruct a new :class:`_asyncio.async_scoped_session`. :param session_factory: a factory to create new :class:`_asyncio.AsyncSession` instances. This is usually, but not necessarily, an instance of :class:`_orm.sessionmaker` which itself was passed the :class:`_asyncio.AsyncSession` to its :paramref:`_orm.sessionmaker.class_` parameter:: async_session_factory = sessionmaker(some_async_engine, class_= AsyncSession) AsyncSession = async_scoped_session(async_session_factory, scopefunc=current_task) :param scopefunc: function which defines the current scope. A function such as ``asyncio.current_task`` may be useful here. N)session_factoryrregistry)selfrZ scopefuncr_C:\Users\vtejo\AppData\Local\Temp\pip-unpacked-wheel-nyjtotrf\sqlalchemy\ext\asyncio\scoping.py__init__Bszasync_scoped_session.__init__cCs|S)N)rrrrr_proxiedWszasync_scoped_session._proxiedcs*|jr|IdH|jdS)zDispose of the current :class:`.AsyncSession`, if present. Different from scoped_session's remove method, this method would use await to wait for the close method of AsyncSession. N)rZhasr clearr rrrremove[s zasync_scoped_session.removeN)__name__ __module__ __qualname____doc__rpropertyr!r#rrrrrs +  rN)sessionrZ orm.scopingrutilrrrrrrrsX    *