From 01a2cd3d7278eae6947b62251b02acb6f58cd861 Mon Sep 17 00:00:00 2001 From: Kan Fu Date: Sat, 12 Jul 2025 21:43:42 -0700 Subject: [PATCH 1/2] bug: ignore timezone when parsing datetime --- src/onc/modules/_MultiPage.py | 8 ++++++-- tests/raw_data/test_rawdata_device.py | 8 ++++++++ tests/scalar_data/test_scalardata_device.py | 8 ++++++++ 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/src/onc/modules/_MultiPage.py b/src/onc/modules/_MultiPage.py index 856bd48..1443234 100644 --- a/src/onc/modules/_MultiPage.py +++ b/src/onc/modules/_MultiPage.py @@ -135,8 +135,12 @@ def _estimatePages(self, response: object, service: str): return 0 # total timespan to cover in the next parameter excluding the first page - totalBegin = dateutil.parser.parse(response["next"]["parameters"]["dateFrom"]) - totalEnd = dateutil.parser.parse(response["next"]["parameters"]["dateTo"]) + totalBegin = dateutil.parser.parse( + response["next"]["parameters"]["dateFrom"], ignoretz=True + ) + totalEnd = dateutil.parser.parse( + response["next"]["parameters"]["dateTo"], ignoretz=True + ) totalTimespan = totalEnd - totalBegin # handle cases of very small timeframes diff --git a/tests/raw_data/test_rawdata_device.py b/tests/raw_data/test_rawdata_device.py index 2ab3622..2e13959 100644 --- a/tests/raw_data/test_rawdata_device.py +++ b/tests/raw_data/test_rawdata_device.py @@ -37,6 +37,14 @@ def test_no_data(requester, params): assert _get_row_num(data) == 0 +def test_different_date_format_all_pages(requester, params_multiple_pages): + params_different_date_format = params_multiple_pages | { + "dateFrom": "2019-11-23T23:59:00.000Z", + "dateTo": "2019-11-24", + } + requester.getRawdata(params_different_date_format, allPages=True) + + def test_valid_params_one_page(requester, params, params_multiple_pages): data = requester.getRawdata(params) data_all_pages = requester.getRawdata(params_multiple_pages, allPages=True) diff --git a/tests/scalar_data/test_scalardata_device.py b/tests/scalar_data/test_scalardata_device.py index 274047c..ffbb63e 100644 --- a/tests/scalar_data/test_scalardata_device.py +++ b/tests/scalar_data/test_scalardata_device.py @@ -27,6 +27,14 @@ def test_no_data(requester, params_device): assert data["sensorData"] is None +def test_different_date_format_all_pages(requester, params_multiple_pages): + params_different_date_format = params_multiple_pages | { + "dateFrom": "2019-11-23T23:59:00.000Z", + "dateTo": "2019-11-24", + } + requester.getScalardata(params_different_date_format, allPages=True) + + def test_valid_params_one_page(requester, params_device, params_multiple_pages): data = requester.getScalardata(params_device) data_all_pages = requester.getScalardata(params_multiple_pages, allPages=True) From c9cc237742598687106f29ab3172807b71bfcb3d Mon Sep 17 00:00:00 2001 From: Kan Fu Date: Sat, 12 Jul 2025 21:50:25 -0700 Subject: [PATCH 2/2] feat: change default value of showWarning to False --- src/onc/onc.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/onc/onc.py b/src/onc/onc.py index c0569df..922f983 100644 --- a/src/onc/onc.py +++ b/src/onc/onc.py @@ -53,7 +53,7 @@ def __init__( token, production: bool = True, showInfo: bool = False, - showWarning: bool = True, + showWarning: bool = False, outPath: str | Path = "output", timeout: int = 60, ):