From a98a9b1178680f5ff4f8897335ff8f235f351ed0 Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Thu, 9 Mar 2017 12:58:28 +0100 Subject: [PATCH 1/2] fixed strava import errors --- rowers/stravastuff.py | 9 ++++++--- rowers/views.py | 15 ++++++++++++++- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/rowers/stravastuff.py b/rowers/stravastuff.py index 67780a93..98c58ce5 100644 --- a/rowers/stravastuff.py +++ b/rowers/stravastuff.py @@ -163,9 +163,12 @@ def get_strava_workout(user,stravaid): url = "https://www.strava.com/api/v3/activities/"+str(stravaid)+"/streams/latlng?resolution="+fetchresolution latlongjson = requests.get(url,headers=headers) - t = np.array(timejson.json()[0]['data']) - d = np.array(distancejson.json()[0]['data']) - nr_rows = len(t) + try: + t = np.array(timejson.json()[0]['data']) + d = np.array(distancejson.json()[0]['data']) + nr_rows = len(t) + except KeyError: + return (0,"something went wrong with the Strava import") try: spm = np.array( spmjson.json()[1]['data']) diff --git a/rowers/views.py b/rowers/views.py index 3df74c1c..338352ca 100644 --- a/rowers/views.py +++ b/rowers/views.py @@ -1164,7 +1164,16 @@ def rower_process_twittercallback(request): # Process Strava Callback @login_required() def rower_process_stravacallback(request): - code = request.GET['code'] + try: + code = request.GET['code'] + except MultiValueDictKeyError: + try: + message = request.GET['error'] + except MultiValueDictKeyError: + message = "access error" + + return imports_view(request,message=message) + res = stravastuff.get_token(code) if res[0]: @@ -4394,6 +4403,10 @@ def workout_c2import_view(request,message=""): @login_required() def workout_getstravaworkout_view(request,stravaid): res = stravastuff.get_strava_workout(request.user,stravaid) + if not res[0]: + message = "Something went wrong in Strava import" + return imports_view(request,message=message) + strokedata = res[1] data = res[0] id,message = add_workout_from_strokedata(request.user,stravaid,data,strokedata, From b712d54dcbf0510fe2a2261ffa79057862c67418 Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Thu, 9 Mar 2017 13:58:45 +0100 Subject: [PATCH 2/2] added y axes for distance - multi compare --- rowers/.#interactiveplots.py | 1 - rowers/interactiveplots.py | 11 +++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) delete mode 100644 rowers/.#interactiveplots.py diff --git a/rowers/.#interactiveplots.py b/rowers/.#interactiveplots.py deleted file mode 100644 index ef817ef8..00000000 --- a/rowers/.#interactiveplots.py +++ /dev/null @@ -1 +0,0 @@ -E408191@CZ27LT9RCGN72.15972:1488820163 \ No newline at end of file diff --git a/rowers/interactiveplots.py b/rowers/interactiveplots.py index 430ef19f..7dfbeddc 100644 --- a/rowers/interactiveplots.py +++ b/rowers/interactiveplots.py @@ -1693,8 +1693,15 @@ def interactive_multiple_compare_chart(ids,xparam,yparam,plottype='line', xaxmax = datadf['distance'].max() xaxmin = datadf['distance'].min() - yaxmin = yaxminima[yparam] - yaxmax = yaxmaxima[yparam] + if yparam == 'distance': + yaxmin = datadf['distance'].min() + yaxmax = datadf['distance'].max() + elif yparam == 'cumdist': + yaxmin = datadf['cumdist'].min() + yaxmax = datadf['cumdist'].max() + else: + yaxmin = yaxminima[yparam] + yaxmax = yaxmaxima[yparam] x_axis_type = 'linear' y_axis_type = 'linear'