From 9bb1fb9d72c303abb2e541f2b56b3aca50f54bf3 Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Sun, 12 Mar 2017 22:36:26 +0100 Subject: [PATCH 1/7] removed #tasks.py file --- rowers/#tasks.py# | 495 ---------------------------------------------- 1 file changed, 495 deletions(-) delete mode 100644 rowers/#tasks.py# diff --git a/rowers/#tasks.py# b/rowers/#tasks.py# deleted file mode 100644 index f37fe6ab..00000000 --- a/rowers/#tasks.py# +++ /dev/null @@ -1,495 +0,0 @@ -from celery import Celery,app -import os -import time -import gc -import gzip -import shutil -import numpy as np - -import rowingdata -from rowingdata import main as rmain -from rowingdata import rowingdata as rdata -import rowingdata - -from matplotlib.backends.backend_agg import FigureCanvas -#from matplotlib.backends.backend_cairo import FigureCanvasCairo as FigureCanvas -import matplotlib.pyplot as plt -from matplotlib import figure - -import stravalib - -from utils import serialize_list,deserialize_list - -from rowers.dataprepnodjango import update_strokedata - - -from django.core.mail import send_mail, BadHeaderError,EmailMessage - -# testing task -@app.task -def add(x, y): - return x + y - -# send email to me when an unrecognized file is uploaded -@app.task -def handle_sendemail_unrecognized(unrecognizedfile,useremail): - - # send email with attachment - fullemail = 'roosendaalsander@gmail.com' - subject = "Unrecognized file from Rowsandall.com" - message = "Dear Sander,\n\n" - message += "Please find attached a file that someone tried to upload to rowsandall.com. The file was not recognized as a valid file type.\n\n" - message += "User Email "+useremail+"\n\n" - message += "Best Regards, the Rowsandall Team" - - email = EmailMessage(subject, message, - 'Rowsandall ', - [fullemail]) - - - email.attach_file(unrecognizedfile) - - res = email.send() - - # remove tcx file - os.remove(unrecognizedfile) - return 1 - - -# Send email with TCX attachment -@app.task -def handle_sendemailtcx(first_name,last_name,email,tcxfile): - - # send email with attachment - fullemail = first_name + " " + last_name + " " + "<" + email + ">" - subject = "File from Rowsandall.com" - message = "Dear "+first_name+",\n\n" - message += "Please find attached the requested file for your workout.\n\n" - message += "Best Regards, the Rowsandall Team" - - email = EmailMessage(subject, message, - 'Rowsandall ', - [fullemail]) - - - email.attach_file(tcxfile) - - res = email.send() - - # remove tcx file - os.remove(tcxfile) - return 1 - -# Send email with CSV attachment -@app.task -def handle_sendemailcsv(first_name,last_name,email,csvfile): - - # send email with attachment - fullemail = first_name + " " + last_name + " " + "<" + email + ">" - subject = "File from Rowsandall.com" - message = "Dear "+first_name+",\n\n" - message += "Please find attached the requested file for your workout.\n\n" - message += "Best Regards, the Rowsandall Team" - - email = EmailMessage(subject, message, - 'Rowsandall ', - [fullemail]) - - - if os.path.isfile(csvfile): - email.attach_file(csvfile) - else: - csvfile2 = csvfile - with gzip.open(csvfile+'.gz','rb') as f_in, open(csvfile2,'wb') as f_out: - shutil.copyfileobj(f_in, f_out) - - email.attach_file(csvfile2) - os.remove(csvfile2) - - res = email.send() - - return 1 - -# Calculate wind and stream corrections for OTW rowing -@app.task -def handle_otwsetpower(f1,boattype,weightvalue, - first_name,last_name,email,workoutid, - debug=False): - try: - rowdata = rdata(f1) - except IOError: - try: - rowdata = rdata(f1+'.csv') - except IOError: - rowdata = rdata(f1+'.gz') - - weightvalue = float(weightvalue) - - # do something with boat type - boatfile = { - '1x':'static/rigging/1x.txt', - '2x':'static/rigging/2x.txt', - '2-':'static/rigging/2-.txt', - '4x':'static/rigging/4x.txt', - '4-':'static/rigging/4-.txt', - '8+':'static/rigging/8+.txt', - } - try: - rg = rowingdata.getrigging(boatfile[boattype]) - except KeyError: - rg = rowingdata.getrigging('static/rigging/1x.txt') - - # do calculation, but do not overwrite NK Empower Power data - powermeasured = False - try: - w = rowdata.df['wash'] - powermeasured = True - except KeyError: - pass - - rowdata.otw_setpower_silent(skiprows=5,mc=weightvalue,rg=rg, - powermeasured=powermeasured) - - # save data - rowdata.write_csv(f1) - update_strokedata(workoutid,rowdata.df,debug=debug) - - # send email - fullemail = first_name + " " + last_name + " " + "<" + email + ">" - subject = "Your Rowsandall OTW calculations are ready" - message = "Dear "+first_name+",\n\n" - message += "Your Rowsandall OTW calculations are ready.\n" - message += "Thank you for using rowsandall.com.\n\n" - message += "Rowsandall OTW calculations have not been fully implemented yet.\n" - message += "We are now running an experimental version for debugging purposes. \n" - message += "Your wind/stream corrected plot is available here: http://rowsandall.com/rowers/workout/" - message += str(workoutid) - message +="/interactiveotwplot\n\n" - message += "Please report any bugs/inconsistencies/unexpected results at rowsandall.slack.com or by reply to this email.\n\n" - message += "Best Regards, The Rowsandall Physics Department." - - send_mail(subject, message, - 'Rowsandall Physics Department ', - [fullemail]) - - return 1 - -# This function generates all the static (PNG image) plots -@app.task -def handle_makeplot(f1,f2,t,hrdata,plotnr,imagename): - - hrmax = hrdata['hrmax'] - hrut2 = hrdata['hrut2'] - hrut1 = hrdata['hrut1'] - hrat = hrdata['hrat'] - hrtr = hrdata['hrtr'] - hran = hrdata['hran'] - ftp = hrdata['ftp'] - powerzones = deserialize_list(hrdata['powerzones']) - powerperc = np.array(deserialize_list(hrdata['powerperc'])).astype(int) - - rr = rowingdata.rower(hrmax=hrmax,hrut2=hrut2, - hrut1=hrut1,hrat=hrat, - hrtr=hrtr,hran=hran, - ftp=ftp,powerperc=powerperc, - powerzones=powerzones) - try: - row = rdata(f2,rower=rr) - except IOError: - row = rdata(f2+'.gz',rower=rr) - - - haspower = row.df[' Power (watts)'].mean() > 50 - - nr_rows = len(row.df) - if (plotnr in [1,2,4,5,8,11,9,12]) and (nr_rows > 1200): - bin = int(nr_rows/1200.) - df = row.df.groupby(lambda x:x/bin).mean() - row.df = df - nr_rows = len(row.df) - if (plotnr==1): - fig1 = row.get_timeplot_erg(t) - elif (plotnr==2): - fig1 = row.get_metersplot_erg(t) - elif (plotnr==3): - fig1 = row.get_piechart(t) - elif (plotnr==4): - if haspower: - fig1 = row.get_timeplot_otwempower(t) - else: - fig1 = row.get_timeplot_otw(t) - elif (plotnr==5): - if haspower: - fig1 = row.get_metersplot_otwempower(t) - else: - fig1 = row.get_metersplot_otw(t) - elif (plotnr==6): - fig1 = row.get_piechart(t) - elif (plotnr==7) or (plotnr==10): - fig1 = row.get_metersplot_erg2(t) - elif (plotnr==8) or (plotnr==11): - fig1 = row.get_timeplot_erg2(t) - elif (plotnr==9) or (plotnr==12): - fig1 = row.get_time_otwpower(t) - elif (plotnr==13) or (plotnr==16): - fig1 = row.get_power_piechart(t) - - canvas = FigureCanvas(fig1) - - # plt.savefig('static/plots/'+imagename,format='png') - canvas.print_figure('static/plots/'+imagename) - # plt.imsave(fname='static/plots/'+imagename) - plt.close(fig1) - fig1.clf() - gc.collect() - return imagename - -# Team related remote tasks - -@app.task -def handle_sendemail_invite(email,name,code,teamname,manager): - fullemail = name+' <'+email+'>' - subject = 'Invitation to join team '+teamname - message = 'Dear '+name+',\n\n' - message += manager+' is inviting you to join his team '+teamname - message += ' on rowsandall.com\n\n' - message += 'By accepting the invite, you will have access to your' - message += " team's workouts on rowsandall.com and your workouts will " - message += " be visible to " - message += "the members of the team.\n\n" - message += 'If you already have an account on rowsandall.com, you can login to the site and you will find the invitation here on the Teams page:\n' - message += ' https://rowsandall.com/rowers/me/teams \n\n' - message += 'You can also click the direct link: \n' - message += 'https://rowsandall.com/rowers/me/invitation/'+code+' \n\n' - message += 'If you are not yet registered to rowsandall.com, ' - message += 'you can register for free at https://rowsandall.com/rowers/register\n' - message += 'After you set up your account, you can use the direct link: ' - message += 'https://rowsandall.com/rowers/me/invitation/'+code+' \n\n' - - message += 'You can also manually accept your team membership with the code.\n' - message += 'You will need to do this if you registered under a different email address than this one.\n' - message += 'Code: '+code+'\n' - message += 'Link to manually accept your team membership: ' - message += 'https://rowsandall.com/rowers/me/invitation\n\n' - message += "Best Regards, the Rowsandall Team" - - email = EmailMessage(subject, message, - 'Rowsandall ', - [fullemail]) - - - res = email.send() - - return 1 - -@app.task -def handle_sendemailnewresponse(first_name,last_name, - email, - commenter_first_name, - commenter_last_name, - comment, - workoutname,workoutid,commentid): - fullemail = first_name+' '+last_name+' <'+email+'>' - subject = 'New comment on workout '+workoutname - message = 'Dear '+first_name+',\n\n' - message += commenter_first_name+' '+commenter_last_name - message += ' has written a new comment on the workout ' - message += workoutname+'\n\n' - message += comment - message += '\n\n' - message += 'You can read the comment here:\n' - message += 'https://rowsandall.com/rowers/workout/'+str(workoutid)+'/comment' - message += '\n\n' - message += 'You are receiving this email because you are subscribed ' - message += 'to comments on this workout. To unsubscribe, follow this link:\n' - message += 'https://rowsandall.com/rowers/workout/'+str(workoutid)+'/unsubscribe' - - email = EmailMessage(subject, message, - 'Rowsandall ', - [fullemail]) - - - res = email.send() - - return 1 - -@app.task -def handle_sendemailnewcomment(first_name, - last_name, - email, - commenter_first_name, - commenter_last_name, - comment,workoutname, - workoutid): - fullemail = first_name+' '+last_name+' <'+email+'>' - subject = 'New comment on workout '+workoutname - message = 'Dear '+first_name+',\n\n' - message += commenter_first_name+' '+commenter_last_name - message += ' has written a new comment on your workout ' - message += workoutname+'\n\n' - message += comment - message += '\n\n' - message += 'You can read the comment here:\n' - message += 'https://rowsandall.com/rowers/workout/'+str(workoutid)+'/comment' - - email = EmailMessage(subject, message, - 'Rowsandall ', - [fullemail]) - - - res = email.send() - - return 1 - - -@app.task -def handle_sendemail_request(email,name,code,teamname,requestor,id): - fullemail = name+' <'+email+'>' - subject = 'Request to join team '+teamname - message = 'Dear '+name+',\n\n' - message += requestor+' is requesting admission to your team '+teamname - message += ' on rowsandall.com\n\n' - message += 'Click the direct link to accept: \n' - message += 'https://rowsandall.com/rowers/me/request/'+code+' \n\n' - message += 'Click the following link to reject the request: \n' - message += 'https://rowsandall.com/rowers/me/request/'+str(id)+' \n\n' - message += 'You can find all pending requests on your team management page:\n' - message += 'https://rowsandall.com/rowers/me/teams\n\n' - message += "Best Regards, the Rowsandall Team" - - email = EmailMessage(subject, message, - 'Rowsandall ', - [fullemail]) - - - res = email.send() - - return 1 - -@app.task -def handle_sendemail_request_accept(email,name,teamname,managername): - fullemail = name+' <'+email+'>' - subject = 'Welcome to '+teamname - message = 'Dear '+name+',\n\n' - message += managername - message += ' has accepted your request to be part of the team ' - message += teamname - message += '\n\n' - message += "Best Regards, the Rowsandall Team" - - email = EmailMessage(subject, message, - 'Rowsandall ', - [fullemail]) - - - res = email.send() - - return 1 - -@app.task -def handle_sendemail_request_reject(email,name,teamname,managername): - fullemail = name+' <'+email+'>' - subject = 'Your application to '+teamname+' was rejected' - message = 'Dear '+name+',\n\n' - message += 'Unfortunately, ' - message += managername - message += ' has rejected your request to be part of the team ' - message += teamname - message += '\n\n' - message += "Best Regards, the Rowsandall Team" - - email = EmailMessage(subject, message, - 'Rowsandall ', - [fullemail]) - - - res = email.send() - - return 1 - -@app.task -def handle_sendemail_member_dropped(email,name,teamname,managername): - fullemail = name+' <'+email+'>' - subject = 'You were removed from '+teamname - message = 'Dear '+name+',\n\n' - message += 'Unfortunately, ' - message += managername - message += ' has removed you from the team ' - message += teamname - message += '\n\n' - message += "Best Regards, the Rowsandall Team" - - email = EmailMessage(subject, message, - 'Rowsandall ', - [fullemail]) - - - res = email.send() - - return 1 - -@app.task -def handle_sendemail_team_removed(email,name,teamname,managername): - fullemail = name+' <'+email+'>' - subject = 'Team '+teamname+' was deleted' - message = 'Dear '+name+',\n\n' - message += managername - message += ' has decided to delete the team ' - message += teamname - message += '\n\n' - message += 'The '+teamname+' tag has been removed from all your ' - message += 'workouts on rowsandall.com.\n\n' - message += "Best Regards, the Rowsandall Team" - - email = EmailMessage(subject, message, - 'Rowsandall ', - [fullemail]) - - - res = email.send() - - return 1 - -@app.task -def handle_sendemail_invite_reject(email,name,teamname,managername): - fullemail = managername+' <'+email+'>' - subject = 'Your invitation to '+name+' was rejected' - message = 'Dear '+managername+',\n\n' - message += 'Unfortunately, ' - message += name - message += ' has rejected your invitation to be part of the team ' - message += teamname - message += '\n\n' - message += "Best Regards, the Rowsandall Team" - - email = EmailMessage(subject, message, - 'Rowsandall ', - [fullemail]) - - - res = email.send() - - return 1 - -@app.task -def handle_sendemail_invite_accept(email,name,teamname,managername): - fullemail = managername+' <'+email+'>' - subject = 'Your invitation to '+name+' was accepted' - message = 'Dear '+managername+',\n\n' - message += name+' has accepted your invitation to be part of the team '+teamname+'\n\n' - message += "Best Regards, the Rowsandall Team" - - email = EmailMessage(subject, message, - 'Rowsandall ', - [fullemail]) - - - res = email.send() - - return 1 - - - -# Another simple task for debugging purposes -def add2(x,y): - return x+y From a84c2230336082fb4aceebbdafcb5c96ca255b70 Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Sun, 19 Mar 2017 21:04:42 +0100 Subject: [PATCH 2/7] remove password from registration email --- rowers/views.py | 1 - 1 file changed, 1 deletion(-) diff --git a/rowers/views.py b/rowers/views.py index 518cab85..ece46b1b 100644 --- a/rowers/views.py +++ b/rowers/views.py @@ -253,7 +253,6 @@ def rower_register_view(request): message += "The first thing you might want to do is check and edit the heart rate band values. After logging in, click the button with your first name.\n" message += "You can also check our videos page at http://rowsandall.com/rowers/videos for some helpful instruction videos.\n\n" message += "User name:"+username+"\n" - message += "Password :"+password+"\n\n" message += "For all your questions, just reply to this email.\n\n" message += "Happy rowing!\n\n\n" message += "Oh, one more thing. The site is currently in beta and is developing fast. Bear with us. Don't hesitate to contact me if anything is broken or doesn't seem to work as advertised." From 01fe1e8807bc05811f2392685e0ba720a48914b5 Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Wed, 22 Mar 2017 12:23:26 +0100 Subject: [PATCH 3/7] added receiver on Rower change (removes teams) --- rowers/models.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/rowers/models.py b/rowers/models.py index 2b8b20f9..c6603e37 100644 --- a/rowers/models.py +++ b/rowers/models.py @@ -230,6 +230,13 @@ class Rower(models.Model): def clean_email(self): return self.user.email.lower() +@receiver(models.signals.post_save,sender=Rower) +def auto_delete_teams_on_change(sender, instance, **kwargs): + if instance.rowerplan != 'coach': + teams = Team.objects.filter(manager=instance.user) + for team in teams: + team.delete() + # Saving a chart as a favorite chart class FavoriteChart(models.Model): y1params = ( From d89219a2df91c28ca477c2877c404a71e38906ae Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Wed, 22 Mar 2017 15:55:13 +0100 Subject: [PATCH 4/7] working on workout import (auth and workout list done) --- rowers/models.py | 7 + rowers/runkeeperstuff.py | 188 ++++++++++++++++++++ rowers/templates/runkeeper_list_import.html | 37 ++++ rowers/urls.py | 3 + rowers/views.py | 112 +++++++++++- rowsandall_app/settings.py | 6 + rowsandall_app/urls.py | 1 + 7 files changed, 350 insertions(+), 4 deletions(-) create mode 100644 rowers/runkeeperstuff.py create mode 100644 rowers/templates/runkeeper_list_import.html diff --git a/rowers/models.py b/rowers/models.py index c6603e37..6c581794 100644 --- a/rowers/models.py +++ b/rowers/models.py @@ -196,6 +196,12 @@ class Rower(models.Model): sporttracksrefreshtoken = models.CharField(default='',max_length=200, blank=True,null=True) stravatoken = models.CharField(default='',max_length=200,blank=True,null=True) + + runkeepertoken = models.CharField(default='',max_length=200, + blank=True,null=True) +# runkeepertokenexpirydate = models.DateTimeField(blank=True,null=True) +# runkeeperrefreshtoken = models.CharField(default='',max_length=200, +# blank=True,null=True) # Plan plans = ( @@ -400,6 +406,7 @@ class Workout(models.Model): maxhr = models.IntegerField(blank=True,null=True) uploadedtostrava = models.IntegerField(default=0) uploadedtosporttracks = models.IntegerField(default=0) + uploadedtorunkeeper = models.IntegerField(default=0) # empower stuff inboard = models.FloatField(default=0.88) diff --git a/rowers/runkeeperstuff.py b/rowers/runkeeperstuff.py new file mode 100644 index 00000000..48b82a31 --- /dev/null +++ b/rowers/runkeeperstuff.py @@ -0,0 +1,188 @@ +# All the functionality needed to connect to Runkeeper + +# Python +import oauth2 as oauth +import cgi +import requests +import requests.auth +import json +from django.utils import timezone +from datetime import datetime +import numpy as np +from dateutil import parser +import time +import math +from math import sin,cos,atan2,sqrt +import os,sys + +# Django +from django.shortcuts import render_to_response +from django.http import HttpResponseRedirect, HttpResponse,JsonResponse +from django.conf import settings +from django.contrib.auth import authenticate, login, logout +from django.contrib.auth.models import User +from django.contrib.auth.decorators import login_required + +# Project +# from .models import Profile +from rowingdata import rowingdata +import pandas as pd +from rowers.models import Rower,Workout + +from rowsandall_app.settings import ( + C2_CLIENT_ID, C2_REDIRECT_URI, C2_CLIENT_SECRET, + STRAVA_CLIENT_ID, STRAVA_REDIRECT_URI, STRAVA_CLIENT_SECRET, + RUNKEEPER_CLIENT_ID, RUNKEEPER_CLIENT_SECRET,RUNKEEPER_REDIRECT_URI, + ) + +# Exponentially weighted moving average +# Used for data smoothing of the jagged data obtained by Strava +# See bitbucket issue 72 +def ewmovingaverage(interval,window_size): + # Experimental code using Exponential Weighted moving average + + try: + intervaldf = pd.DataFrame({'v':interval}) + idf_ewma1 = intervaldf.ewm(span=window_size) + idf_ewma2 = intervaldf[::-1].ewm(span=window_size) + + i_ewma1 = idf_ewma1.mean().ix[:,'v'] + i_ewma2 = idf_ewma2.mean().ix[:,'v'] + + interval2 = np.vstack((i_ewma1,i_ewma2[::-1])) + interval2 = np.mean( interval2, axis=0) # average + except ValueError: + interval2 = interval + + return interval2 + +from utils import geo_distance + + +# Custom exception handler, returns a 401 HTTP message +# with exception details in the json data +def custom_exception_handler(exc,message): + + response = { + "errors": [ + { + "code": str(exc), + "detail": message, + } + ] + } + + res = HttpResponse(message) + res.status_code = 401 + res.json = json.dumps(response) + + return res + +# Exchange access code for long-lived access token +def get_token(code): + client_auth = requests.auth.HTTPBasicAuth(RUNKEEPER_CLIENT_ID, RUNKEEPER_CLIENT_SECRET) + post_data = {"grant_type": "authorization_code", + "code": code, + "redirect_uri": RUNKEEPER_REDIRECT_URI, + "client_secret": RUNKEEPER_CLIENT_SECRET, + "client_id":RUNKEEPER_CLIENT_ID, + } + headers = {'user-agent': 'sanderroosendaal'} + response = requests.post("https://runkeeper.com/apps/token", + data=post_data, + headers=headers) + try: + token_json = response.json() + thetoken = token_json['access_token'] + except KeyError: + thetoken = 0 + + return thetoken + +# Make authorization URL including random string +def make_authorization_url(request): + # Generate a random string for the state parameter + # Save it for use later to prevent xsrf attacks + from uuid import uuid4 + state = str(uuid4()) + + params = {"client_id": RUNKEEPER_CLIENT_ID, + "response_type": "code", + "redirect_uri": RUNKEEPER_REDIRECT_URI, + } + import urllib + url = "https://www.runkeeper.com/opps/authorize" +urllib.urlencode(params) + + return HttpResponseRedirect(url) + +# Get list of workouts available on Runkeeper +def get_runkeeper_workout_list(user): + r = Rower.objects.get(user=user) + if (r.runkeepertoken == '') or (r.runkeepertoken is None): + s = "Token doesn't exist. Need to authorize" + return custom_exception_handler(401,s) + else: + # ready to fetch. Hurray + authorizationstring = str('Bearer ' + r.runkeepertoken) + headers = {'Authorization': authorizationstring, + 'user-agent': 'sanderroosendaal', + 'Content-Type': 'application/json'} + url = "https://api.runkeeper.com/fitnessActivities" + s = requests.get(url,headers=headers) + + return s + +# Get workout summary data by Runkeeper ID +def get_runkeeper_workout(user,runkeeperid): + r = Rower.objects.get(user=user) + if (r.runkeepertoken == '') or (r.runkeepertoken is None): + return custom_exception_handler(401,s) + s = "Token doesn't exist. Need to authorize" + else: + # ready to fetch. Hurray + authorizationstring = str('Bearer ' + r.runkeepertoken) + headers = {'Authorization': authorizationstring, + 'user-agent': 'sanderroosendaal', + 'Content-Type': 'application/json'} + url = "https://api.runkeeper.com/fitnessActivities/"+str(runkeeperid) + s = requests.get(url,headers=headers) + + return s + +# Generate Workout data for Runkeeper (a TCX file) +def createrunkeeperworkoutdata(w): + filename = w.csvfilename + try: + row = rowingdata(filename) + tcxfilename = filename[:-4]+'.tcx' + row.exporttotcx(tcxfilename,notes=w.notes) + except: + tcxfilename = 0 + + return tcxfilename + +# Upload the TCX file to Runkeeper and set the workout activity type +# to rowing on Runkeeper +def handle_runkeeperexport(f2,workoutname,runkeepertoken,description=''): + # w = Workout.objects.get(id=workoutid) + client = runkeeperlib.Client(access_token=runkeepertoken) + + act = client.upload_activity(f2,'tcx',name=workoutname) + try: + res = act.wait(poll_interval=5.0,timeout=30) + message = 'Workout successfully synchronized to Runkeeper' + except: + res = 0 + + + + # description doesn't work yet. Have to wait for runkeeperlib to update + if res: + act = client.update_activity(res.id,activity_type='Rowing',description=description) + else: + message = 'Runkeeper upload timed out.' + return (0,message) + + return (res.id,message) + + diff --git a/rowers/templates/runkeeper_list_import.html b/rowers/templates/runkeeper_list_import.html new file mode 100644 index 00000000..5cda8c0d --- /dev/null +++ b/rowers/templates/runkeeper_list_import.html @@ -0,0 +1,37 @@ +{% extends "base.html" %} +{% load staticfiles %} +{% load rowerfilters %} + +{% block title %}Workouts{% endblock %} + +{% block content %} +

Available on Runkeeper

+ {% if workouts %} + + + + + + + + + + + + {% for workout in workouts %} + + + + + + + + + {% endfor %} + +
Import Date/Time Duration Total Distance Type
+Import{{ workout|lookup:'starttime' }}{{ workout|lookup:'duration' }} {{ workout|lookup:'distance' }} m{{ workout|lookup:'type' }}
+ {% else %} +

No workouts found

+ {% endif %} +{% endblock %} diff --git a/rowers/urls.py b/rowers/urls.py index 6a524940..512e1356 100644 --- a/rowers/urls.py +++ b/rowers/urls.py @@ -212,6 +212,8 @@ urlpatterns = [ url(r'^workout/stravaimport/(\d+)/$',views.workout_getstravaworkout_view), url(r'^workout/sporttracksimport/$',views.workout_sporttracksimport_view), url(r'^workout/sporttracksimport/(\d+)/$',views.workout_getsporttracksworkout_view), + url(r'^workout/runkeeperimport/$',views.workout_runkeeperimport_view), + url(r'^workout/runkeeperimport/(\d+)/$',views.workout_getrunkeeperworkout_view), url(r'^workout/(\d+)/deleteconfirm$',views.workout_delete_confirm_view), url(r'^workout/(\d+)/c2uploadw/$',views.workout_c2_upload_view), url(r'^workout/(\d+)/stravauploadw/$',views.workout_strava_upload_view), @@ -251,6 +253,7 @@ urlpatterns = [ url(r'^me/revokeapp/(\d+)$',views.rower_revokeapp_view), url(r'^me/stravaauthorize/$',views.rower_strava_authorize), url(r'^me/sporttracksauthorize/$',views.rower_sporttracks_authorize), + url(r'^me/runkeeperauthorize/$',views.rower_runkeeper_authorize), url(r'^me/sporttracksrefresh/$',views.rower_sporttracks_token_refresh), url(r'^me/c2refresh/$',views.rower_c2_token_refresh), url(r'^me/favoritecharts/$',views.rower_favoritecharts_view), diff --git a/rowers/views.py b/rowers/views.py index d1aca901..603a4e44 100644 --- a/rowers/views.py +++ b/rowers/views.py @@ -49,10 +49,16 @@ from c2stuff import C2NoTokenError from iso8601 import ParseError import stravastuff import sporttracksstuff +import runkeeperstuff import ownapistuff from ownapistuff import TEST_CLIENT_ID, TEST_CLIENT_SECRET, TEST_REDIRECT_URI -from rowsandall_app.settings import C2_CLIENT_ID, C2_REDIRECT_URI, C2_CLIENT_SECRET, STRAVA_CLIENT_ID, STRAVA_REDIRECT_URI, STRAVA_CLIENT_SECRET -from rowsandall_app.settings import SPORTTRACKS_CLIENT_ID, SPORTTRACKS_REDIRECT_URI, SPORTTRACKS_CLIENT_SECRET +from rowsandall_app.settings import ( + C2_CLIENT_ID, C2_REDIRECT_URI, C2_CLIENT_SECRET, + STRAVA_CLIENT_ID, STRAVA_REDIRECT_URI, STRAVA_CLIENT_SECRET, + SPORTTRACKS_CLIENT_ID, SPORTTRACKS_REDIRECT_URI, + SPORTTRACKS_CLIENT_SECRET, + RUNKEEPER_CLIENT_ID,RUNKEEPER_REDIRECT_URI,RUNKEEPER_CLIENT_SECRET, + ) import requests import json @@ -1053,6 +1059,25 @@ def rower_strava_authorize(request): import urllib url = "https://www.strava.com/oauth/authorize?"+ urllib.urlencode(params) + return HttpResponseRedirect(url) + +# Runkeeper authorization +@login_required() +def rower_runkeeper_authorize(request): + # Generate a random string for the state parameter + # Save it for use later to prevent xsrf attacks + from uuid import uuid4 + state = str(uuid4()) + + params = {"client_id": RUNKEEPER_CLIENT_ID, + "response_type": "code", + "state": state, + "redirect_uri": RUNKEEPER_REDIRECT_URI} + + import urllib + url = "https://runkeeper.com/apps/authorize?"+ urllib.urlencode(params) + + return HttpResponseRedirect(url) # SportTracks Authorization @@ -1199,6 +1224,19 @@ def rower_process_stravacallback(request): message = "Something went wrong with the Strava authorization" return imports_view(request,message=message) +# Process Runkeeper callback +@login_required() +def rower_process_runkeepercallback(request): + code = request.GET['code'] + access_token = runkeeperstuff.get_token(code) + + r = Rower.objects.get(user=request.user) + r.runkeepertoken = access_token + + r.save() + + successmessage = "Tokens stored. Good to go" + return imports_view(request,successmessage=successmessage) # Process SportTracks callback @login_required() @@ -4425,8 +4463,46 @@ def workout_stravaimport_view(request,message=""): }) return HttpResponse(res) - -# The page where you select which SportTracks page to import + +# The page where you select which RunKeeper workout to import +@login_required() +def workout_runkeeperimport_view(request,message=""): + res = runkeeperstuff.get_runkeeper_workout_list(request.user) + if (res.status_code != 200): + if (res.status_code == 401): + r = Rower.objects.get(user=request.user) + if (r.runkeepertoken == '') or (r.runkeepertoken is None): + s = "Token doesn't exist. Need to authorize" + return HttpResponseRedirect("/rowers/me/runkeeperauthorize/") + message = "Something went wrong in workout_runkeeperimport_view" + if settings.DEBUG: + return HttpResponse(res) + else: + url = reverse(workouts_view, + kwargs = { + 'message': str(message) + }) + return HttpResponseRedirect(url) + else: + workouts = [] + for item in res.json()['items']: + d = int(float(item['total_distance'])) + i = getidfromsturi(item['uri']) + ttot = str(datetime.timedelta(seconds=int(float(item['duration'])))) + s = item['start_time'] + r = item['type'] + keys = ['id','distance','duration','starttime','type'] + values = [i,d,ttot,s,r] + res = dict(zip(keys,values)) + workouts.append(res) + return render(request,'runkeeper_list_import.html', + {'workouts':workouts, + 'message':message, + }) + + return HttpResponse(res) + +# The page where you select which SportTracks workout to import @login_required() def workout_sporttracksimport_view(request,message=""): res = sporttracksstuff.get_sporttracks_workout_list(request.user) @@ -4582,6 +4658,34 @@ def workout_getstravaworkout_view(request,stravaid): return HttpResponseRedirect(url) +# Imports a workout from Runkeeper +@login_required() +def workout_getrunkeeperworkout_view(request,runkeeperid): + res = runkeeperstuff.get_runkeeper_workout(request.user,runkeeperid) + print res.json() + data = res.json() + + return HttpResponse(data) + + id,message = add_workout_from_stdata(request.user,runkeeperid,data) + w = Workout.objects.get(id=id) + w.uploadedtorunkeeper=runkeeperid + w.save() + if message: + url = reverse(workout_edit_view, + kwargs = { + 'id':id, + 'message':message, + }) + else: + url = reverse(workout_edit_view, + kwargs = { + 'id':id, + }) + return HttpResponseRedirect(url) + + + # Imports a workout from SportTracks @login_required() def workout_getsporttracksworkout_view(request,sporttracksid): diff --git a/rowsandall_app/settings.py b/rowsandall_app/settings.py index 81a166df..0cd505dd 100644 --- a/rowsandall_app/settings.py +++ b/rowsandall_app/settings.py @@ -226,6 +226,12 @@ SPORTTRACKS_CLIENT_ID = CFG['sporttracks_client_id'] SPORTTRACKS_CLIENT_SECRET = CFG['sporttracks_client_secret'] SPORTTRACKS_REDIRECT_URI = "http://rowsandall.com/sporttracks_callback" +# Runkeeper + +RUNKEEPER_CLIENT_ID = CFG['runkeeper_client_id'] +RUNKEEPER_CLIENT_SECRET = CFG['runkeeper_client_secret'] +RUNKEEPER_REDIRECT_URI = "http://rowsandall.com/runkeeper_callback" + # RQ stuff RQ_QUEUES = { diff --git a/rowsandall_app/urls.py b/rowsandall_app/urls.py index 0f1d9fbf..08834cb7 100644 --- a/rowsandall_app/urls.py +++ b/rowsandall_app/urls.py @@ -55,6 +55,7 @@ urlpatterns += [ url(r'^call\_back',rowersviews.rower_process_callback), url(r'^stravacall\_back',rowersviews.rower_process_stravacallback), url(r'^sporttracks\_callback',rowersviews.rower_process_sporttrackscallback), + url(r'^runkeeper\_callback',rowersviews.rower_process_runkeepercallback), url(r'^twitter\_callback',rowersviews.rower_process_twittercallback), url(r'^i18n/', include('django.conf.urls.i18n')), ] From 08c0838d85389679bf9bf5dde95d4307a411c7bc Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Thu, 23 Mar 2017 20:07:10 +0100 Subject: [PATCH 5/7] runkeeper functionality complete (not fully tested) --- rowers/runkeeperstuff.py | 124 ++++++++++++---- rowers/sporttracksstuff.py | 9 ++ rowers/urls.py | 1 + rowers/views.py | 281 +++++++++++++++++++++++++++++++++++-- 4 files changed, 375 insertions(+), 40 deletions(-) diff --git a/rowers/runkeeperstuff.py b/rowers/runkeeperstuff.py index 48b82a31..c29f8f7e 100644 --- a/rowers/runkeeperstuff.py +++ b/rowers/runkeeperstuff.py @@ -35,6 +35,14 @@ from rowsandall_app.settings import ( RUNKEEPER_CLIENT_ID, RUNKEEPER_CLIENT_SECRET,RUNKEEPER_REDIRECT_URI, ) +# Custom error class - to raise a NoTokenError +class RunKeeperNoTokenError(Exception): + def __init__(self,value): + self.value=value + + def __str__(self): + return repr(self.value) + # Exponentially weighted moving average # Used for data smoothing of the jagged data obtained by Strava # See bitbucket issue 72 @@ -149,40 +157,106 @@ def get_runkeeper_workout(user,runkeeperid): return s -# Generate Workout data for Runkeeper (a TCX file) +# Create Workout Data for upload to SportTracks def createrunkeeperworkoutdata(w): filename = w.csvfilename try: row = rowingdata(filename) - tcxfilename = filename[:-4]+'.tcx' - row.exporttotcx(tcxfilename,notes=w.notes) except: - tcxfilename = 0 + return 0 + + averagehr = int(row.df[' HRCur (bpm)'].mean()) + maxhr = int(row.df[' HRCur (bpm)'].max()) + duration = w.duration.hour*3600 + duration += w.duration.minute*60 + duration += w.duration.second + duration += +1.0e-6*w.duration.microsecond - return tcxfilename + # adding diff, trying to see if this is valid + #t = row.df.ix[:,'TimeStamp (sec)'].values-10*row.df.ix[0,'TimeStamp (sec)'] + t = row.df.ix[:,'TimeStamp (sec)'].values-row.df.ix[0,'TimeStamp (sec)'] + t[0] = t[1] -# Upload the TCX file to Runkeeper and set the workout activity type -# to rowing on Runkeeper -def handle_runkeeperexport(f2,workoutname,runkeepertoken,description=''): - # w = Workout.objects.get(id=workoutid) - client = runkeeperlib.Client(access_token=runkeepertoken) - - act = client.upload_activity(f2,'tcx',name=workoutname) + d = row.df.ix[:,'cum_dist'].values + d[0] = d[1] + t = t.astype(int) + d = d.astype(int) + spm = row.df[' Cadence (stokes/min)'].astype(int) + spm[0] = spm[1] + hr = row.df[' HRCur (bpm)'].astype(int) + + haslatlon=1 + try: - res = act.wait(poll_interval=5.0,timeout=30) - message = 'Workout successfully synchronized to Runkeeper' - except: - res = 0 + lat = row.df[' latitude'].values + lon = row.df[' longitude'].values + if not lat.std() and not lon.std(): + haslatlon = 0 + except KeyError: + haslatlon = 0 + + # path data + if haslatlon: + locdata = [] + for e in zip(t,lat,lon): + point = {'timestamp':e[0], + 'latitude':e[1], + 'longitude':e[2],} + locdata.append(point) + + hrdata = [] + for e in zip(t,hr): + point = {'timestamp':e[0], + 'heart_rate':e[1] + } + hrdata.append(point) + + distancedata = [] + for e in zip(t,d): + point = {'timestamp':e[0], + 'distance':e[1] + } + distancedata.append(point) + + start_time = w.startdatetime.strftime("%a, %d %b %Y %H:%M:%S") - - - # description doesn't work yet. Have to wait for runkeeperlib to update - if res: - act = client.update_activity(res.id,activity_type='Rowing',description=description) + if haslatlon: + data = { + "type": "Rowing", + "start_time": start_time, + "total_distance": int(w.distance), + "duration": duration, + "notes": w.notes, + "average_heart_rate": averagehr, + "path": locdata, + "distance": distancedata, + "heartrate": hrdata, + "post_to_twitter":"false", + "post_to_facebook":"false", + } else: - message = 'Runkeeper upload timed out.' - return (0,message) - - return (res.id,message) + data = { + "type": "Rowing", + "start_time": start_time, + "total_distance": int(w.distance), + "duration": duration, + "notes": w.notes, + "avg_heartrate": averagehr, + "distance": distancedata, + "heartrate": hrdata, + "post_to_twitter":"false", + "post_to_facebook":"false", + } + return data + +# Obtain Runkeeper Workout ID from the response returned on successful +# upload +def getidfromresponse(response): + uri = response.headers["Location"] + id = uri[len(uri)-9:] + + return int(id) + + diff --git a/rowers/sporttracksstuff.py b/rowers/sporttracksstuff.py index 15447944..0e15aca6 100644 --- a/rowers/sporttracksstuff.py +++ b/rowers/sporttracksstuff.py @@ -33,6 +33,15 @@ from rowers.models import Rower,Workout from rowsandall_app.settings import C2_CLIENT_ID, C2_REDIRECT_URI, C2_CLIENT_SECRET, STRAVA_CLIENT_ID, STRAVA_REDIRECT_URI, STRAVA_CLIENT_SECRET, SPORTTRACKS_CLIENT_SECRET, SPORTTRACKS_CLIENT_ID, SPORTTRACKS_REDIRECT_URI +# Custom error class - to raise a NoTokenError +class SportTracksNoTokenError(Exception): + def __init__(self,value): + self.value=value + + def __str__(self): + return repr(self.value) + + # Custom exception handler, returns a 401 HTTP message # with exception details in the json data def custom_exception_handler(exc,message): diff --git a/rowers/urls.py b/rowers/urls.py index 512e1356..ae58dcad 100644 --- a/rowers/urls.py +++ b/rowers/urls.py @@ -219,6 +219,7 @@ urlpatterns = [ url(r'^workout/(\d+)/stravauploadw/$',views.workout_strava_upload_view), url(r'^workout/(\d+)/recalcsummary/$',views.workout_recalcsummary_view), url(r'^workout/(\d+)/sporttracksuploadw/$',views.workout_sporttracks_upload_view), + url(r'^workout/(\d+)/runkeeperuploadw/$',views.workout_runkeeper_upload_view), url(r'^multi-compare$',views.multi_compare_view), url(r'^me/teams/c/(?P\w+.*)/s/(?P\w+.*)$',views.rower_teams_view), url(r'^me/teams/s/(?P\w+.*)$',views.rower_teams_view), diff --git a/rowers/views.py b/rowers/views.py index 603a4e44..a69ecc10 100644 --- a/rowers/views.py +++ b/rowers/views.py @@ -1,4 +1,5 @@ import time +import timestring import zipfile import operator import warnings @@ -46,6 +47,8 @@ import datetime import iso8601 import c2stuff from c2stuff import C2NoTokenError +from runkeeperstuff import RunKeeperNoTokenError +from sporttracksstuff import SportTracksNoTokenError from iso8601 import ParseError import stravastuff import sporttracksstuff @@ -189,8 +192,28 @@ def get_time(second): # get the workout ID from the SportTracks URI -def getidfromsturi(uri): - return uri[len(uri)-8:] +def getidfromsturi(uri,length=8): + return uri[len(uri)-length:] + +def splitrunkeeperlatlongdata(lijst,tname,latname,lonname): + t = [] + lat = [] + lon = [] + for d in lijst: + t.append(d[tname]) + lat.append(d[latname]) + lon.append(d[lonname]) + + return [np.array(t),np.array(lat),np.array(lon)] + +def splitrunkeeperdata(lijst,xname,yname): + x = [] + y = [] + for d in lijst: + x.append(d[xname]) + y.append(d[yname]) + + return [np.array(x),np.array(y)] # Splits SportTracks data which is one long sequence of # [t,[lat,lon],t2,[lat2,lon2] ...] @@ -485,6 +508,166 @@ def add_workout_from_strokedata(user,importid,data,strokedata, return id,message +# Create workout from RunKeeper Data +def add_workout_from_runkeeperdata(user,importid,data): + # To Do - add utcoffset to time + workouttype = data['type'] + if workouttype not in [x[0] for x in Workout.workouttypes]: + workouttype = 'water' + try: + comments = data['notes'] + except: + comments = '' + + try: + utcoffset = tz(data['utcoffset']) + except: + utcoffset = 0 + + r = Rower.objects.get(user=user) + + try: + rowdatetime = iso8601.parse_date(data['start_time']) + except iso8601.ParseError: + try: + rowdatetime = datetime.datetime.strptime(data['start_time'],"%Y-%m-%d %H:%M:%S") + rowdatetime = thetimezone.localize(rowdatetime).astimezone(utc) + except: + try: + rowdatetime = dateutil.parser.parse(data['start_time']) + #rowdatetime = thetimezone.localize(rowdatetime).astimezone(utc) + except: + rowdatetime = datetime.datetime.strptime(data['date'],"%Y-%m-%d %H:%M:%S") + rowdatetime = thetimezone.localize(rowdatetime).astimezone(utc) + starttimeunix = mktime(rowdatetime.utctimetuple()) + startimeunix += utcoffset*3600 + + + try: + title = data['name'] + except: + title = "Imported data" + + + + res = splitrunkeeperdata(data['distance'],'timestamp','distance') + + distance = res[1] + times_distance = res[0] + + try: + l = data['path'] + + res = splitrunkeeperlatlongdata(l,'timestamp','latitude','longitude') + times_location = res[0] + latcoord = res[1] + loncoord = res[2] + + except: + times_location = times_distance + latcoord = np.zeros(len(times_distance)) + loncoord = np.zeros(len(times_distance)) + if workouttype == 'water': + workouttype = 'rower' + + try: + res = splitrunkeeperdata(data['cadence'],'timestamp','cadence') + times_spm = res[0] + spm = res[1] + except KeyError: + times_spm = times_distance + spm = 0*times_distance + + try: + res = splitrunkeeperdata(data['heart_rate'],'timestamp','heart_rate') + hr = res[1] + times_hr = res[0] + except KeyError: + times_hr = times_distance + hr = 0*times_distance + + + # create data series and remove duplicates + distseries = pd.Series(distance,index=times_distance) + distseries = distseries.groupby(distseries.index).first() + latseries = pd.Series(latcoord,index=times_location) + latseries = latseries.groupby(latseries.index).first() + lonseries = pd.Series(loncoord,index=times_location) + lonseries = lonseries.groupby(lonseries.index).first() + spmseries = pd.Series(spm,index=times_spm) + spmseries = spmseries.groupby(spmseries.index).first() + hrseries = pd.Series(hr,index=times_hr) + hrseries = hrseries.groupby(hrseries.index).first() + + + # Create dicts and big dataframe + d = { + ' Horizontal (meters)': distseries, + ' latitude': latseries, + ' longitude': lonseries, + ' Cadence (stokes/min)': spmseries, + ' HRCur (bpm)' : hrseries, + } + + + + df = pd.DataFrame(d) + + df = df.groupby(level=0).last() + + cum_time = df.index.values + df[' ElapsedTime (sec)'] = cum_time + + velo = df[' Horizontal (meters)'].diff()/df[' ElapsedTime (sec)'].diff() + + df[' Power (watts)'] = 0.0*velo + + nr_rows = len(velo.values) + + df[' DriveLength (meters)'] = np.zeros(nr_rows) + df[' StrokeDistance (meters)'] = np.zeros(nr_rows) + df[' DriveTime (ms)'] = np.zeros(nr_rows) + df[' StrokeRecoveryTime (ms)'] = np.zeros(nr_rows) + df[' AverageDriveForce (lbs)'] = np.zeros(nr_rows) + df[' PeakDriveForce (lbs)'] = np.zeros(nr_rows) + df[' lapIdx'] = np.zeros(nr_rows) + + + + unixtime = cum_time+starttimeunix + unixtime[0] = starttimeunix + + df['TimeStamp (sec)'] = unixtime + + + dt = np.diff(cum_time).mean() + wsize = round(5./dt) + + velo2 = stravastuff.ewmovingaverage(velo,wsize) + + df[' Stroke500mPace (sec/500m)'] = 500./velo2 + + + df = df.fillna(0) + + df.sort_values(by='TimeStamp (sec)',ascending=True) + + timestr = strftime("%Y%m%d-%H%M%S") + + csvfilename ='media/Import_'+str(importid)+'.csv' + + res = df.to_csv(csvfilename+'.gz',index_label='index', + compression='gzip') + + id,message = dataprep.save_workout_database(csvfilename,r, + workouttype=workouttype, + title=title, + notes=comments) + + return (id,message) + + + # Create workout from SportTracks Data, which are slightly different # than Strava or Concept2 data def add_workout_from_stdata(user,importid,data): @@ -515,19 +698,15 @@ def add_workout_from_stdata(user,importid,data): except: rowdatetime = datetime.datetime.strptime(data['date'],"%Y-%m-%d %H:%M:%S") rowdatetime = thetimezone.localize(rowdatetime).astimezone(utc) - -# try: -# c2intervaltype = data['workout_type'] - -# except: -# c2intervaltype = '' + starttimeunix = mktime(rowdatetime.utctimetuple()) + try: title = data['name'] except: title = "Imported data" - starttimeunix = mktime(rowdatetime.utctimetuple()) + res = splitstdata(data['distance']) @@ -683,7 +862,18 @@ def sporttracks_open(user): thetoken = r.sporttrackstoken return thetoken - + +# Checks if user has SportTracks token, renews them if they are expired +def runkeeper_open(user): + r = Rower.objects.get(user=user) + if (r.runkeepertoken == '') or (r.runkeepertoken is None): + s = "Token doesn't exist. Need to authorize" + raise RunKeeperNoTokenError("User has no token") + else: + thetoken = r.runkeepertoken + + return thetoken + # Export workout to TCX and send to user's email address @login_required() def workout_tcxemail_view(request,id=0): @@ -965,6 +1155,70 @@ def workout_c2_upload_view(request,id=0): return HttpResponseRedirect(url) +# Upload workout to RunKeeper +@login_required() +def workout_runkeeper_upload_view(request,id=0): + message = "" + try: + thetoken = runkeeper_open(request.user) + except RunKeeperNoTokenError: + return HttpResponseRedirect("/rowers/me/runkeeperauthorize/") + + # ready to upload. Hurray + try: + w = Workout.objects.get(id=id) + except Workout.DoesNotExist: + raise Http404("Workout doesn't exist") + + if (checkworkoutuser(request.user,w)): + data = runkeeperstuff.createrunkeeperworkoutdata(w) + if not data: + message = "Data error" + url = reverse(workout_export_view, + kwargs = { + 'message':str(message), + 'id':str(w.id), + }) + return HttpResponseRedirect(url) + + authorizationstring = str('Bearer ' + thetoken) + headers = {'Authorization': authorizationstring, + 'user-agent': 'sanderroosendaal', + 'Content-Type': 'application/vnd.com.runkeeper.NewFitnessActivity+json', + 'Content-Length':'nnn'} + + import urllib + url = "https://api.runkeeper.com/fitnessActivities" + response = requests.post(url,headers=headers,data=json.dumps(data)) + + # check for duplicate error first + if (response.status_code == 409 ): + message = "Duplicate error" + w.uploadedtorunkeeper = -1 + w.save() + elif (response.status_code == 201 or response.status_code==200): + runkeeperid = runkeeperstuff.getidfromresponse(response) + w.uploadedtorunkeeper = runkeeperid + w.save() + url = "/rowers/workout/"+str(w.id)+"/export" + return HttpResponseRedirect(url) + else: + s = response + print dir(s) + print s.text + message = "Something went wrong in workout_runkeeper_upload_view: %s" % s.reason + + else: + message = "You are not authorized to upload this workout" + + url = reverse(workout_export_view, + kwargs = { + 'message':str(message), + 'id':str(w.id), + }) + + return HttpResponseRedirect(url) + # Upload workout to SportTracks @login_required() def workout_sporttracks_upload_view(request,id=0): @@ -4487,7 +4741,7 @@ def workout_runkeeperimport_view(request,message=""): workouts = [] for item in res.json()['items']: d = int(float(item['total_distance'])) - i = getidfromsturi(item['uri']) + i = getidfromsturi(item['uri'],length=9) ttot = str(datetime.timedelta(seconds=int(float(item['duration'])))) s = item['start_time'] r = item['type'] @@ -4662,12 +4916,9 @@ def workout_getstravaworkout_view(request,stravaid): @login_required() def workout_getrunkeeperworkout_view(request,runkeeperid): res = runkeeperstuff.get_runkeeper_workout(request.user,runkeeperid) - print res.json() data = res.json() - return HttpResponse(data) - - id,message = add_workout_from_stdata(request.user,runkeeperid,data) + id,message = add_workout_from_runkeeperdata(request.user,runkeeperid,data) w = Workout.objects.get(id=id) w.uploadedtorunkeeper=runkeeperid w.save() From 9573f60d3a56e785092aacbc410a4be62d41a753 Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Thu, 23 Mar 2017 21:11:54 +0100 Subject: [PATCH 6/7] added RunKeeper to export page --- rowers/#runkeeperstuff.py# | 282 +++++++++++++++++++++++++++++++++++ rowers/.#runkeeperstuff.py | 1 + rowers/runkeeperstuff.py | 20 +++ rowers/templates/export.html | 156 +++++++++++-------- rowers/views.py | 8 + static/img/rk-icon.png | Bin 0 -> 24052 bytes static/img/rk-icon.xcf | Bin 0 -> 135394 bytes static/img/rk-logo.png | Bin 0 -> 12981 bytes static/img/rkchecked.png | Bin 0 -> 59210 bytes static/img/rkgray.png | Bin 0 -> 29288 bytes static/img/rksquare.png | Bin 0 -> 58690 bytes 11 files changed, 402 insertions(+), 65 deletions(-) create mode 100644 rowers/#runkeeperstuff.py# create mode 100644 rowers/.#runkeeperstuff.py create mode 100644 static/img/rk-icon.png create mode 100644 static/img/rk-icon.xcf create mode 100644 static/img/rk-logo.png create mode 100644 static/img/rkchecked.png create mode 100644 static/img/rkgray.png create mode 100644 static/img/rksquare.png diff --git a/rowers/#runkeeperstuff.py# b/rowers/#runkeeperstuff.py# new file mode 100644 index 00000000..25866bc8 --- /dev/null +++ b/rowers/#runkeeperstuff.py# @@ -0,0 +1,282 @@ +# All the functionality needed to connect to Runkeeper + +# Python +import oauth2 as oauth +import cgi +import requests +import requests.auth +import json +from django.utils import timezone +from datetime import datetime +import numpy as np +from dateutil import parser +import time +import math +from math import sin,cos,atan2,sqrt +import os,sys + +# Django +from django.shortcuts import render_to_response +from django.http import HttpResponseRedirect, HttpResponse,JsonResponse +from django.conf import settings +from django.contrib.auth import authenticate, login, logout +from django.contrib.auth.models import User +from django.contrib.auth.decorators import login_required + +# Project +# from .models import Profile +from rowingdata import rowingdata +import pandas as pd +from rowers.models import Rower,Workout + +from rowsandall_app.settings import ( + C2_CLIENT_ID, C2_REDIRECT_URI, C2_CLIENT_SECRET, + STRAVA_CLIENT_ID, STRAVA_REDIRECT_URI, STRAVA_CLIENT_SECRET, + RUNKEEPER_CLIENT_ID, RUNKEEPER_CLIENT_SECRET,RUNKEEPER_REDIRECT_URI, + ) + +# Custom error class - to raise a NoTokenError +class RunKeeperNoTokenError(Exception): + def __init__(self,value): + self.value=value + + def __str__(self): + return repr(self.value) + +# Exponentially weighted moving average +# Used for data smoothing of the jagged data obtained by Strava +# See bitbucket issue 72 +def ewmovingaverage(interval,window_size): + # Experimental code using Exponential Weighted moving average + + try: + intervaldf = pd.DataFrame({'v':interval}) + idf_ewma1 = intervaldf.ewm(span=window_size) + idf_ewma2 = intervaldf[::-1].ewm(span=window_size) + + i_ewma1 = idf_ewma1.mean().ix[:,'v'] + i_ewma2 = idf_ewma2.mean().ix[:,'v'] + + interval2 = np.vstack((i_ewma1,i_ewma2[::-1])) + interval2 = np.mean( interval2, axis=0) # average + except ValueError: + interval2 = interval + + return interval2 + +from utils import geo_distance + + +# Custom exception handler, returns a 401 HTTP message +# with exception details in the json data +def custom_exception_handler(exc,message): + + response = { + "errors": [ + { + "code": str(exc), + "detail": message, + } + ] + } + + res = HttpResponse(message) + res.status_code = 401 + res.json = json.dumps(response) + + return res + +# Exchange access code for long-lived access token +def get_token(code): + client_auth = requests.auth.HTTPBasicAuth(RUNKEEPER_CLIENT_ID, RUNKEEPER_CLIENT_SECRET) + post_data = {"grant_type": "authorization_code", + "code": code, + "redirect_uri": RUNKEEPER_REDIRECT_URI, + "client_secret": RUNKEEPER_CLIENT_SECRET, + "client_id":RUNKEEPER_CLIENT_ID, + } + headers = {'user-agent': 'sanderroosendaal'} + response = requests.post("https://runkeeper.com/apps/token", + data=post_data, + headers=headers) + try: + token_json = response.json() + thetoken = token_json['access_token'] + except KeyError: + thetoken = 0 + + return thetoken + +# Make authorization URL including random string +def make_authorization_url(request): + # Generate a random string for the state parameter + # Save it for use later to prevent xsrf attacks + from uuid import uuid4 + state = str(uuid4()) + + params = {"client_id": RUNKEEPER_CLIENT_ID, + "response_type": "code", + "redirect_uri": RUNKEEPER_REDIRECT_URI, + } + import urllib + url = "https://www.runkeeper.com/opps/authorize" +urllib.urlencode(params) + + return HttpResponseRedirect(url) + +# Get list of workouts available on Runkeeper +def get_runkeeper_workout_list(user): + r = Rower.objects.get(user=user) + if (r.runkeepertoken == '') or (r.runkeepertoken is None): + s = "Token doesn't exist. Need to authorize" + return custom_exception_handler(401,s) + else: + # ready to fetch. Hurray + authorizationstring = str('Bearer ' + r.runkeepertoken) + headers = {'Authorization': authorizationstring, + 'user-agent': 'sanderroosendaal', + 'Content-Type': 'application/json'} + url = "https://api.runkeeper.com/fitnessActivities" + s = requests.get(url,headers=headers) + + return s + +# Get workout summary data by Runkeeper ID +def get_runkeeper_workout(user,runkeeperid): + r = Rower.objects.get(user=user) + if (r.runkeepertoken == '') or (r.runkeepertoken is None): + return custom_exception_handler(401,s) + s = "Token doesn't exist. Need to authorize" + else: + # ready to fetch. Hurray + authorizationstring = str('Bearer ' + r.runkeepertoken) + headers = {'Authorization': authorizationstring, + 'user-agent': 'sanderroosendaal', + 'Content-Type': 'application/json'} + url = "https://api.runkeeper.com/fitnessActivities/"+str(runkeeperid) + s = requests.get(url,headers=headers) + + return s + +# Create Workout Data for upload to SportTracks +def createrunkeeperworkoutdata(w): + filename = w.csvfilename + try: + row = rowingdata(filename) + except: + return 0 + + averagehr = int(row.df[' HRCur (bpm)'].mean()) + maxhr = int(row.df[' HRCur (bpm)'].max()) + duration = w.duration.hour*3600 + duration += w.duration.minute*60 + duration += w.duration.second + duration += +1.0e-6*w.duration.microsecond + + # adding diff, trying to see if this is valid + #t = row.df.ix[:,'TimeStamp (sec)'].values-10*row.df.ix[0,'TimeStamp (sec)'] + t = row.df.ix[:,'TimeStamp (sec)'].values-row.df.ix[0,'TimeStamp (sec)'] + t[0] = t[1] + + d = row.df.ix[:,'cum_dist'].values + d[0] = d[1] + t = t.astype(int) + d = d.astype(int) + spm = row.df[' Cadence (stokes/min)'].astype(int) + spm[0] = spm[1] + hr = row.df[' HRCur (bpm)'].astype(int) + + haslatlon=1 + + try: + lat = row.df[' latitude'].values + lon = row.df[' longitude'].values + if not lat.std() and not lon.std(): + haslatlon = 0 + except KeyError: + haslatlon = 0 + + # path data + if haslatlon: + locdata = [] + for e in zip(t,lat,lon): + point = {'timestamp':e[0], + 'latitude':e[1], + 'longitude':e[2],} + locdata.append(point) + + hrdata = [] + for e in zip(t,hr): + point = {'timestamp':e[0], + 'heart_rate':e[1] + } + hrdata.append(point) + + distancedata = [] + for e in zip(t,d): + point = {'timestamp':e[0], + 'distance':e[1] + } + distancedata.append(point) + + start_time = w.startdatetime.strftime("%a, %d %b %Y %H:%M:%S") + + if haslatlon: + data = { + "type": "Rowing", + "start_time": start_time, + "total_distance": int(w.distance), + "duration": duration, + "notes": w.notes, + "average_heart_rate": averagehr, + "path": locdata, + "distance": distancedata, + "heartrate": hrdata, + "post_to_twitter":"false", + "post_to_facebook":"false", + } + else: + data = { + "type": "Rowing", + "start_time": start_time, + "total_distance": int(w.distance), + "duration": duration, + "notes": w.notes, + "avg_heartrate": averagehr, + "distance": distancedata, + "heartrate": hrdata, + "post_to_twitter":"false", + "post_to_facebook":"false", + } + + + return data + +# Obtain Runkeeper Workout ID from the response returned on successful +# upload +def getidfromresponse(response): + uri = response.headers["Location"] + id = uri[len(uri)-9:] + + return int(id) + + +# Get user id, having access token +# Handy for checking if the API access is working +def get_userid(access_token): + authorizationstring = str('Bearer ' + access_token) + headers = {'Authorization': authorizationstring, + 'user-agent': 'sanderroosendaal', + 'Content-Type': 'application/json'} + import urllib + url = "https://api.runkeeper.com/user" + response = requests.get(url,headers=headers) + + + me_json = response.json() + + try: + res = me_json['userID'] + except KeyError: + res = 0 + + return res diff --git a/rowers/.#runkeeperstuff.py b/rowers/.#runkeeperstuff.py new file mode 100644 index 00000000..8cbb2c1f --- /dev/null +++ b/rowers/.#runkeeperstuff.py @@ -0,0 +1 @@ +E408191@CZ27LT9RCGN72.9372:1490257958 \ No newline at end of file diff --git a/rowers/runkeeperstuff.py b/rowers/runkeeperstuff.py index c29f8f7e..25866bc8 100644 --- a/rowers/runkeeperstuff.py +++ b/rowers/runkeeperstuff.py @@ -260,3 +260,23 @@ def getidfromresponse(response): return int(id) +# Get user id, having access token +# Handy for checking if the API access is working +def get_userid(access_token): + authorizationstring = str('Bearer ' + access_token) + headers = {'Authorization': authorizationstring, + 'user-agent': 'sanderroosendaal', + 'Content-Type': 'application/json'} + import urllib + url = "https://api.runkeeper.com/user" + response = requests.get(url,headers=headers) + + + me_json = response.json() + + try: + res = me_json['userID'] + except KeyError: + res = 0 + + return res diff --git a/rowers/templates/export.html b/rowers/templates/export.html index b2cf83e9..fb62a190 100644 --- a/rowers/templates/export.html +++ b/rowers/templates/export.html @@ -44,78 +44,104 @@
Concept2 icon -
-{% endif %} + + {% endif %} -{% if workout.uploadedtostrava == 0 %} -{% if user.rower.stravatoken == None or user.rower.stravatoken == '' %} -
- - Strava icon -
-{% else %} -
- Strava icon -
-{% endif %} -{% else %} -
- - Concept2 icon -
-{% endif %} -{% if workout.uploadedtosporttracks == 0 %} -{% if user.rower.sporttrackstoken == None or user.rower.sporttrackstoken == '' %} -
- - SportTracks icon -
-{% else %} -
- - SportTracks icon -
-{% endif %} -{% else %} -
- - Concept2 icon -
-{% endif %} -
- - TCX Export -
+ {% if workout.uploadedtostrava == 0 %} + {% if user.rower.stravatoken == None or user.rower.stravatoken == '' %} +
+ + Strava icon +
+ {% else %} +
+ Strava icon +
+ {% endif %} + {% else %} +
+ + Concept2 icon +
+ {% endif %} + {% if workout.uploadedtosporttracks == 0 %} + {% if user.rower.sporttrackstoken == None or user.rower.sporttrackstoken == '' %} +
+ + SportTracks icon +
+ {% else %} +
+ + SportTracks icon +
+ {% endif %} + {% else %} +
+ + Concept2 icon +
+ {% endif %} +
+ + TCX Export +
+ +
+ + CSV Export +
-
- - CSV Export -
+
+ {% if workout.uploadedtorunkeeper == 0 %} + {% if user.rower.runkeepertoken == None or user.rower.runkeepertoken == '' %} +
+ + Runkeeper icon +
+ {% else %} +
+ Runkeeper icon +
+ {% endif %} + {% else %} +
+ + Runkeeper icon +
+ {% endif %} +
+
-

Connect

+

Connect

+ +
+

Click one of the below logos to connect to the service of your choice. + You only need to do this once. After that, the site will have access until you + revoke the authorization for the "rowingdata" app.

+ +
+

connect with strava

+ +
+
+

connect with Concept2

+
+ -
-

Click one of the below logos to connect to the service of your choice. -You only need to do this once. After that, the site will have access until you -revoke the authorization for the "rowingdata" app.

- -
-

connect with strava

- -
-
-

connect with Concept2

-
- - -
-

connect with SportTracks

-
- -
+
+

connect with SportTracks

+
+ +
+
+
+

connect with RunKeeper

+
+
diff --git a/rowers/views.py b/rowers/views.py index a69ecc10..0f127a9d 100644 --- a/rowers/views.py +++ b/rowers/views.py @@ -4009,6 +4009,13 @@ def workout_export_view(request,id=0, message="", successmessage=""): else: c2userid = 0 + rktoken = runkeeper_open(request.user) + if (checkworkoutuser(request.user,row)) and rktoken: + rkuserid = runkeeperstuff.get_userid(rktoken) + else: + rkuserid = 0 + + form = WorkoutForm(instance=row) g = GraphImage.objects.filter(workout=row).order_by("-creationdatetime") # check if user is owner of this workout @@ -4026,6 +4033,7 @@ def workout_export_view(request,id=0, message="", successmessage=""): 'message':message, 'successmessage':successmessage, 'c2userid':c2userid, + 'rkuserid':rkuserid, }) # diff --git a/static/img/rk-icon.png b/static/img/rk-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..0febe0ccf974a7557e39bb2f5a94a2149f5ca21f GIT binary patch literal 24052 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 P00000NkvXXu0mjf`)M0| literal 0 HcmV?d00001 diff --git a/static/img/rk-icon.xcf b/static/img/rk-icon.xcf new file mode 100644 index 0000000000000000000000000000000000000000..4ccab7d557ec92554013aec320a728dba08a993d GIT binary patch literal 135394 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 literal 0 HcmV?d00001 diff --git a/static/img/rkchecked.png b/static/img/rkchecked.png new file mode 100644 index 0000000000000000000000000000000000000000..29ce98af75041ffdbb42755628bc74dd0933792c GIT binary patch literal 59210 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

N4qTl;j zi~E>=N2o^MOd;4{$JLdkMFWH~J{`~d-!>|7rS27K|3|ve+00000NkvXX Hu0mjfmuvXF literal 0 HcmV?d00001 diff --git a/static/img/rkgray.png b/static/img/rkgray.png new file mode 100644 index 0000000000000000000000000000000000000000..30b246afc8dbbbe88e7f75092e0339e11030889e GIT binary patch literal 29288 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 Hu0mjfqNp=Y literal 0 HcmV?d00001 From 89f33ea8043006f8e3b514b49e84fdfac9a432f6 Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Fri, 24 Mar 2017 10:49:54 +0100 Subject: [PATCH 7/7] completed functionality and tested --- rowers/.#runkeeperstuff.py | 1 - rowers/runkeeperstuff.py | 8 +-- rowers/templates/imports.html | 99 ++++++++++++++++++++--------------- rowers/views.py | 6 +-- 4 files changed, 64 insertions(+), 50 deletions(-) delete mode 100644 rowers/.#runkeeperstuff.py diff --git a/rowers/.#runkeeperstuff.py b/rowers/.#runkeeperstuff.py deleted file mode 100644 index 8cbb2c1f..00000000 --- a/rowers/.#runkeeperstuff.py +++ /dev/null @@ -1 +0,0 @@ -E408191@CZ27LT9RCGN72.9372:1490257958 \ No newline at end of file diff --git a/rowers/runkeeperstuff.py b/rowers/runkeeperstuff.py index 25866bc8..b845bf20 100644 --- a/rowers/runkeeperstuff.py +++ b/rowers/runkeeperstuff.py @@ -201,7 +201,9 @@ def createrunkeeperworkoutdata(w): for e in zip(t,lat,lon): point = {'timestamp':e[0], 'latitude':e[1], - 'longitude':e[2],} + 'longitude':e[2], + 'altitude':0, + "type":"gps"} locdata.append(point) hrdata = [] @@ -230,7 +232,7 @@ def createrunkeeperworkoutdata(w): "average_heart_rate": averagehr, "path": locdata, "distance": distancedata, - "heartrate": hrdata, + "heart_rate": hrdata, "post_to_twitter":"false", "post_to_facebook":"false", } @@ -243,7 +245,7 @@ def createrunkeeperworkoutdata(w): "notes": w.notes, "avg_heartrate": averagehr, "distance": distancedata, - "heartrate": hrdata, + "heart_rate": hrdata, "post_to_twitter":"false", "post_to_facebook":"false", } diff --git a/rowers/templates/imports.html b/rowers/templates/imports.html index 640cae9a..6bfda942 100644 --- a/rowers/templates/imports.html +++ b/rowers/templates/imports.html @@ -3,62 +3,77 @@ {% block content %}

-

Connect

+

Connect

-
-

Click one of the below logos to connect to the service of your choice. -You only need to do this once. After that, the site will have access until you -revoke the authorization for the "rowingdata" app.

+
+

Click one of the below logos to connect to the service of your choice. + You only need to do this once. After that, the site will have access until you + revoke the authorization for the "rowingdata" app.

-
-

connect with strava

+
+

connect with strava

-
-
-

connect with Concept2

-
+
+
+

connect with Concept2

+
-
-

connect with SportTracks

-
+
+

connect with SportTracks

+
-
+
+
+
+

connect with RunKeeper

+
+
{% endblock content %} - \ No newline at end of file + diff --git a/rowers/views.py b/rowers/views.py index 0f127a9d..4f803ea6 100644 --- a/rowers/views.py +++ b/rowers/views.py @@ -540,7 +540,7 @@ def add_workout_from_runkeeperdata(user,importid,data): rowdatetime = datetime.datetime.strptime(data['date'],"%Y-%m-%d %H:%M:%S") rowdatetime = thetimezone.localize(rowdatetime).astimezone(utc) starttimeunix = mktime(rowdatetime.utctimetuple()) - startimeunix += utcoffset*3600 + starttimeunix += utcoffset*3600 try: @@ -1204,9 +1204,7 @@ def workout_runkeeper_upload_view(request,id=0): return HttpResponseRedirect(url) else: s = response - print dir(s) - print s.text - message = "Something went wrong in workout_runkeeper_upload_view: %s" % s.reason + message = "Something went wrong in workout_runkeeper_upload_view: %s - %s" % (s.reason,s.text) else: message = "You are not authorized to upload this workout"
-

Import Workouts

+

Import Workouts

-
-
-

+

+
+

strava logo -

-
-
-

Import workouts from Strava

-
-
-
-
-

+

+
+
+

Import workouts from Strava

+
+
+
+
+

Concept2 logo -

-
-
-

Import workouts from the Concept2 logbook

-
-
-

+

+
+
+

Import workouts from the Concept2 logbook

+
+
+

SportTracks logo -

-
-
-

Import workouts from SportTracks

-
-
+

+
+
+

Import workouts from SportTracks

+
+
+
+
+

+ Runkeeper logo +

+
+
+

Import workouts from RunKeeper

+
+