From c115afd7368351dc562657c0c7d6d4be5fdffd91 Mon Sep 17 00:00:00 2001 From: Sven Heidemann Date: Tue, 27 Jul 2021 11:47:13 +0200 Subject: [PATCH] Moved last queries --- src/cpl_query/_extension/iterable.py | 3 +-- src/cpl_query/_query/first.py | 24 ------------------- .../_query/{last.py => first_last.py} | 20 ++++++++++++++++ 3 files changed, 21 insertions(+), 26 deletions(-) delete mode 100644 src/cpl_query/_query/first.py rename src/cpl_query/_query/{last.py => first_last.py} (59%) diff --git a/src/cpl_query/_extension/iterable.py b/src/cpl_query/_extension/iterable.py index 091eae1a..45180a9c 100644 --- a/src/cpl_query/_extension/iterable.py +++ b/src/cpl_query/_extension/iterable.py @@ -9,9 +9,8 @@ from .._query.contains import contains_query from .._query.count import count_query from .._query.distinct import distinct_query from .._query.element_at import element_at_query, element_at_or_default_query -from .._query.first import first_or_default_query, first_query +from .._query.first_last import first_or_default_query, first_query, last_or_default_query, last_query from .._query.for_each import for_each_query -from .._query.last import last_query, last_or_default_query from .._query.order_by import order_by_query, order_by_descending_query from .._query.single import single_query, single_or_default_query from .._query.where import where_query diff --git a/src/cpl_query/_query/first.py b/src/cpl_query/_query/first.py deleted file mode 100644 index 0eb98924..00000000 --- a/src/cpl_query/_query/first.py +++ /dev/null @@ -1,24 +0,0 @@ -from typing import Optional - -from cpl_query.exceptions import ArgumentNoneException, ExceptionArgument, IndexOutOfRangeException -from cpl_query.extension.iterable_abc import IterableABC - - -def first_query(_list: IterableABC) -> any: - if _list is None: - raise ArgumentNoneException(ExceptionArgument.list) - - if len(_list) == 0: - raise IndexOutOfRangeException() - - return _list[0] - - -def first_or_default_query(_list: IterableABC) -> Optional[any]: - if _list is None: - raise ArgumentNoneException(ExceptionArgument.list) - - if len(_list) == 0: - return None - - return _list[0] diff --git a/src/cpl_query/_query/last.py b/src/cpl_query/_query/first_last.py similarity index 59% rename from src/cpl_query/_query/last.py rename to src/cpl_query/_query/first_last.py index 20ff901a..9008300a 100644 --- a/src/cpl_query/_query/last.py +++ b/src/cpl_query/_query/first_last.py @@ -4,6 +4,26 @@ from cpl_query.exceptions import ArgumentNoneException, ExceptionArgument, Index from cpl_query.extension.iterable_abc import IterableABC +def first_query(_list: IterableABC) -> any: + if _list is None: + raise ArgumentNoneException(ExceptionArgument.list) + + if len(_list) == 0: + raise IndexOutOfRangeException() + + return _list[0] + + +def first_or_default_query(_list: IterableABC) -> Optional[any]: + if _list is None: + raise ArgumentNoneException(ExceptionArgument.list) + + if len(_list) == 0: + return None + + return _list[0] + + def last_query(_list: IterableABC) -> any: if _list is None: raise ArgumentNoneException(ExceptionArgument.list)