From 80963966b267a4c3723e4773774b854602247bca Mon Sep 17 00:00:00 2001 From: Maximilian Hils Date: Thu, 7 Nov 2019 18:19:50 +0100 Subject: [PATCH] make duration formatting more forgiving --- mitmproxy/utils/human.py | 4 +++- test/mitmproxy/utils/test_human.py | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/mitmproxy/utils/human.py b/mitmproxy/utils/human.py index 5c02b0727..3158a2940 100644 --- a/mitmproxy/utils/human.py +++ b/mitmproxy/utils/human.py @@ -48,12 +48,14 @@ def parse_size(s: typing.Optional[str]) -> typing.Optional[int]: raise ValueError("Invalid size specification.") -def pretty_duration(secs): +def pretty_duration(secs: typing.Optional[float]) -> str: formatters = [ (100, "{:.0f}s"), (10, "{:2.1f}s"), (1, "{:1.2f}s"), ] + if secs is None: + return "" for limit, formatter in formatters: if secs >= limit: diff --git a/test/mitmproxy/utils/test_human.py b/test/mitmproxy/utils/test_human.py index faf35f728..6f8bf732f 100644 --- a/test/mitmproxy/utils/test_human.py +++ b/test/mitmproxy/utils/test_human.py @@ -47,6 +47,7 @@ def test_pretty_duration(): assert human.pretty_duration(10000) == "10000s" assert human.pretty_duration(1.123) == "1.12s" assert human.pretty_duration(0.123) == "123ms" + assert human.pretty_duration(None) == "" def test_format_address():