diff options
author | nicoco <nicoco@nicoco.fr> | 2023-10-20 00:17:57 +0300 |
---|---|---|
committer | Philipp Hörist <philipp@hoerist.com> | 2023-11-28 23:17:52 +0300 |
commit | 1a3af4ac6398f3461d9a4f7acf3c4c09d00ad353 (patch) | |
tree | 28ad2b2c28cb0977365b75a844fd3f1cda89c884 /gajim/common | |
parent | a2d9eabca7e29c88836f631c9ae8d0830800eea3 (diff) |
feat: StartChat: Show last seen
Diffstat (limited to 'gajim/common')
-rw-r--r-- | gajim/common/helpers.py | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/gajim/common/helpers.py b/gajim/common/helpers.py index bd5bb9056..7b4ceea34 100644 --- a/gajim/common/helpers.py +++ b/gajim/common/helpers.py @@ -52,6 +52,7 @@ from collections import defaultdict from collections.abc import Callable from datetime import datetime from datetime import timedelta +from datetime import timezone from functools import wraps from pathlib import Path from string import Template @@ -1589,3 +1590,20 @@ def make_path_from_jid(base_path: Path, jid: JID) -> Path: if jid.resource is not None: return path / jid.resource[:30] return path + + +def format_idle_time(idle_time: datetime) -> str: + now = datetime.now(timezone.utc) + + now_date = now.date() + idle_date = idle_time.date() + + if idle_date == now_date: + return idle_time.strftime(app.settings.get('time_format')) + if idle_date == now_date - timedelta(days=1): + return _('yesterday ') + idle_time.strftime( + app.settings.get('time_format')) + if idle_date >= now_date - timedelta(days=6): + return idle_time.strftime(f'%a {app.settings.get("time_format")}') + + return idle_date.strftime(app.settings.get('date_format')) |