Skip to content

Commit e536bee

Browse files
committed
api: provide the interval method
1 parent 634da1d commit e536bee

File tree

2 files changed

+19
-0
lines changed

2 files changed

+19
-0
lines changed

test/test_api.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,10 @@ def test_base(client, engine, tsh):
113113
type = client.type('test2')
114114
assert type == 'primary'
115115

116+
ival = client.interval('test2')
117+
assert ival.left == pd.Timestamp('2020-01-01 00:00:00+0000', tz='UTC')
118+
assert ival.right == pd.Timestamp('2020-01-03 00:00:00+0000', tz='UTC')
119+
116120
client.rename('test2', 'test3')
117121
assert not client.exists('test2')
118122
assert client.exists('test3')

tshistory_client/api.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,21 @@ def type(self, name):
193193
if res.status_code == 200:
194194
return res.json()
195195

196+
def interval(self, name):
197+
res = requests.get(f'{self.uri}/series/metadata', params={
198+
'name': name,
199+
'type': 'interval'
200+
})
201+
assert res.status_code in (200, 404)
202+
if res.status_code == 200:
203+
tzaware, left, right = res.json()
204+
tz = 'utc' if tzaware else None
205+
return pd.Interval(
206+
pd.Timestamp(left, tz=tz),
207+
pd.Timestamp(right, tz=tz),
208+
closed='both'
209+
)
210+
196211
def catalog(self):
197212
res = requests.get(f'{self.uri}/series/catalog')
198213
assert res.status_code == 200

0 commit comments

Comments
 (0)