From dff9e1abefe339bdf76d637084936ce41b5dc418 Mon Sep 17 00:00:00 2001 From: x0loots <x0loots@systemli.org> Date: Mon, 11 Jan 2021 17:49:46 +0100 Subject: [PATCH] issue 9 done but without multilanguage - and without lambda expressions now :) --- .../briar_gtk/private_chat/private_message.py | 29 +++++++++---------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/briar-gtk/briar_gtk/private_chat/private_message.py b/briar-gtk/briar_gtk/private_chat/private_message.py index 1477bc3..389d621 100644 --- a/briar-gtk/briar_gtk/private_chat/private_message.py +++ b/briar-gtk/briar_gtk/private_chat/private_message.py @@ -100,24 +100,23 @@ class PrivateMessageWidget(Gtk.ListBoxRow): def _make_timestamp_relative(timestamp): time = datetime.fromtimestamp(timestamp) time_diff = (datetime.now() - time).total_seconds() - - time_use_gen = lambda x, y: int(x // y) if x >= y else '' - time_term_gen = lambda x, y: x+'s' if y > 1 and x[-1] != '.' else x - time_list = ['day', 'hr.', 'min.'] + time_slices_list = ['day', 'hr.', 'min.'] seconds_list = [86400, 3600, 60] - - time_use, time_term = '', '' - for t, s in zip(time_list, seconds_list): - time_use = time_use_gen(time_diff, s) - if time_use: - time_term = time_term_gen(t, time_use) + time_passed, time_slice = '', '' + for time_slices, seconds in zip(time_slices_list, seconds_list): + if time_diff >= seconds: + time_passed = int(time_diff // seconds) + if time_passed: + time_slice = time_slices + if time_passed > 1 and time_slices[-1] != '.': + time_slice += 's' break - - time_relative = '{} {} ago'.format(time_use, time_term) if time_use \ - else 'now' - if time_term in ['days', 'day']: + if time_passed: + time_relative = '{} {} ago'.format(time_passed, time_slice) + else: + time_relative = 'now' + if time_slice in ['days', 'day']: time_relative += ', {}'.format(datetime.strftime(time, '%H:%M %p')) - return time_relative @staticmethod -- GitLab