Skip to content

Commit 7b98924

Browse files
author
Zach Banks
committed
MOD: Improve start/end parameter parsing
1 parent 50d963d commit 7b98924

File tree

5 files changed

+26
-16
lines changed

5 files changed

+26
-16
lines changed

databento/common/parsing.py

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,12 @@ def datetime_to_string(value: Union[pd.Timestamp, date, str, int]) -> str:
199199
str
200200
201201
"""
202-
return str(pd.to_datetime(value)).replace(" ", "T")
202+
if isinstance(value, str):
203+
return value
204+
elif isinstance(value, int):
205+
return str(value)
206+
else:
207+
return pd.to_datetime(value).isoformat()
203208

204209

205210
def datetime_to_date_string(value: Union[pd.Timestamp, date, str, int]) -> str:
@@ -216,7 +221,12 @@ def datetime_to_date_string(value: Union[pd.Timestamp, date, str, int]) -> str:
216221
str
217222
218223
"""
219-
return str(pd.to_datetime(value).date())
224+
if isinstance(value, str):
225+
return value
226+
elif isinstance(value, int):
227+
return str(value)
228+
else:
229+
return pd.to_datetime(value).date().isoformat()
220230

221231

222232
def optional_datetime_to_string(

tests/test_common_parsing.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ def test_maybe_date_to_string_give_valid_values_returns_expected_results(
173173
"value, expected",
174174
[
175175
[None, None],
176-
[1604782791000000000, "2020-11-07T20:59:51"],
176+
[1604782791000000000, "1604782791000000000"],
177177
["2020-11-07T20:59:51", "2020-11-07T20:59:51"],
178178
[dt.date(2020, 12, 28), "2020-12-28T00:00:00"],
179179
[pd.to_datetime("2020-12-28T23:12:01.123"), "2020-12-28T23:12:01.123000"],

tests/test_historical_batch.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -85,8 +85,8 @@ def test_batch_submit_job_sends_expected_request(
8585
)
8686
assert call["params"] == [
8787
("dataset", "GLBX.MDP3"),
88-
("start", "2020-12-28T12:00:00"),
89-
("end", "2020-12-29T00:00:00"),
88+
("start", "2020-12-28T12:00"),
89+
("end", "2020-12-29"),
9090
("symbols", "ESH1"),
9191
("schema", "trades"),
9292
("stype_in", "native"),
@@ -125,7 +125,7 @@ def test_batch_list_jobs_sends_expected_request(
125125
)
126126
assert call["params"] == [
127127
("states", "received,queued,processing,done"),
128-
("since", "2022-01-01T00:00:00"),
128+
("since", "2022-01-01"),
129129
]
130130
assert call["timeout"] == (100, 100)
131131
assert isinstance(call["auth"], requests.auth.HTTPBasicAuth)

tests/test_historical_metadata.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -254,8 +254,8 @@ def test_get_record_count_sends_expected_request(
254254
("dataset", "GLBX.MDP3"),
255255
("symbols", "ESH1"),
256256
("schema", "mbo"),
257-
("start", "2020-12-28T12:00:00"),
258-
("end", "2020-12-29T00:00:00"),
257+
("start", "2020-12-28T12:00"),
258+
("end", "2020-12-29"),
259259
("stype_in", "native"),
260260
("limit", "1000000"),
261261
]
@@ -293,8 +293,8 @@ def test_get_billable_size_sends_expected_request(
293293
)
294294
assert call["params"] == [
295295
("dataset", "GLBX.MDP3"),
296-
("start", "2020-12-28T12:00:00"),
297-
("end", "2020-12-29T00:00:00"),
296+
("start", "2020-12-28T12:00"),
297+
("end", "2020-12-29"),
298298
("symbols", "ESH1"),
299299
("schema", "mbo"),
300300
("stype_in", "native"),
@@ -332,8 +332,8 @@ def test_get_cost_sends_expected_request(self, mocker: MockerFixture) -> None:
332332
)
333333
assert call["params"] == [
334334
("dataset", "GLBX.MDP3"),
335-
("start", "2020-12-28T12:00:00"),
336-
("end", "2020-12-29T00:00:00"),
335+
("start", "2020-12-28T12:00"),
336+
("end", "2020-12-29"),
337337
("symbols", "ESH1"),
338338
("schema", "mbo"),
339339
("stype_in", "native"),

tests/test_historical_timeseries.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -91,8 +91,8 @@ def test_get_range_sends_expected_request(
9191
)
9292
assert call["params"] == [
9393
("dataset", "GLBX.MDP3"),
94-
("start", "2020-12-28T12:00:00"),
95-
("end", "2020-12-29T00:00:00"),
94+
("start", "2020-12-28T12:00"),
95+
("end", "2020-12-29"),
9696
("symbols", "ES.c.0"),
9797
("schema", "trades"),
9898
("stype_in", "smart"),
@@ -144,8 +144,8 @@ def test_get_range_with_limit_sends_expected_request(
144144
)
145145
assert call["params"] == [
146146
("dataset", "GLBX.MDP3"),
147-
("start", "2020-12-28T12:00:00"),
148-
("end", "2020-12-29T00:00:00"),
147+
("start", "2020-12-28T12:00"),
148+
("end", "2020-12-29"),
149149
("symbols", "ESH1"),
150150
("schema", "trades"),
151151
("stype_in", "native"),

0 commit comments

Comments
 (0)