diff --git a/rowers/interactiveplots.py b/rowers/interactiveplots.py index 6596b96d..1c315fd9 100644 --- a/rowers/interactiveplots.py +++ b/rowers/interactiveplots.py @@ -1599,14 +1599,17 @@ def fitnessfit_chart(workouts,user,workoutmode='water',startdate=None, allworkouts = Workout.objects.filter(user=user.rower,date__lte=enddate, - date__gte=startdate) + date__gte=startdate, + duplicate=False, + ) for w in allworkouts: # create Fitness and Fatigue number fatigue = 0 fitness = 0 previousworkouts = Workout.objects.filter(user=user.rower,date__lte=w.date, - date__gte=startdate) + date__gte=startdate, + duplicate=False) for ww in previousworkouts: delta = (w.date-ww.date).days weight = getattr(ww,metricchoice) @@ -1616,7 +1619,10 @@ def fitnessfit_chart(workouts,user,workoutmode='water',startdate=None, fatigues.append(fatigue) fitnesses.append(fitness) testpower.append(np.nan) - dates.append(datetime.datetime.combine(w.date,datetime.datetime.min.time())) + dates.append( + datetime.datetime.combine( + w.date,datetime.datetime.min.time()) + ) @@ -1632,21 +1638,19 @@ def fitnessfit_chart(workouts,user,workoutmode='water',startdate=None, df['form'] = df['fitness']-df['fatigue'] + df.sort_values(['date'],inplace=True) - df = df.fillna(0) - df = df.groupby(['date']).sum() + df = df.groupby(['date']).max() df['date'] = df.index.values - #df = df.fillna(0) + df['testdup'] = df['testpower'].shift(1) df['testpower'] = df.apply(lambda x: np.nan if abs(x['testpower'] - x['testdup']) < 4 \ else x['testpower'],axis=1) - #df = df.fillna(-100) - - #print(df) + source = ColumnDataSource( data = dict( diff --git a/rowers/views/analysisviews.py b/rowers/views/analysisviews.py index 6537fdc9..fa1f3dc3 100644 --- a/rowers/views/analysisviews.py +++ b/rowers/views/analysisviews.py @@ -1581,10 +1581,12 @@ def fitness_from_cp_view(request,userid=0,mode='rower', workouts = Workout.objects.filter(user=therower,date__gte=startdate, date__lte=enddate, - workouttype__in=mytypes.otwtypes) + workouttype__in=mytypes.otwtypes, + duplicate=False) if mode == 'rower': workouts = Workout.objects.filter(user=therower,date__gte=startdate, - date__lte=enddate,workouttype__in=mytypes.otetypes) + date__lte=enddate,workouttype__in=mytypes.otetypes, + duplicate=False)