diff --git a/src/cpl_query/_query/order_by.py b/src/cpl_query/_query/order_by.py index 2012486c..11089ed9 100644 --- a/src/cpl_query/_query/order_by.py +++ b/src/cpl_query/_query/order_by.py @@ -6,7 +6,7 @@ from cpl_query.extension.ordered_iterable_abc import OrderedIterableABC def order_by_query(_list: IterableABC, _func: Callable) -> OrderedIterableABC: - result = OrderedIterableABC(_func) + result = OrderedIterableABC(_list.type, _func) _list.sort(key=_func) result.extend(_list) return result @@ -19,7 +19,7 @@ def order_by_descending_query(_list: IterableABC, _func: Callable) -> OrderedIte if _func is None: raise ArgumentNoneException(ExceptionArgument.func) - result = OrderedIterableABC(_func) + result = OrderedIterableABC(_list.type, _func) _list.sort(key=_func, reverse=True) result.extend(_list) return result diff --git a/src/cpl_query/extension/iterable.py b/src/cpl_query/extension/iterable.py index b57b7774..07049122 100644 --- a/src/cpl_query/extension/iterable.py +++ b/src/cpl_query/extension/iterable.py @@ -75,13 +75,13 @@ class Iterable(IterableABC): def order_by(self, func: Callable) -> OrderedIterableABC: res = order_by_query(self, func) - from cpl_query._extension.ordered_iterable import OrderedIterable + from cpl_query.extension.ordered_iterable import OrderedIterable res.__class__ = OrderedIterable return res def order_by_descending(self, func: Callable) -> OrderedIterableABC: res = order_by_descending_query(self, func) - from cpl_query._extension.ordered_iterable import OrderedIterable + from cpl_query.extension.ordered_iterable import OrderedIterable res.__class__ = OrderedIterable return res diff --git a/src/cpl_query/extension/ordered_iterable.py b/src/cpl_query/extension/ordered_iterable.py index 3481f082..11443ac0 100644 --- a/src/cpl_query/extension/ordered_iterable.py +++ b/src/cpl_query/extension/ordered_iterable.py @@ -9,9 +9,9 @@ class OrderedIterable(Iterable, OrderedIterableABC): r"""Implementation of :class: `cpl_query.extension.Iterable` `cpl_query.extension.OrderedIterableABC` """ - def __init__(self): - Iterable.__init__(self) - OrderedIterableABC.__init__(self) + def __init__(self, _t: type = None): + Iterable.__init__(self, _t) + OrderedIterableABC.__init__(self, _t) def then_by(self, _func: Callable) -> OrderedIterableABC: self._funcs.append(_func) diff --git a/src/cpl_query/extension/ordered_iterable_abc.py b/src/cpl_query/extension/ordered_iterable_abc.py index 7cab7e62..9a6c5bb1 100644 --- a/src/cpl_query/extension/ordered_iterable_abc.py +++ b/src/cpl_query/extension/ordered_iterable_abc.py @@ -7,8 +7,8 @@ from cpl_query.extension.iterable_abc import IterableABC class OrderedIterableABC(IterableABC): @abstractmethod - def __init__(self, _func: Callable = None): - IterableABC.__init__(self) + def __init__(self, _t: type, _func: Callable = None): + IterableABC.__init__(self, _t) self._funcs: list[Callable] = [] if _func is not None: self._funcs.append(_func)