def get_steps(): if not flask_login.current_user.is_authenticated: return redirect(url_for('main.login')) else: data = '' file_path = '/export/sc-ehealth01/fitbit/fitbit-data-collection/data/' fitbit_creds = get_user_fitbit_credentials(flask_login.current_user.id) if fitbit_creds: with fitbit_client(fitbit_creds) as client: try: profile_response = client.user_profile_get() user_profile = "{} UserId: {} has been on fitbit since {}".format( profile_response['user']['fullName'], profile_response['user']['encodedId'], profile_response['user']['memberSince']) #client.subscription(flask_login.current_user.id, '100') ls = client.time_series('activities/steps', period='1y') r = json.dumps(ls) d = json.loads(r) data = json_normalize(d['activities-steps']) df = pd.DataFrame() df = df.append( { 'fitbit_user_id': profile_response['user']['encodedId'], 'full_name': profile_response['user']['fullName'], 'json_value': d }, ignore_index=True) #f = ls['activities-steps'] #df.to_csv('filename.csv', mode='a', header=False) df.to_csv(file_path + 'activities_steps.csv', mode='a', header=False, sep=',', index=False, encoding='utf-8') except BadResponse: flash("Api Call Failed") return render_template('activities_steps.html', user_profile=user_profile, data=data, df=df)
def get_daily_activity_summary_by_date(): if not flask_login.current_user.is_authenticated: return redirect(url_for('main.login')) else: fitbit_creds = get_user_fitbit_credentials(flask_login.current_user.id) print 'fitbit_creds: ' + str(fitbit_creds) data = '' file_path = '/export/sc-ehealth01/fitbit/fitbit-data-collection/data/' datetime_from = request.args.get('date') date_object = datetime.strptime(datetime_from, '%Y-%m-%d') if fitbit_creds: with fitbit_client(fitbit_creds) as client: try: profile_response = client.user_profile_get() user_profile = "{} has been on fitbit since {}".format( profile_response['user']['fullName'], profile_response['user']['memberSince']) ls = client.activities(date=date_object) r = json.dumps(ls) d = json.loads(r) data = d df = pd.DataFrame() df = df.append( { 'fitbit_user_id': profile_response['user']['encodedId'], 'full_name': profile_response['user']['fullName'], 'json_value': d }, ignore_index=True) df.to_csv(file_path + 'daily_activity_summary.csv', mode='a', header=False, sep=',', index=False, encoding='utf-8') except BadResponse: flash("Api Call Failed") return render_template('daily_activity_summary.html', data=ls, user_profile=user_profile, df=df)
def index(): if not flask_login.current_user.is_authenticated: return redirect(url_for('main.login')) else: user_profile = "Could not access fitbit profile" fitbit_creds = get_user_fitbit_credentials(flask_login.current_user.id) if fitbit_creds: with fitbit_client(fitbit_creds) as client: try: profile_response = client.user_profile_get() user_profile = "{} has been on fitbit since {}".format( profile_response['user']['fullName'], profile_response['user']['memberSince']) except BadResponse: flash("Api Call Failed") return render_template('index.html', user_profile=user_profile, permission_url=get_permission_screen_url())
def list_subscription(): if not flask_login.current_user.is_authenticated: return redirect(url_for('main.login')) else: fitbit_creds = get_user_fitbit_credentials(flask_login.current_user.id) data = '' if fitbit_creds: with fitbit_client(fitbit_creds) as client: try: profile_response = client.user_profile_get() user_profile = "{} has been on fitbit since {}".format( profile_response['user']['fullName'], profile_response['user']['memberSince']) ls = client.list_subscriptions() except BadResponse: flash("Api Call Failed") return render_template('list-subscriptions.html', data=ls)
def get_calerories(): if not flask_login.current_user.is_authenticated: return redirect(url_for('main.login')) else: fitbit_creds = get_user_fitbit_credentials(flask_login.current_user.id) data = '' if fitbit_creds: with fitbit_client(fitbit_creds) as client: try: profile_response = client.user_profile_get() user_profile = "{} has been on fitbit since {}".format( profile_response['user']['fullName'], profile_response['user']['memberSince']) ls = client.time_series('activities/calories', period='1y') r = json.dumps(ls) d = json.loads(r) data = json_normalize(d['activities-calories']) except BadResponse: flash("Api Call Failed") return render_template('activities.html', data=data)