From 40813c4a0ea39e48e5925eefee71ca9c4c0db99e Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Wed, 17 Jan 2018 16:54:28 +0100 Subject: [PATCH] db insertion through sql now working --- rowers/dataprep.py | 17 +++++++++++++++++ rowers/urls.py | 1 + rowers/views.py | 12 ++++++++++-- 3 files changed, 28 insertions(+), 2 deletions(-) diff --git a/rowers/dataprep.py b/rowers/dataprep.py index 8e907486..10f76da1 100644 --- a/rowers/dataprep.py +++ b/rowers/dataprep.py @@ -515,6 +515,23 @@ def paceformatsecs(values): return out +def fitnessmetric_to_sql(m,table='powertimefitnessmetric'): + engine = create_engine(database_url, echo=False) + columns = ', '.join(m.keys()) + placeholders = ", ".join(["?"] * len(m)) + + query = "INSERT into %s ( %s ) Values (%s)" % (table, columns, placeholders) + + values = tuple(m[key] for key in m.keys()) + with engine.connect() as conn, conn.begin(): + result = conn.execute(query,values) + + conn.close() + engine.dispose() + + return result + + def getcpdata_sql(rower_id,table='cpdata'): engine = create_engine(database_url, echo=False) query = sa.text('SELECT * from {table} WHERE user={rower_id};'.format( diff --git a/rowers/urls.py b/rowers/urls.py index b43cc09d..0b93f9b2 100644 --- a/rowers/urls.py +++ b/rowers/urls.py @@ -126,6 +126,7 @@ urlpatterns = [ url(r'^ajax_agegroup/(?P\d+)/(?P\w+.*)/(?P\w+.*)/(?P\d+)$', views.ajax_agegrouprecords), url(r'^updatefitness/(?P\w+.*)/(?P\d+)$',views.fitness_metric_view), + url(r'^updatefitness/(?P\w+.*)$',views.fitness_metric_view), url(r'^updatefitness$',views.fitness_metric_view), url(r'^agegrouprecords/(?P\w+.*)/(?P\w+.*)/(?P\d+)m$', views.agegrouprecordview), diff --git a/rowers/views.py b/rowers/views.py index 0029b7fd..f31575a5 100644 --- a/rowers/views.py +++ b/rowers/views.py @@ -3282,9 +3282,17 @@ def fitness_metric_view(request,mode='rower',days=42): power2k = fitfunc(p1,t3) - - print powerfourmin,power2k,powerhour + mdict = { + 'user_id': request.user.id, + 'PowerFourMin': powerfourmin, + 'PowerTwoK': power2k, + 'PowerOneHour': powerhour, + 'workoutmode': mode, + 'date': timezone.now().strftime('%Y-%m-%d'), + } + result = dataprep.fitnessmetric_to_sql(mdict) + m = PowerTimeFitnessMetric( user=request.user, PowerFourMin = powerfourmin,