Skip to content

Commit 1093657

Browse files
Fix time parsing (#124)
1 parent b4b1dca commit 1093657

3 files changed

Lines changed: 13 additions & 5 deletions

File tree

src/elimity_insights_client/api/_decode_query_results_page.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
from datetime import date, time
1+
from datetime import date
22
from json import loads
33
from typing import List
44

5-
from dateutil.parser import isoparse
5+
from dateutil.parser import isoparse, isoparser
66
from typing_extensions import TypedDict
77

88
from elimity_insights_client._util import map_list
@@ -119,5 +119,6 @@ def _decode_value(dict: ValueDict) -> Value:
119119
if type == "string":
120120
return StringValue(value)
121121

122-
time_value = time.fromisoformat(value)
122+
parser = isoparser()
123+
time_value = parser.parse_isotime(value)
123124
return TimeValue(time_value)

tests/elimity_insights_client/api/query-results-page.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,10 @@
1515
{
1616
"type": "dateTime",
1717
"value": "2006-05-04T03:02:01Z"
18+
},
19+
{
20+
"type": "time",
21+
"value": "10:11:12Z"
1822
}
1923
],
2024
"linkGroupByPages": [

tests/elimity_insights_client/api/test_decode_query_results_page.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from datetime import datetime, timezone
1+
from datetime import datetime, time, timezone
22
from importlib.resources import open_binary
33
from json import load
44
from typing import List
@@ -15,6 +15,7 @@
1515
NumberValue,
1616
QueryResult,
1717
QueryResultsPage,
18+
TimeValue,
1819
Value,
1920
)
2021

@@ -24,7 +25,9 @@ def test_decode_query_results_page() -> None:
2425
inclusion1: Value = BooleanValue(False)
2526
dat = datetime(2006, 5, 4, 3, 2, 1, tzinfo=timezone.utc)
2627
inclusion2: Value = DateTimeValue(dat)
27-
inclusions = [inclusion1, inclusion2]
28+
tim = time(10, 11, 12, tzinfo=timezone.utc)
29+
inclusion3: Value = TimeValue(tim)
30+
inclusions = [inclusion1, inclusion2, inclusion3]
2831
label = NumberValue(42)
2932
sub_pages: List[GroupByQueryResultsPage] = []
3033
link_group_by_result = GroupByQueryResult(0, label, sub_pages)

0 commit comments

Comments
 (0)