Compare commits

..

No commits in common. "01309e3124bba5cf5c567772b520e627b9187fa7" and "8c012e5902d681c01f15dfbdeb56055b80894e4c" have entirely different histories.

3 changed files with 13 additions and 24 deletions

View File

@ -11,20 +11,16 @@ 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")
# imports:
VersionInfo = namedtuple('VersionInfo', 'major minor micro')
version_info = VersionInfo(major='2023', minor='4', micro='0')

View File

@ -1,5 +1,4 @@
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
@ -7,12 +6,12 @@ from cpl_query.iterable.iterable import Iterable
class OrderedQueryable(OrderedQueryableABC):
r"""Implementation of :class: `cpl_query.base.ordered_queryable_abc.OrderedQueryableABC`"""
r"""Implementation of :class: `cpl_query.extension.Iterable` `cpl_query.extension.OrderedIterableABC`"""
def __init__(self, _t: type, _values: Iterable = None, _func: Callable = None):
OrderedQueryableABC.__init__(self, _t, _values, _func)
def then_by(self, _func: Callable) -> Self:
def then_by(self: OrderedQueryableABC, _func: Callable) -> OrderedQueryableABC:
if self is None:
raise ArgumentNoneException(ExceptionArgument.list)
@ -23,7 +22,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, _func: Callable) -> Self:
def then_by_descending(self: OrderedQueryableABC, _func: Callable) -> OrderedQueryableABC:
if self is None:
raise ArgumentNoneException(ExceptionArgument.list)

View File

@ -1,12 +1,6 @@
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,
@ -321,7 +315,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