Compare commits
2 Commits
8c012e5902
...
01309e3124
Author | SHA1 | Date | |
---|---|---|---|
01309e3124 | |||
083e1ce4a1 |
@ -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")
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user