diff --git a/rowers/dataprep.py b/rowers/dataprep.py index 08d3a202..d116dbc0 100644 --- a/rowers/dataprep.py +++ b/rowers/dataprep.py @@ -204,6 +204,15 @@ def getcp(dfgrouped,logarr): cpvalue = pd.Series(cpvalue,name='CP') return delta,cpvalue,avgpower + +def df_resample(datadf): + # time stamps must be in seconds + timestamps = datadf['TimeStamp (sec)'].astype('int') + datadf['timestamps'] = timestamps + newdf = datadf.groupby(['timestamps']).mean() + return newdf + + def clean_df_stats(datadf,workstrokesonly=True,ignorehr=True, ignoreadvanced=False): # clean data remove zeros and negative values @@ -479,6 +488,17 @@ def save_workout_database(f2,r,dosmooth=True,workouttype='rower', powerperc=powerperc,powerzones=r.powerzones) row = rdata(f2,rower=rr) + dtavg = row.df['TimeStamp (sec)'].diff().mean() + + if dtavg < 1: + newdf = df_resample(row.df) + try: + os.remove(f2) + except: + pass + return new_workout_from_df(r,newdf, + title=title) + checks = row.check_consistency() allchecks = 1 for key,value in checks.iteritems(): diff --git a/rowers/views.py b/rowers/views.py index e200a596..9b86f619 100644 --- a/rowers/views.py +++ b/rowers/views.py @@ -2775,7 +2775,7 @@ def rankings_view(request,theuser=0, }) # Show ranking distances including predicted paces -@login_required() +@user_passes_test(ispromember,login_url="/",redirect_field_name=None) def otwrankings_view(request,theuser=0, startdate=timezone.now()-datetime.timedelta(days=365), enddate=timezone.now(),