Compare commits

..

2 Commits

Author SHA1 Message Date
01309e3124 Cleaned code 2023-04-04 13:58:37 +02:00
083e1ce4a1 Fixed OrderedQueryable imports 2023-04-04 13:55:50 +02:00
3 changed files with 23 additions and 12 deletions

View File

@ -11,16 +11,20 @@ CPL Python integrated Queries
"""
__title__ = 'cpl_query.base'
__author__ = 'Sven Heidemann'
__license__ = 'MIT'
__copyright__ = 'Copyright (c) 2021 - 2023 sh-edraft.de'
__version__ = '2023.4.0'
__title__ = "cpl_query.base"
__author__ = "Sven Heidemann"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2021 - 2023 sh-edraft.de"
__version__ = "2023.4.0"
from collections import namedtuple
# imports:
from .default_lambda import default_lambda
from .ordered_queryable import OrderedQueryable
from .ordered_queryable_abc import OrderedQueryableABC
from .queryable_abc import QueryableABC
from .sequence import Sequence
VersionInfo = namedtuple('VersionInfo', 'major minor micro')
version_info = VersionInfo(major='2023', minor='4', micro='0')
VersionInfo = namedtuple("VersionInfo", "major minor micro")
version_info = VersionInfo(major="2023", minor="4", micro="0")

View File

@ -1,4 +1,5 @@
from collections.abc import Callable
from typing import Self
from cpl_query.base.ordered_queryable_abc import OrderedQueryableABC
from cpl_query.exceptions import ArgumentNoneException, ExceptionArgument
@ -6,12 +7,12 @@ from cpl_query.iterable.iterable import Iterable
class OrderedQueryable(OrderedQueryableABC):
r"""Implementation of :class: `cpl_query.extension.Iterable` `cpl_query.extension.OrderedIterableABC`"""
r"""Implementation of :class: `cpl_query.base.ordered_queryable_abc.OrderedQueryableABC`"""
def __init__(self, _t: type, _values: Iterable = None, _func: Callable = None):
OrderedQueryableABC.__init__(self, _t, _values, _func)
def then_by(self: OrderedQueryableABC, _func: Callable) -> OrderedQueryableABC:
def then_by(self, _func: Callable) -> Self:
if self is None:
raise ArgumentNoneException(ExceptionArgument.list)
@ -22,7 +23,7 @@ class OrderedQueryable(OrderedQueryableABC):
return OrderedQueryable(self.type, sorted(self, key=lambda *args: [f(*args) for f in self._funcs]), _func)
def then_by_descending(self: OrderedQueryableABC, _func: Callable) -> OrderedQueryableABC:
def then_by_descending(self, _func: Callable) -> Self:
if self is None:
raise ArgumentNoneException(ExceptionArgument.list)

View File

@ -1,6 +1,12 @@
from __future__ import annotations
from typing import Optional, Callable, Union, Iterable, Self
from typing import TYPE_CHECKING
from cpl_query._helper import is_number
if TYPE_CHECKING:
from cpl_query.base.ordered_queryable_abc import OrderedQueryableABC
from cpl_query.base.sequence import Sequence
from cpl_query.exceptions import (
InvalidTypeException,
@ -315,7 +321,7 @@ class QueryableABC(Sequence):
return _func(min(self, key=_func))
def order_by(self, _func: Callable = None) -> "OrderedQueryableABC":
def order_by(self, _func: Callable = None) -> OrderedQueryableABC:
r"""Sorts elements by function in ascending order
Parameter