main commit
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2025-10-16 16:30:25 +09:00
parent 91c7e04474
commit 537e7b363f
1146 changed files with 45926 additions and 77196 deletions

View File

@@ -1,5 +1,5 @@
# ext/asyncio/base.py
# Copyright (C) 2020-2025 the SQLAlchemy authors and contributors
# Copyright (C) 2020-2023 the SQLAlchemy authors and contributors
# <see AUTHORS file>
#
# This module is part of SQLAlchemy and is released under
@@ -44,10 +44,12 @@ class ReversibleProxy(Generic[_PT]):
__slots__ = ("__weakref__",)
@overload
def _assign_proxied(self, target: _PT) -> _PT: ...
def _assign_proxied(self, target: _PT) -> _PT:
...
@overload
def _assign_proxied(self, target: None) -> None: ...
def _assign_proxied(self, target: None) -> None:
...
def _assign_proxied(self, target: Optional[_PT]) -> Optional[_PT]:
if target is not None:
@@ -71,26 +73,28 @@ class ReversibleProxy(Generic[_PT]):
cls._proxy_objects.pop(ref, None)
@classmethod
def _regenerate_proxy_for_target(
cls, target: _PT, **additional_kw: Any
) -> Self:
def _regenerate_proxy_for_target(cls, target: _PT) -> Self:
raise NotImplementedError()
@overload
@classmethod
def _retrieve_proxy_for_target(
cls, target: _PT, regenerate: Literal[True] = ..., **additional_kw: Any
) -> Self: ...
cls,
target: _PT,
regenerate: Literal[True] = ...,
) -> Self:
...
@overload
@classmethod
def _retrieve_proxy_for_target(
cls, target: _PT, regenerate: bool = True, **additional_kw: Any
) -> Optional[Self]: ...
cls, target: _PT, regenerate: bool = True
) -> Optional[Self]:
...
@classmethod
def _retrieve_proxy_for_target(
cls, target: _PT, regenerate: bool = True, **additional_kw: Any
cls, target: _PT, regenerate: bool = True
) -> Optional[Self]:
try:
proxy_ref = cls._proxy_objects[weakref.ref(target)]
@@ -102,7 +106,7 @@ class ReversibleProxy(Generic[_PT]):
return proxy # type: ignore
if regenerate:
return cls._regenerate_proxy_for_target(target, **additional_kw)
return cls._regenerate_proxy_for_target(target)
else:
return None
@@ -178,7 +182,7 @@ class GeneratorStartableContext(StartableContext[_T_co]):
# tell if we get the same exception back
value = typ()
try:
await self.gen.athrow(value)
await util.athrow(self.gen, typ, value, traceback)
except StopAsyncIteration as exc:
# Suppress StopIteration *unless* it's the same exception that
# was passed to throw(). This prevents a StopIteration
@@ -215,7 +219,7 @@ class GeneratorStartableContext(StartableContext[_T_co]):
def asyncstartablecontext(
func: Callable[..., AsyncIterator[_T_co]],
func: Callable[..., AsyncIterator[_T_co]]
) -> Callable[..., GeneratorStartableContext[_T_co]]:
"""@asyncstartablecontext decorator.
@@ -224,9 +228,7 @@ def asyncstartablecontext(
``@contextlib.asynccontextmanager`` supports, and the usage pattern
is different as well.
Typical usage:
.. sourcecode:: text
Typical usage::
@asyncstartablecontext
async def some_async_generator(<arguments>):