From 8e6460eb06b30ad10b6f0e52d1b862e9cfed87ff Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Fri, 19 Jan 2018 08:34:58 +0100 Subject: [PATCH] removes temporary records in powertimefitnessmetric --- rowers/dataprepnodjango.py | 8 ++++++-- rowers/middleware.py | 5 ++++- rowers/tasks.py | 4 ++-- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/rowers/dataprepnodjango.py b/rowers/dataprepnodjango.py index 5e428193..ef840b15 100644 --- a/rowers/dataprepnodjango.py +++ b/rowers/dataprepnodjango.py @@ -495,7 +495,8 @@ def getsmallrowdata_db(columns,ids=[],debug=False): return data -def fitnessmetric_to_sql(m,table='powertimefitnessmetric',debug=False): +def fitnessmetric_to_sql(m,table='powertimefitnessmetric',debug=False, + doclean=False): if debug: engine = create_engine(database_url_debug, echo=False) else: @@ -508,10 +509,13 @@ def fitnessmetric_to_sql(m,table='powertimefitnessmetric',debug=False): placeholders = ", ".join(["%s"] * len(m)) query = "INSERT into %s ( %s ) Values (%s)" % (table, columns, placeholders) - + query2 = "DELETE FROM %s WHERE PowerFourMin < 0 and PowerOneHour < 0 and PowerTwoK < 0 and user_id = %s " % (table,m['user_id']) + values = tuple(m[key] for key in m.keys()) with engine.connect() as conn, conn.begin(): result = conn.execute(query,values) + if doclean: + result2 = conn.execute(query2) conn.close() engine.dispose() diff --git a/rowers/middleware.py b/rowers/middleware.py index 70837ada..1bb56be1 100644 --- a/rowers/middleware.py +++ b/rowers/middleware.py @@ -32,7 +32,9 @@ def do_update(user,mode='rower',days=42): else: max_workout_id = max([m.last_workout for m in ms]) last_update_date = max([m.date.strftime('%Y-%m-%d') for m in ms]) - + + + if mode == 'rower': workouts = Workout.objects.filter( user=r, @@ -50,6 +52,7 @@ def do_update(user,mode='rower',days=42): except ValueError: max_id = 0 + if last_update_date < now_date and max_workout_id < max_id: job = myqueue(queue, handle_updatefitnessmetric, diff --git a/rowers/tasks.py b/rowers/tasks.py index 1204d9ad..05ba597e 100644 --- a/rowers/tasks.py +++ b/rowers/tasks.py @@ -631,7 +631,7 @@ def handle_updatefitnessmetric(user_id,mode,workoutids,debug=False, 'date': timezone.now().strftime('%Y-%m-%d'), } - result = fitnessmetric_to_sql(mdict,debug=debug) + result = fitnessmetric_to_sql(mdict,debug=debug,doclean=False) columns = ['power','workoutid','time'] df = getsmallrowdata_db(columns,ids=workoutids,debug=debug) @@ -702,7 +702,7 @@ def handle_updatefitnessmetric(user_id,mode,workoutids,debug=False, 'date': timezone.now().strftime('%Y-%m-%d'), } - result = fitnessmetric_to_sql(mdict,debug=debug) + result = fitnessmetric_to_sql(mdict,debug=debug,doclean=True) return result