From fb074526b01f3383f13ddcdd9e6acecda0d4bedf Mon Sep 17 00:00:00 2001 From: Mohammed Sufiyan Ahmed Date: Wed, 4 Mar 2026 15:50:05 +0530 Subject: [PATCH] fix: skip double conversion when time values are already in milliseconds --- package/src/pyaslreport/utils/unit_conversion_utils.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/package/src/pyaslreport/utils/unit_conversion_utils.py b/package/src/pyaslreport/utils/unit_conversion_utils.py index 692f338c..c7f42815 100644 --- a/package/src/pyaslreport/utils/unit_conversion_utils.py +++ b/package/src/pyaslreport/utils/unit_conversion_utils.py @@ -4,11 +4,13 @@ class UnitConverterUtils: SECOND_TO_MILLISECOND = 1000 + ALREADY_MS_THRESHOLD = 10 @staticmethod def convert_to_milliseconds(values: int | float | list[int | float]) -> int | float | list[int | float]: """ Convert seconds to milliseconds and round close values to integers. + Values already in milliseconds (e.g. scalar > 10 or any list element > 10) are left unchanged. Handles single numeric values or lists of values. Args: values (int | float | list[int | float]): The value(s) in seconds to convert. @@ -17,8 +19,12 @@ def convert_to_milliseconds(values: int | float | list[int | float]) -> int | fl """ def convert_value(value): if isinstance(value, (int, float)): + if value > UnitConverterUtils.ALREADY_MS_THRESHOLD: + return value return MathUtils.round_if_close(value * UnitConverterUtils.SECOND_TO_MILLISECOND) elif isinstance(value, list): + if any(v > UnitConverterUtils.ALREADY_MS_THRESHOLD for v in value): + return value return [MathUtils.round_if_close(v * UnitConverterUtils.SECOND_TO_MILLISECOND) for v in value] return value