From a18cd2460ab7b3123402eb2eb10c42a0b73257de Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 20 Apr 2024 07:58:30 +0200 Subject: Merging upstream version 1.15.0. Signed-off-by: Daniel Baumann --- iredis/completers.py | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) (limited to 'iredis/completers.py') diff --git a/iredis/completers.py b/iredis/completers.py index b17d3cc..b412010 100644 --- a/iredis/completers.py +++ b/iredis/completers.py @@ -1,7 +1,8 @@ import logging from typing import Iterable +from datetime import datetime, timezone -import pendulum +from dateutil.relativedelta import relativedelta from prompt_toolkit.completion import ( CompleteEvent, Completer, @@ -102,19 +103,19 @@ class TimestampCompleter(Completer): if not text.isnumeric(): return current = int(text) - now = pendulum.now() + now = datetime.now() for unit, minimum in self.when_lower_than.items(): if current <= minimum: if self.future_time: - dt = now.add(**{f"{unit}s": current}) + dt = now + relativedelta(**{f"{unit}s": current}) offset_text = "later" else: - dt = now.subtract(**{f"{unit}s": current}) + dt = now - relativedelta(**{f"{unit}s": current}) offset_text = "ago" - meta = f"{text} {unit}{'s' if current > 1 else ''} {offset_text} ({dt.format('YYYY-MM-DD HH:mm:ss')})" + meta = f"{text} {unit}{'s' if current > 1 else ''} {offset_text} ({dt.strftime('%Y-%m-%d %H:%M:%S')})" yield Completion( - str(dt.int_timestamp * self.factor), + str(int(dt.timestamp()) * self.factor), start_position=-len(document.text_before_cursor), display_meta=meta, ) @@ -122,11 +123,11 @@ class TimestampCompleter(Completer): def _completion_formatted_time(self, document: Document) -> Iterable[Completion]: text = document.text try: - dt = pendulum.parse(text) + dt = datetime.fromisoformat(text).replace(tzinfo=timezone.utc) except Exception: return yield Completion( - str(dt.int_timestamp * self.factor), + str(int(dt.timestamp()) * self.factor), start_position=-len(document.text_before_cursor), display_meta=str(dt), ) -- cgit v1.2.3