From f42468b2a4093f5ba49406ac5183e84a3319932b Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Thu, 6 Apr 2017 08:35:29 +0200 Subject: [PATCH] ranking duration > 1hr bug fixed --- rowers/interactiveplots.py | 42 ++++++++++++++++++++++++++++++-------- rowers/views.py | 5 ++++- 2 files changed, 38 insertions(+), 9 deletions(-) diff --git a/rowers/interactiveplots.py b/rowers/interactiveplots.py index d8e1c9e8..8b514d66 100644 --- a/rowers/interactiveplots.py +++ b/rowers/interactiveplots.py @@ -126,14 +126,40 @@ def interactive_forcecurve(theworkouts,workstrokesonly=False): if rowdata.empty: return "","No Valid Data Available","","" - - catchav = rowdata['catch'].mean() - finishav = rowdata['finish'].mean() - washav = rowdata['wash'].mean() - slipav = rowdata['slip'].mean() - peakforceav = rowdata['peakforce'].mean() - averageforceav = rowdata['averageforce'].mean() - peakforceangleav = rowdata['peakforceangle'].mean() + + try: + catchav = rowdata['catch'].mean() + except KeyError: + catchav = 0 + + try: + finishav = rowdata['finish'].mean() + except KeyError: + finishav = 0 + try: + washav = rowdata['wash'].mean() + except KeyError: + washav = 0 + + try: + slipav = rowdata['slip'].mean() + except KeyError: + slipav = 0 + + try: + peakforceav = rowdata['peakforce'].mean() + except KeyError: + peakforceav = 0 + + try: + averageforceav = rowdata['averageforce'].mean() + except KeyError: + averageforceav = 0 + + try: + peakforceangleav = rowdata['peakforceangle'].mean() + except KeyError: + peakforceangleav = 0 x = [catchav, catchav+slipav, diff --git a/rowers/views.py b/rowers/views.py index f655d4e1..16df32f6 100644 --- a/rowers/views.py +++ b/rowers/views.py @@ -2061,11 +2061,14 @@ def rankings_view(request,theuser=0, form = PredictedPieceForm(request.POST) if form.is_valid(): value = form.cleaned_data['value'] + hourvalue,value = divmod(value,60) + if hourvalue >= 24: + hourvalue = 23 pieceunit = form.cleaned_data['pieceunit'] if pieceunit == 'd': rankingdistances.append(value) else: - rankingdurations.append(datetime.time(minute=value)) + rankingdurations.append(datetime.time(minute=value,hour=hourvalue)) else: form = PredictedPieceForm()