diff --git a/rowers/dataprep.py b/rowers/dataprep.py index 4467cb82..e5a5806c 100644 --- a/rowers/dataprep.py +++ b/rowers/dataprep.py @@ -744,16 +744,27 @@ def create_row_df(r,distance,duration,startdatetime,workouttype='rower', duplicate=False, title='Manual entry',notes='',weightcategory='hwt'): + if duration is not None: + totalseconds = duration.hour*3600. + totalseconds += duration.minute*60. + totalseconds += duration.second + totalseconds += duration.microsecond/1.e6 + else: + totalseconds = 60. - - nr_strokes = int(distance/10.) + if distance is None: + distance = 0 + + try: + nr_strokes = int(distance/10.) + except TypeError: + nr_strokes = int(20.*totalseconds) + + if nr_strokes == 0: + nr_strokes = 100 unixstarttime = arrow.get(startdatetime).timestamp - totalseconds = duration.hour*3600. - totalseconds += duration.minute*60. - totalseconds += duration.second - totalseconds += duration.microsecond/1.e6 if not avgspm: try: @@ -773,7 +784,10 @@ def create_row_df(r,distance,duration,startdatetime,workouttype='rower', unixtime = unixstarttime + elapsed - pace = 500.*totalseconds/distance + try: + pace = 500.*totalseconds/distance + except ZeroDivisionError: + pace = 240. if workouttype in ['rower','slides','dynamic']: try: diff --git a/rowers/stravastuff.py b/rowers/stravastuff.py index dc131868..aecf3c70 100644 --- a/rowers/stravastuff.py +++ b/rowers/stravastuff.py @@ -175,13 +175,14 @@ def create_async_workout(alldata,user,stravaid,debug=False): except: workouttype = 'other' + if workouttype not in [x[0] for x in Workout.workouttypes]: + workouttype = 'other' + if workouttype.lower() == 'rowing': workouttype = 'rower' if 'summary_polyline' in data['map']: workouttype = 'water' - if workouttype not in [x[0] for x in Workout.workouttypes]: - workouttype = 'other' try: comments = data['comments'] diff --git a/rowers/views.py b/rowers/views.py index 7013665b..111618d5 100644 --- a/rowers/views.py +++ b/rowers/views.py @@ -16550,8 +16550,11 @@ def rower_create_trainingplan(request,userid=0): startdate = form.cleaned_data['startdate'] enddate = form.cleaned_data['enddate'] - athletes = form.cleaned_data['rowers'] - + try: + athletes = form.cleaned_data['rowers'] + except KeyError: + athletes = [therower] + p = TrainingPlan( name=name, target=target,