Skip to content

Commit

Permalink
Merge branch 'release/0.26.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
ri-gilfanov committed Jul 15, 2021
2 parents 5323385 + f87ac68 commit bcce1a2
Show file tree
Hide file tree
Showing 6 changed files with 32 additions and 42 deletions.
7 changes: 1 addition & 6 deletions aiohttp_sqlalchemy/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,12 +31,10 @@
SAItemAddMixin,
SAItemDeleteMixin,
SAItemEditMixin,
SAItemMixin,
SAItemViewMixin,
SAListAddMixin,
SAListDeleteMixin,
SAListEditMixin,
SAListMixin,
SAListViewMixin,
SAMixin,
SAModelDeleteMixin,
Expand All @@ -48,7 +46,7 @@
SAView,
)

__version__ = '0.25.0'
__version__ = '0.26.0'

__all__ = [
'DEFAULT_KEY',
Expand All @@ -63,19 +61,16 @@
'SAModelEditMixin',
'SAModelViewMixin',

'SAItemMixin',
'SAItemAddMixin',
'SAItemDeleteMixin',
'SAItemEditMixin',
'SAItemViewMixin',

'SAListMixin',
'SAListAddMixin',
'SAListDeleteMixin',
'SAListEditMixin',
'SAListViewMixin',

'SAItemMixin',
'SAMixin',
'SAModelView',
'SAPrimaryKeyMixin',
Expand Down
41 changes: 15 additions & 26 deletions aiohttp_sqlalchemy/views.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,8 @@
from abc import ABCMeta
from typing import Any, List, Optional

import aiohttp_things as ahth
from aiohttp.web import View
from aiohttp_things.views import (
ContextMixin,
ItemMixin,
ListMixin,
PrimaryKeyMixin,
)
from sqlalchemy import delete, select, update
from sqlalchemy.ext.asyncio import AsyncSession
from sqlalchemy.sql import Delete, Select, Update
Expand All @@ -16,7 +11,7 @@
from aiohttp_sqlalchemy.utils import get_session


class SAMixin(ContextMixin, metaclass=ABCMeta):
class SAMixin(ahth.ContextMixin, metaclass=ABCMeta):
"""SQLAlchemy class based view mixin."""

sa_session_key: str = SA_DEFAULT_KEY
Expand Down Expand Up @@ -50,7 +45,7 @@ def get_sa_select_stmt(self, model: Any = None) -> Select:
return select(model or self.sa_model)


class SAPrimaryKeyMixin(PrimaryKeyMixin, SAModelMixin, metaclass=ABCMeta):
class SAPrimaryKeyMixin(ahth.PrimaryKeyMixin, SAModelMixin, metaclass=ABCMeta):
"""
Primary key mixin for deleting, editing and viewing a single instance
by primary key.
Expand All @@ -60,17 +55,12 @@ class SAPrimaryKeyMixin(PrimaryKeyMixin, SAModelMixin, metaclass=ABCMeta):
sa_pk_attr: Any = getattr(SAModelMixin.sa_model, 'pk', None)


class SAItemMixin(SAModelMixin, metaclass=ABCMeta):
pass


class SAItemAddMixin(SAItemMixin, ItemMixin, metaclass=ABCMeta):
class SAItemAddMixin(SAModelMixin, ahth.ItemMixin, metaclass=ABCMeta):
def sa_add(self, *, key: Optional[str] = None) -> None:
self.sa_session(key).add(self.item)


class SAItemDeleteMixin(
SAItemMixin,
SAModelDeleteMixin,
SAPrimaryKeyMixin,
metaclass=ABCMeta,
Expand All @@ -82,8 +72,7 @@ def get_sa_delete_stmt(self, model: Any = None) -> Delete:


class SAItemEditMixin(
SAItemMixin,
ItemMixin,
ahth.ItemMixin,
SAModelEditMixin,
SAPrimaryKeyMixin,
metaclass=ABCMeta,
Expand All @@ -95,8 +84,7 @@ def get_sa_edit_stmt(self, model: Any = None) -> Update:


class SAItemViewMixin(
SAItemMixin,
ItemMixin,
ahth.ItemMixin,
SAModelViewMixin,
SAPrimaryKeyMixin,
metaclass=ABCMeta,
Expand All @@ -107,26 +95,27 @@ def get_sa_view_stmt(self, model: Any = None) -> Select:
where(self.sa_pk_attr == self.pk)


class SAListMixin(ListMixin, SAModelMixin, metaclass=ABCMeta):
pass


class SAListAddMixin(SAListMixin, metaclass=ABCMeta):
class SAListAddMixin(ahth.ListMixin, SAModelMixin, metaclass=ABCMeta):
items: List[Any]

def sa_add_all(self, *, key: Optional[str] = None) -> None:
self.sa_session(key).add_all(self.items)


class SAListDeleteMixin(SAListMixin, SAModelDeleteMixin, metaclass=ABCMeta):
class SAListDeleteMixin(ahth.ListMixin, SAModelDeleteMixin, metaclass=ABCMeta):
pass


class SAListEditMixin(SAListMixin, SAModelEditMixin, metaclass=ABCMeta):
class SAListEditMixin(ahth.ListMixin, SAModelEditMixin, metaclass=ABCMeta):
pass


class SAListViewMixin(SAListMixin, SAModelViewMixin, metaclass=ABCMeta):
class SAListViewMixin(
ahth.ListMixin,
ahth.PaginationMixin,
SAModelViewMixin,
metaclass=ABCMeta,
):
pass


Expand Down
5 changes: 0 additions & 5 deletions docs/reference.rst
Original file line number Diff line number Diff line change
Expand Up @@ -70,11 +70,6 @@ Instance mixins

List mixins
^^^^^^^^^^^
.. autoclass:: aiohttp_sqlalchemy.SAListMixin
:inherited-members:
:members:
:show-inheritance:

.. autoclass:: aiohttp_sqlalchemy.SAListAddMixin
:inherited-members:
:members:
Expand Down
11 changes: 11 additions & 0 deletions docs/releases.rst
Original file line number Diff line number Diff line change
@@ -1,6 +1,17 @@
========
Releases
========
Version 0.26
------------
**Changed**

* ``SAListViewMixin`` inherited by ``aiohttp_things.PaginationMixin``.

**Removed**

* ``SAListMixin`` class removed, use ``aiohttp_things.ListMixin``;
* ``SAItemMixin`` class removed, use ``aiohttp_things.ItemMixin``.

Version 0.25
------------
**Changed**
Expand Down
8 changes: 4 additions & 4 deletions poetry.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[tool.poetry]
name = "aiohttp-sqlalchemy"
version = "0.25.0"
version = "0.26.0"
description = "SQLAlchemy 1.4 / 2.0 support for aiohttp."
authors = [
"Ruslan Ilyasovich Gilfanov <ri.gilfanov@yandex.ru>",
Expand Down

0 comments on commit bcce1a2

Please sign in to comment.