From 8109eee75fffc067402119dd80b2f14a3c4e9487 Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Sun, 22 Dec 2019 20:13:30 +0100 Subject: [PATCH] fixing bugs in asynchronous tasks --- rowers/dataprepnodjango.py | 6 +++++- rowers/tasks.py | 10 +++++----- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/rowers/dataprepnodjango.py b/rowers/dataprepnodjango.py index 52400767..f41498fb 100644 --- a/rowers/dataprepnodjango.py +++ b/rowers/dataprepnodjango.py @@ -715,6 +715,8 @@ def getsmallrowdata_db(columns,ids=[],debug=False): data = [] columns = [c for c in columns if c != 'None'] + df = pd.DataFrame() + if len(ids)>1: for id, f in zip(ids,csvfilenames): try: @@ -728,11 +730,13 @@ def getsmallrowdata_db(columns,ids=[],debug=False): df = pd.concat(data,axis=0) except ValueError: df = pd.DataFrame() - else: + elif len(ids)==1: try: df = pd.read_parquet(csvfilenames[0],columns=columns,engine='pyarrow') except (OSError,IndexError): df = pd.DataFrame() + else: + df = pd.DataFrame() return df diff --git a/rowers/tasks.py b/rowers/tasks.py index ab2c9261..e812a363 100644 --- a/rowers/tasks.py +++ b/rowers/tasks.py @@ -1754,15 +1754,15 @@ def handle_updatefitnessmetric(user_id,mode,workoutids,debug=False, def handle_updatecp(rower_id,workoutids,debug=False,table='cpdata',**kwargs): columns = ['power','workoutid','time'] df = getsmallrowdata_db(columns,ids=workoutids,debug=debug) - dfgrouped = df.groupby(['workoutid']) - if not df.empty: - maxt = 1.05*df['time'].max()/1000. - else: - maxt = 1000. + if df.empty: + return 0 + + maxt = 1.05*df['time'].max()/1000. logarr = datautils.getlogarr(maxt) + dfgrouped = df.groupby(['workoutid']) delta,cpvalue,avgpower = datautils.getcp(dfgrouped,logarr)