Skip to content

Commit c4ea5b4

Browse files
committed
removed end_date, since intradate time series only works for a single day
1 parent 6ad35fc commit c4ea5b4

2 files changed

Lines changed: 14 additions & 31 deletions

File tree

fitbit/api.py

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -362,12 +362,12 @@ def time_series(self, resource, user_id=None, base_date='today',
362362
)
363363
return self.make_request(url)
364364

365-
def intraday_time_series(self, resource, base_date='today', end_date=None, detail_level='1min', start_time=None, end_time=None):
365+
def intraday_time_series(self, resource, base_date='today', detail_level='1min', start_time=None, end_time=None):
366366
"""
367367
The intraday time series extends the functionality of the regular time series, but returning data at a
368-
more granular level, defaulting to 1 minute intervals. To access this feature, one must send an email to api@fitbit.com
369-
and request to have access to the Partner API (see https://wiki.fitbit.com/display/API/Fitbit+Partner+API). For details
370-
on the resources available, see:
368+
more granular level for a single day, defaulting to 1 minute intervals. To access this feature, one must
369+
send an email to api@fitbit.com and request to have access to the Partner API
370+
(see https://wiki.fitbit.com/display/API/Fitbit+Partner+API). For details on the resources available, see:
371371
372372
https://wiki.fitbit.com/display/API/API-Get-Intraday-Time-Series
373373
"""
@@ -378,26 +378,17 @@ def intraday_time_series(self, resource, base_date='today', end_date=None, detai
378378
if end_time and not start_time:
379379
raise TypeError("You must provide a start time when you provide an end time")
380380

381-
if end_date:
382-
if not isinstance(end_date, str):
383-
date_fin = end_date.strftime('%Y-%m-%d')
384-
else:
385-
date_fin = end_date
386-
else:
387-
date_fin = '1d'
388-
389381
if not isinstance(base_date, str):
390382
base_date = base_date.strftime('%Y-%m-%d')
391383

392384
if not detail_level in ['1min', '15min']:
393385
raise ValueError("Period must be either '1min' or '15min'")
394386

395-
url = "%s/%s/user/-/%s/date/%s/%s/%s" % (
387+
url = "%s/%s/user/-/%s/date/%s/1d/%s" % (
396388
self.API_ENDPOINT,
397389
self.API_VERSION,
398390
resource,
399391
base_date,
400-
date_fin,
401392
detail_level
402393
)
403394

fitbit_tests/test_api.py

Lines changed: 9 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -260,15 +260,13 @@ def test_timeseries(fb, resource, user_id, base_date, period, end_date, expected
260260
def test_intraday_timeseries(self):
261261
resource = 'FOO'
262262
base_date = '1918-05-11'
263-
end_date = '1988-02-15'
264263

265264
# detail_level must be valid
266265
self.assertRaises(
267266
ValueError,
268267
self.fb.intraday_time_series,
269268
resource,
270269
base_date,
271-
end_date=None,
272270
detail_level="xyz",
273271
start_time=None,
274272
end_time=None)
@@ -279,7 +277,6 @@ def test_intraday_timeseries(self):
279277
self.fb.intraday_time_series,
280278
resource,
281279
base_date,
282-
end_date=None,
283280
detail_level="1min",
284281
start_time='12:55',
285282
end_time=None)
@@ -290,37 +287,32 @@ def test_intraday_timeseries(self):
290287
self.fb.intraday_time_series,
291288
resource,
292289
base_date,
293-
end_date=None,
294290
detail_level="1min",
295291
start_time=None,
296292
end_time='12:55')
297293

298-
def test_intraday_timeseries(fb, resource, base_date, end_date, detail_level, start_time, end_time, expected_url):
294+
def test_intraday_timeseries(fb, resource, base_date, detail_level, start_time, end_time, expected_url):
299295
with mock.patch.object(fb, 'make_request') as make_request:
300-
retval = fb.intraday_time_series(resource, base_date, end_date, detail_level, start_time, end_time)
296+
retval = fb.intraday_time_series(resource, base_date, detail_level, start_time, end_time)
301297
args, kwargs = make_request.call_args
302298
self.assertEqual((expected_url,), args)
303299

304300
# Default
305301
test_intraday_timeseries(self.fb, resource, base_date=base_date,
306-
end_date=None, detail_level='1min', start_time=None, end_time=None,
302+
detail_level='1min', start_time=None, end_time=None,
307303
expected_url=URLBASE + "/-/FOO/date/1918-05-11/1d/1min.json")
308-
# end_date can be a date object
309-
test_intraday_timeseries(self.fb, resource, base_date=base_date,
310-
end_date=datetime.date(1988, 2, 15), detail_level='15min', start_time=None, end_time=None,
311-
expected_url=URLBASE + "/-/FOO/date/1918-05-11/1988-02-15/15min.json")
312304
# start_date can be a date object
313305
test_intraday_timeseries(self.fb, resource, base_date=datetime.date(1918, 5, 11),
314-
end_date=end_date, detail_level='1min', start_time=None, end_time=None,
315-
expected_url=URLBASE + "/-/FOO/date/1918-05-11/1988-02-15/1min.json")
306+
detail_level='1min', start_time=None, end_time=None,
307+
expected_url=URLBASE + "/-/FOO/date/1918-05-11/1d/1min.json")
316308
# start_time can be a datetime object
317309
test_intraday_timeseries(self.fb, resource, base_date=base_date,
318-
end_date=end_date, detail_level='1min', start_time=datetime.time(3,56), end_time='15:07',
319-
expected_url=URLBASE + "/-/FOO/date/1918-05-11/1988-02-15/1min/03:56/15:07.json")
310+
detail_level='1min', start_time=datetime.time(3,56), end_time='15:07',
311+
expected_url=URLBASE + "/-/FOO/date/1918-05-11/1d/1min/03:56/15:07.json")
320312
# end_time can be a datetime object
321313
test_intraday_timeseries(self.fb, resource, base_date=base_date,
322-
end_date=end_date, detail_level='1min', start_time='3:56', end_time=datetime.time(15,7),
323-
expected_url=URLBASE + "/-/FOO/date/1918-05-11/1988-02-15/1min/3:56/15:07.json")
314+
detail_level='1min', start_time='3:56', end_time=datetime.time(15,7),
315+
expected_url=URLBASE + "/-/FOO/date/1918-05-11/1d/1min/3:56/15:07.json")
324316

325317

326318
def test_foods(self):

0 commit comments

Comments
 (0)