mirror of
https://github.com/creyD/creyPY.git
synced 2026-04-16 13:20:31 +02:00
Adjusted files for isort & autopep
This commit is contained in:
committed by
github-actions[bot]
parent
2940ddbdcd
commit
50031556f9
@@ -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:
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user