From 0cff5be4a352254e36f984346265edb5e7f7d133 Mon Sep 17 00:00:00 2001 From: Lev Morgan Date: Mon, 11 Nov 2013 16:21:59 -0600 Subject: [PATCH 1/5] Added methods for get_foods and get_activities API calls --- fitbit/api.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/fitbit/api.py b/fitbit/api.py index ca41adf..8414ac4 100644 --- a/fitbit/api.py +++ b/fitbit/api.py @@ -475,6 +475,23 @@ def create_food(self, data): ) return self.make_request(url, data=data) + def get_foods(self, date, user_id=None): + return self._food_stats( + user_id=user_id, + qualifier="date/%s"%(date) + ) + + def get_activities(self, date): + """ + https://wiki.fitbit.com/display/API/API-Get-Activity + """ + url = "%s/%s/user/-/activities/date/%s.json" % ( + self.API_ENDPOINT, + self.API_VERSION, + date + ) + return self.make_request(url) + def get_meals(self): """ https://wiki.fitbit.com/display/API/API-Get-Meals From a83fd852039c928753cf8ce0e0c1d79b84a11edb Mon Sep 17 00:00:00 2001 From: Lev Morgan Date: Tue, 26 Nov 2013 18:29:57 -0600 Subject: [PATCH 2/5] Added delete_subscription method --- fitbit/api.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/fitbit/api.py b/fitbit/api.py index 8414ac4..9578de3 100644 --- a/fitbit/api.py +++ b/fitbit/api.py @@ -677,6 +677,31 @@ def subscription(self, subscription_id, subscriber_id, collection=None, headers={"X-Fitbit-Subscriber-id": subscriber_id} ) + def delete_subscription(self, subscription_id, subscriber_id, collection=None): + """ + https://wiki.fitbit.com/display/API/Fitbit+Subscriptions+API + """ + method = 'DELETE' + if not collection: + url = "%s/%s/user/-/apiSubscriptions/%s.json" % ( + self.API_ENDPOINT, + self.API_VERSION, + subscription_id + ) + else: + url = "%s/%s/user/-/%s/apiSubscriptions/%s-%s.json" % ( + self.API_ENDPOINT, + self.API_VERSION, + collection, + subscription_id, + collection + ) + return self.make_request( + url, + method=method, + headers={"X-Fitbit-Subscriber-id": subscriber_id} + ) + def list_subscriptions(self, collection=''): """ https://wiki.fitbit.com/display/API/Fitbit+Subscriptions+API From 9b647c7bf0be82a6e676c1cbb1616b9c647e609c Mon Sep 17 00:00:00 2001 From: Lev Morgan Date: Tue, 26 Nov 2013 18:40:07 -0600 Subject: [PATCH 3/5] Made delete_subscription better. --- fitbit/api.py | 22 ++-------------------- 1 file changed, 2 insertions(+), 20 deletions(-) diff --git a/fitbit/api.py b/fitbit/api.py index 9578de3..18492db 100644 --- a/fitbit/api.py +++ b/fitbit/api.py @@ -681,26 +681,8 @@ def delete_subscription(self, subscription_id, subscriber_id, collection=None): """ https://wiki.fitbit.com/display/API/Fitbit+Subscriptions+API """ - method = 'DELETE' - if not collection: - url = "%s/%s/user/-/apiSubscriptions/%s.json" % ( - self.API_ENDPOINT, - self.API_VERSION, - subscription_id - ) - else: - url = "%s/%s/user/-/%s/apiSubscriptions/%s-%s.json" % ( - self.API_ENDPOINT, - self.API_VERSION, - collection, - subscription_id, - collection - ) - return self.make_request( - url, - method=method, - headers={"X-Fitbit-Subscriber-id": subscriber_id} - ) + return subscription(subscription_id, subscriber_id, collection=collection, + method="DELETE") def list_subscriptions(self, collection=''): """ From 55e86d45cba8f7eb7904b8f79b24fa8affa1096b Mon Sep 17 00:00:00 2001 From: Lev Morgan Date: Tue, 26 Nov 2013 18:40:07 -0600 Subject: [PATCH 4/5] Made delete_subscription better. --- fitbit/api.py | 22 ++-------------------- 1 file changed, 2 insertions(+), 20 deletions(-) diff --git a/fitbit/api.py b/fitbit/api.py index 9578de3..134613c 100644 --- a/fitbit/api.py +++ b/fitbit/api.py @@ -681,26 +681,8 @@ def delete_subscription(self, subscription_id, subscriber_id, collection=None): """ https://wiki.fitbit.com/display/API/Fitbit+Subscriptions+API """ - method = 'DELETE' - if not collection: - url = "%s/%s/user/-/apiSubscriptions/%s.json" % ( - self.API_ENDPOINT, - self.API_VERSION, - subscription_id - ) - else: - url = "%s/%s/user/-/%s/apiSubscriptions/%s-%s.json" % ( - self.API_ENDPOINT, - self.API_VERSION, - collection, - subscription_id, - collection - ) - return self.make_request( - url, - method=method, - headers={"X-Fitbit-Subscriber-id": subscriber_id} - ) + return subscription(subscription_id, subscriber_id, collection=collection, + method="DELETE") def list_subscriptions(self, collection=''): """ From 81a38290a4364c64ba05aa9352be4c620852c7b3 Mon Sep 17 00:00:00 2001 From: Lev Morgan Date: Tue, 26 Nov 2013 19:06:55 -0600 Subject: [PATCH 5/5] Finally, irrevocably finished delete_subscription --- fitbit/api.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fitbit/api.py b/fitbit/api.py index 134613c..5ea6616 100644 --- a/fitbit/api.py +++ b/fitbit/api.py @@ -681,7 +681,7 @@ def delete_subscription(self, subscription_id, subscriber_id, collection=None): """ https://wiki.fitbit.com/display/API/Fitbit+Subscriptions+API """ - return subscription(subscription_id, subscriber_id, collection=collection, + return self.subscription(subscription_id, subscriber_id, collection=collection, method="DELETE") def list_subscriptions(self, collection=''):