Skip to content

Commit

Permalink
Refactoring imports
Browse files Browse the repository at this point in the history
  • Loading branch information
ri-gilfanov committed Jun 21, 2021
1 parent fdf807b commit d67209f
Show file tree
Hide file tree
Showing 21 changed files with 79 additions and 51 deletions.
21 changes: 11 additions & 10 deletions aiohttp_sqlalchemy/__init__.py
Original file line number Diff line number Diff line change
@@ -1,23 +1,24 @@
from typing import TYPE_CHECKING, cast

from sqlalchemy.engine import Engine
from sqlalchemy.ext.asyncio import AsyncEngine, AsyncSession, \
create_async_engine
from sqlalchemy.ext.asyncio import (AsyncEngine, AsyncSession,
create_async_engine)
from sqlalchemy.orm import sessionmaker
from typing import cast, TYPE_CHECKING

from aiohttp_sqlalchemy.constants import DEFAULT_KEY, SA_DEFAULT_KEY
from aiohttp_sqlalchemy.decorators import sa_decorator
from aiohttp_sqlalchemy.exceptions import DuplicateAppKeyError, \
DuplicateRequestKeyError
from aiohttp_sqlalchemy.exceptions import (DuplicateAppKeyError,
DuplicateRequestKeyError)
from aiohttp_sqlalchemy.middlewares import sa_middleware
from aiohttp_sqlalchemy.utils import init_db, sa_init_db, sa_session, \
sa_session_factory
from aiohttp_sqlalchemy.utils import (init_db, sa_init_db, sa_session,
sa_session_factory)
from aiohttp_sqlalchemy.views import SAAbstractView, SABaseView, SAView


if TYPE_CHECKING:
from aiohttp.web import Application
from aiohttp_sqlalchemy.typedefs import TBinding, TBindings, TBindTo, \
TSessionFactory

from aiohttp_sqlalchemy.typedefs import (TBinding, TBindings, TBindTo,
TSessionFactory)


__version__ = '0.15.5'
Expand Down
7 changes: 5 additions & 2 deletions aiohttp_sqlalchemy/decorators.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,16 @@
from aiohttp.abc import AbstractView
from functools import wraps
from typing import TYPE_CHECKING

from aiohttp.abc import AbstractView

from aiohttp_sqlalchemy.constants import SA_DEFAULT_KEY
from aiohttp_sqlalchemy.exceptions import DuplicateRequestKeyError

if TYPE_CHECKING:
from aiohttp.web import StreamResponse
from typing import Any

from aiohttp.web import StreamResponse

from aiohttp_sqlalchemy.typedefs import THandler, THandlerWrapper


Expand Down
4 changes: 3 additions & 1 deletion aiohttp_sqlalchemy/middlewares.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
from aiohttp.web import middleware
from typing import TYPE_CHECKING

from aiohttp.web import middleware

from aiohttp_sqlalchemy.constants import SA_DEFAULT_KEY
from aiohttp_sqlalchemy.exceptions import DuplicateRequestKeyError

if TYPE_CHECKING:
from aiohttp.web import Request, StreamResponse

from aiohttp_sqlalchemy.typedefs import THandler


Expand Down
4 changes: 2 additions & 2 deletions aiohttp_sqlalchemy/typedefs.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from aiohttp.web import StreamResponse
from sqlalchemy.ext.asyncio import AsyncEngine, AsyncSession
from typing import Awaitable, Callable, Iterable, Tuple, Union

from aiohttp.web import StreamResponse
from sqlalchemy.ext.asyncio import AsyncEngine, AsyncSession

TSessionFactory = Callable[..., AsyncSession]
THandler = Callable[..., Awaitable[StreamResponse]]
Expand Down
7 changes: 5 additions & 2 deletions aiohttp_sqlalchemy/utils.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,15 @@
from typing import TYPE_CHECKING, cast

from aiohttp.web import Application, Request
from sqlalchemy.ext.asyncio import AsyncSession
from typing import cast, TYPE_CHECKING

from aiohttp_sqlalchemy.constants import SA_DEFAULT_KEY

if TYPE_CHECKING:
from sqlalchemy import MetaData
from typing import Union

from sqlalchemy import MetaData

from aiohttp_sqlalchemy.typedefs import TSessionFactory


Expand Down
8 changes: 5 additions & 3 deletions aiohttp_sqlalchemy/views.py
Original file line number Diff line number Diff line change
@@ -1,14 +1,16 @@
from abc import ABCMeta
from typing import TYPE_CHECKING

from aiohttp.abc import AbstractView
from aiohttp.web import View
from typing import TYPE_CHECKING

from aiohttp_sqlalchemy.constants import SA_DEFAULT_KEY

if TYPE_CHECKING:
from sqlalchemy.ext.asyncio import AsyncSession
from typing import Any, Optional

from sqlalchemy.ext.asyncio import AsyncSession


class SAAbstractView(AbstractView, metaclass=ABCMeta):
"""
Expand All @@ -21,7 +23,7 @@ class SAAbstractView(AbstractView, metaclass=ABCMeta):
sa_session_key: 'str' = SA_DEFAULT_KEY

def sa_session(self, key: 'Optional[str]' = None) -> 'AsyncSession':
return self.request[key or self.sa_session_key]
return self.request.get(key or self.sa_session_key)


class SAOneModelMixin(SAAbstractView, metaclass=ABCMeta):
Expand Down
5 changes: 3 additions & 2 deletions examples/hybrid_approach.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
from aiohttp import web
from datetime import datetime
from random import choice
from typing import TYPE_CHECKING

import sqlalchemy as sa
from aiohttp import web
from sqlalchemy import orm
from sqlalchemy.ext.asyncio import AsyncSession, create_async_engine
from typing import TYPE_CHECKING

import aiohttp_sqlalchemy
from aiohttp_sqlalchemy import sa_bind, sa_decorator
Expand Down
5 changes: 3 additions & 2 deletions examples/multiple_decorated_functions.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
from aiohttp import web
from datetime import datetime
from random import choice
from typing import TYPE_CHECKING

import sqlalchemy as sa
from aiohttp import web
from sqlalchemy import orm
from sqlalchemy.ext.asyncio import AsyncSession, create_async_engine
from typing import TYPE_CHECKING

import aiohttp_sqlalchemy
from aiohttp_sqlalchemy import sa_bind, sa_decorator
Expand Down
5 changes: 3 additions & 2 deletions examples/multiple_middlewares.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
from aiohttp import web
from datetime import datetime
from random import choice
from typing import TYPE_CHECKING

import sqlalchemy as sa
from aiohttp import web
from sqlalchemy import orm
from sqlalchemy.ext.asyncio import AsyncSession, create_async_engine
from typing import TYPE_CHECKING

import aiohttp_sqlalchemy
from aiohttp_sqlalchemy import sa_bind
Expand Down
5 changes: 3 additions & 2 deletions examples/nested_app.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
from aiohttp import web
from datetime import datetime
from random import choice
from typing import TYPE_CHECKING

import sqlalchemy as sa
from aiohttp import web
from sqlalchemy import orm
from sqlalchemy.ext.asyncio import AsyncSession, create_async_engine
from typing import TYPE_CHECKING

import aiohttp_sqlalchemy
from aiohttp_sqlalchemy import sa_bind, sa_decorator
Expand Down
7 changes: 4 additions & 3 deletions examples/single_decorated_cbv.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
from aiohttp import web
from datetime import datetime
from typing import TYPE_CHECKING

import sqlalchemy as sa
from aiohttp import web
from sqlalchemy import orm
from sqlalchemy.ext.asyncio import AsyncSession, create_async_engine
from typing import TYPE_CHECKING

import aiohttp_sqlalchemy
from aiohttp_sqlalchemy import sa_bind, sa_decorator, SAView
from aiohttp_sqlalchemy import SAView, sa_bind, sa_decorator

if TYPE_CHECKING:
from typing import Any
Expand Down
5 changes: 3 additions & 2 deletions examples/single_decorated_class_method.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
from aiohttp import web
from datetime import datetime
from typing import TYPE_CHECKING

import sqlalchemy as sa
from aiohttp import web
from sqlalchemy import orm
from sqlalchemy.ext.asyncio import AsyncSession, create_async_engine
from typing import TYPE_CHECKING

import aiohttp_sqlalchemy
from aiohttp_sqlalchemy import sa_bind, sa_decorator
Expand Down
5 changes: 3 additions & 2 deletions examples/single_decorated_function.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
from aiohttp import web
from datetime import datetime
from typing import TYPE_CHECKING

import sqlalchemy as sa
from aiohttp import web
from sqlalchemy import orm
from sqlalchemy.ext.asyncio import AsyncSession, create_async_engine
from typing import TYPE_CHECKING

import aiohttp_sqlalchemy
from aiohttp_sqlalchemy import sa_bind, sa_decorator
Expand Down
7 changes: 4 additions & 3 deletions examples/single_middleware.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
from aiohttp import web
import aiohttp_sqlalchemy
from aiohttp_sqlalchemy import sa_session
from datetime import datetime

import sqlalchemy as sa
from aiohttp import web
from sqlalchemy import orm

import aiohttp_sqlalchemy
from aiohttp_sqlalchemy import sa_session

metadata = sa.MetaData()
Base = orm.declarative_base(metadata=metadata)
Expand Down
6 changes: 4 additions & 2 deletions tests/conftest.py
Original file line number Diff line number Diff line change
@@ -1,18 +1,20 @@
from typing import TYPE_CHECKING, cast

import pytest
from aiohttp import web
from aiohttp.hdrs import METH_GET
from aiohttp.test_utils import make_mocked_request
from aiohttp.web_app import Application
import pytest
from sqlalchemy import orm
from sqlalchemy.ext.asyncio import AsyncSession, create_async_engine
from typing import cast, TYPE_CHECKING

import aiohttp_sqlalchemy
from aiohttp_sqlalchemy import SA_DEFAULT_KEY, sa_bind, sa_middleware

if TYPE_CHECKING:
from aiohttp.web import Request, Response
from sqlalchemy.ext.asyncio import AsyncEngine

from aiohttp_sqlalchemy.typedefs import THandler, TSessionFactory


Expand Down
5 changes: 3 additions & 2 deletions tests/test_bind.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
from typing import TYPE_CHECKING

import pytest
from sqlalchemy import create_engine
from sqlalchemy.ext.asyncio import AsyncSession
from sqlalchemy.orm import sessionmaker
import pytest
from typing import TYPE_CHECKING

import aiohttp_sqlalchemy

Expand Down
7 changes: 4 additions & 3 deletions tests/test_decorators.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
from typing import TYPE_CHECKING

import pytest
from sqlalchemy.ext.asyncio import AsyncSession
from typing import TYPE_CHECKING

from aiohttp_sqlalchemy import DuplicateRequestKeyError, sa_decorator, \
SA_DEFAULT_KEY
from aiohttp_sqlalchemy import (SA_DEFAULT_KEY, DuplicateRequestKeyError,
sa_decorator)
from tests.conftest import ClassBasedView, ClassHandler, function_handler

if TYPE_CHECKING:
Expand Down
4 changes: 3 additions & 1 deletion tests/test_middlewares.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
from typing import TYPE_CHECKING

import pytest
from sqlalchemy.ext.asyncio import AsyncSession
from typing import TYPE_CHECKING

from aiohttp_sqlalchemy import SA_DEFAULT_KEY, DuplicateRequestKeyError
from tests.conftest import function_handler

if TYPE_CHECKING:
from aiohttp.web import Request

from aiohttp_sqlalchemy.typedefs import THandler


Expand Down
5 changes: 3 additions & 2 deletions tests/test_setup.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
from aiohttp import web
import pytest
from typing import TYPE_CHECKING

import pytest
from aiohttp import web

import aiohttp_sqlalchemy
from aiohttp_sqlalchemy import DuplicateAppKeyError

Expand Down
7 changes: 4 additions & 3 deletions tests/test_utils.py
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
from aiohttp.web import Application
import pytest
import sqlalchemy as sa
from typing import TYPE_CHECKING

import sqlalchemy as sa
from aiohttp.web import Application

import aiohttp_sqlalchemy
from aiohttp_sqlalchemy import SA_DEFAULT_KEY, sa_session, sa_session_factory

if TYPE_CHECKING:
from aiohttp.web import Request
from sqlalchemy.ext.asyncio import AsyncSession

from aiohttp_sqlalchemy.typedefs import TSessionFactory


Expand Down
1 change: 1 addition & 0 deletions tests/test_views.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
from typing import TYPE_CHECKING

from aiohttp_sqlalchemy import SA_DEFAULT_KEY, SABaseView

if TYPE_CHECKING:
Expand Down

0 comments on commit d67209f

Please sign in to comment.