Private
Public Access
1
0

removes temporary records in powertimefitnessmetric

This commit is contained in:
Sander Roosendaal
2018-01-19 08:34:58 +01:00
parent eea9efce2b
commit 8e6460eb06
3 changed files with 12 additions and 5 deletions

View File

@@ -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()

View File

@@ -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,

View File

@@ -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