Compare commits
No commits in common. "01309e3124bba5cf5c567772b520e627b9187fa7" and "8c012e5902d681c01f15dfbdeb56055b80894e4c" have entirely different histories.
01309e3124
...
8c012e5902
@ -11,20 +11,16 @@ CPL Python integrated Queries
|
|||||||
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
__title__ = "cpl_query.base"
|
__title__ = 'cpl_query.base'
|
||||||
__author__ = "Sven Heidemann"
|
__author__ = 'Sven Heidemann'
|
||||||
__license__ = "MIT"
|
__license__ = 'MIT'
|
||||||
__copyright__ = "Copyright (c) 2021 - 2023 sh-edraft.de"
|
__copyright__ = 'Copyright (c) 2021 - 2023 sh-edraft.de'
|
||||||
__version__ = "2023.4.0"
|
__version__ = '2023.4.0'
|
||||||
|
|
||||||
from collections import namedtuple
|
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")
|
# imports:
|
||||||
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,5 +1,4 @@
|
|||||||
from collections.abc import Callable
|
from collections.abc import Callable
|
||||||
from typing import Self
|
|
||||||
|
|
||||||
from cpl_query.base.ordered_queryable_abc import OrderedQueryableABC
|
from cpl_query.base.ordered_queryable_abc import OrderedQueryableABC
|
||||||
from cpl_query.exceptions import ArgumentNoneException, ExceptionArgument
|
from cpl_query.exceptions import ArgumentNoneException, ExceptionArgument
|
||||||
@ -7,12 +6,12 @@ from cpl_query.iterable.iterable import Iterable
|
|||||||
|
|
||||||
|
|
||||||
class OrderedQueryable(OrderedQueryableABC):
|
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):
|
def __init__(self, _t: type, _values: Iterable = None, _func: Callable = None):
|
||||||
OrderedQueryableABC.__init__(self, _t, _values, _func)
|
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:
|
if self is None:
|
||||||
raise ArgumentNoneException(ExceptionArgument.list)
|
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)
|
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:
|
if self is None:
|
||||||
raise ArgumentNoneException(ExceptionArgument.list)
|
raise ArgumentNoneException(ExceptionArgument.list)
|
||||||
|
|
||||||
|
@ -1,12 +1,6 @@
|
|||||||
from __future__ import annotations
|
|
||||||
|
|
||||||
from typing import Optional, Callable, Union, Iterable, Self
|
from typing import Optional, Callable, Union, Iterable, Self
|
||||||
from typing import TYPE_CHECKING
|
|
||||||
|
|
||||||
from cpl_query._helper import is_number
|
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.base.sequence import Sequence
|
||||||
from cpl_query.exceptions import (
|
from cpl_query.exceptions import (
|
||||||
InvalidTypeException,
|
InvalidTypeException,
|
||||||
@ -321,7 +315,7 @@ class QueryableABC(Sequence):
|
|||||||
|
|
||||||
return _func(min(self, key=_func))
|
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
|
r"""Sorts elements by function in ascending order
|
||||||
|
|
||||||
Parameter
|
Parameter
|
||||||
|
Loading…
Reference in New Issue
Block a user