Adjusted files for isort & autopep

This commit is contained in:
creyD
2024-11-12 08:54:34 +00:00
committed by github-actions[bot]
parent 2940ddbdcd
commit 50031556f9
2 changed files with 22 additions and 22 deletions

View File

@@ -17,8 +17,14 @@ SQLALCHEMY_DATABASE_URL = f"postgresql+psycopg://{user}:{password}@{host}:{port}
async_engine = create_async_engine(SQLALCHEMY_DATABASE_URL + name, pool_pre_ping=True) async_engine = create_async_engine(SQLALCHEMY_DATABASE_URL + name, pool_pre_ping=True)
AsyncSessionLocal = sessionmaker(bind=async_engine, class_=AsyncSession, AsyncSessionLocal = sessionmaker(
expire_on_commit=False, autoflush=False, autocommit=False) bind=async_engine,
class_=AsyncSession,
expire_on_commit=False,
autoflush=False,
autocommit=False,
)
async def get_async_db() -> AsyncGenerator[AsyncSession, None]: async def get_async_db() -> AsyncGenerator[AsyncSession, None]:
async with AsyncSessionLocal() as db: async with AsyncSessionLocal() as db:

View File

@@ -10,7 +10,7 @@ from fastapi_pagination.types import (
AdditionalData, AdditionalData,
SyncItemsTransformer, SyncItemsTransformer,
AsyncItemsTransformer, AsyncItemsTransformer,
ItemsTransformer ItemsTransformer,
) )
from fastapi_pagination.api import create_page, apply_items_transformer from fastapi_pagination.api import create_page, apply_items_transformer
from fastapi_pagination.utils import verify_params from fastapi_pagination.utils import verify_params
@@ -112,6 +112,7 @@ def unwrap_scalars(
) -> Union[Sequence[T], Sequence[Sequence[T]]]: ) -> Union[Sequence[T], Sequence[Sequence[T]]]:
return [item[0] if force_unwrap else item for item in items] return [item[0] if force_unwrap else item for item in items]
def _get_sync_conn_from_async(conn: Any) -> Session: # pragma: no cover def _get_sync_conn_from_async(conn: Any) -> Session: # pragma: no cover
if isinstance(conn, async_scoped_session): if isinstance(conn, async_scoped_session):
conn = conn() conn = conn()
@@ -124,6 +125,7 @@ def _get_sync_conn_from_async(conn: Any) -> Session: # pragma: no cover
raise TypeError("conn must be an AsyncConnection or AsyncSession") raise TypeError("conn must be an AsyncConnection or AsyncSession")
@overload @overload
def paginate( def paginate(
connection: Session, connection: Session,
@@ -152,19 +154,21 @@ def _paginate(
params: Optional[AbstractParams] = None, params: Optional[AbstractParams] = None,
transformer: Optional[ItemsTransformer] = None, transformer: Optional[ItemsTransformer] = None,
additional_data: Optional[AdditionalData] = None, additional_data: Optional[AdditionalData] = None,
async_:bool = False async_: bool = False,
): ):
if async_: if async_:
def _apply_items_transformer(*args: Any, **kwargs: Any) -> Any: def _apply_items_transformer(*args: Any, **kwargs: Any) -> Any:
return await_only(apply_items_transformer(*args, **kwargs, async_=True)) return await_only(apply_items_transformer(*args, **kwargs, async_=True))
else: else:
_apply_items_transformer = apply_items_transformer _apply_items_transformer = apply_items_transformer
params, raw_params = verify_params(params, "limit-offset", "cursor") params, raw_params = verify_params(params, "limit-offset", "cursor")
count_query = create_count_query(query) count_query = create_count_query(query)
total = connection.scalar(count_query) total = connection.scalar(count_query)
if params.pagination is False and total > 0: if params.pagination is False and total > 0:
params = Params(page=1, size=total) params = Params(page=1, size=total)
else: else:
@@ -183,6 +187,7 @@ def _paginate(
**(additional_data or {}), **(additional_data or {}),
) )
def paginate( def paginate(
connection: Session, connection: Session,
query: Select, query: Select,
@@ -190,21 +195,10 @@ def paginate(
transformer: Optional[ItemsTransformer] = None, transformer: Optional[ItemsTransformer] = None,
additional_data: Optional[AdditionalData] = None, additional_data: Optional[AdditionalData] = None,
): ):
if isinstance(connection,AsyncSession): if isinstance(connection, AsyncSession):
connection = _get_sync_conn_from_async(connection) connection = _get_sync_conn_from_async(connection)
return greenlet_spawn(_paginate, return greenlet_spawn(
connection, _paginate, connection, query, params, transformer, additional_data, async_=True
query,
params,
transformer,
additional_data,
async_=True)
return _paginate(
connection,
query,
params,
transformer,
additional_data,
async_=False
) )
return _paginate(connection, query, params, transformer, additional_data, async_=False)