diff --git a/rowers/dataprepnodjango.py b/rowers/dataprepnodjango.py index 0d423dbf..b7fc97a7 100644 --- a/rowers/dataprepnodjango.py +++ b/rowers/dataprepnodjango.py @@ -135,15 +135,6 @@ def rdata(file,rower=rrower()): from utils import totaltime_sec_to_string -def create_strava_stroke_data_db(workoutid,df,csvfilename,debug=False): - df.sort_values(by='TimeStamp (sec)',ascending=True) - - res = df.to_csv(csvfilename+'.gz',index_label='index',compression='gzip') - - row = rrdata(csvfile=csvfilename+'.gz') - data = dataprep(row.df,id=workoutid,bands=False,debug=debug) - - return data # Creates C2 stroke data def create_c2_stroke_data_db( diff --git a/rowers/stravastuff.py b/rowers/stravastuff.py index 42e585c1..fd5cc473 100644 --- a/rowers/stravastuff.py +++ b/rowers/stravastuff.py @@ -165,7 +165,7 @@ def get_strava_workouts(rower): newids = [stravaid for stravaid in stravaids if not stravaid in knownstravaids] for stravaid in newids: - workoutid = create_async_workout(alldata,rower.user,stravaid) + result = create_async_workout(alldata,rower.user,stravaid) return 1 @@ -234,29 +234,38 @@ def create_async_workout(alldata,user,stravaid,debug=False): code = uuid4().hex[:16] ) - w = Workout( - user=r, - workouttype = workouttype, - name = title, - date = workoutdate, - starttime = starttime, - startdatetime = rowdatetime, - timezone = thetimezone, - duration = duration, - distance=distance, - weightcategory = weightcategory, - uploadedtostrava = stravaid, - csvfilename = csvfilename, - notes = '' - ) +# w = Workout( +# user=r, +# workouttype = workouttype, +# name = title, +# date = workoutdate, +# starttime = starttime, +# startdatetime = rowdatetime, +# timezone = thetimezone, +# duration = duration, +# distance=distance, +# weightcategory = weightcategory, +# uploadedtostrava = stravaid, +# csvfilename = csvfilename, +# notes = '' +# ) - w.save() # Check if workout has stroke data, and get the stroke data - result = add_stroke_data(user,stravaid,w.id,rowdatetime,csvfilename,debug=debug) + starttimeunix = arrow.get(rowdatetime).timestamp - return w.id + job = myqueue(queue, + handle_strava_import_stroke_data, + title, + user.email, + r.stravatoken, + stravaid, + starttimeunix, + csvfilename, + ) + + return 1 from utils import get_strava_stream diff --git a/rowers/tasks.py b/rowers/tasks.py index a51e0f83..aca66dd9 100644 --- a/rowers/tasks.py +++ b/rowers/tasks.py @@ -31,7 +31,7 @@ from rowsandall_app.settings import SITE_URL from rowsandall_app.settings_dev import SITE_URL as SITE_URL_DEV from rowsandall_app.settings import PROGRESS_CACHE_SECRET from rowsandall_app.settings import SETTINGS_NAME - +from rowsandall_app.settings import workoutemailbox import pandas as pd @@ -48,7 +48,7 @@ from rowers.dataprepnodjango import ( add_c2_stroke_data_db,totaltime_sec_to_string, create_c2_stroke_data_db,update_empower, database_url_debug,database_url,dataprep, - create_strava_stroke_data_db +# create_strava_stroke_data_db ) @@ -83,8 +83,10 @@ def add(x, y): @app.task -def handle_strava_import_stroke_data(stravatoken, - stravaid,workoutid, +def handle_strava_import_stroke_data(title, + useremail, + stravatoken, + stravaid, starttimeunix, csvfilename,debug=True,**kwargs): # ready to fetch. Hurray @@ -202,8 +204,21 @@ def handle_strava_import_stroke_data(stravatoken, ' Power (watts)':watts, }) - res = create_strava_stroke_data_db(workoutid,df,csvfilename,debug=debug) + df.sort_values(by='TimeStamp (sec)',ascending=True) + + res = df.to_csv(csvfilename+'.gz',index_label='index',compression='gzip') + + d = { + 'some_attribute':1 + } + + res = send_template_email(useremail,[workoutemailbox], + title,'workoutemail.html', + d, + attach_file=csvfilename+'.gz') + + os.remove(csvfilename+'.gz') return 1 diff --git a/rowers/templates/workoutemail.html b/rowers/templates/workoutemail.html new file mode 100644 index 00000000..054cd293 --- /dev/null +++ b/rowers/templates/workoutemail.html @@ -0,0 +1,7 @@ +{% extends "emailbase.html" %} + +{% block body %} + + +{% endblock %} + diff --git a/rowers/views.py b/rowers/views.py index 635a8961..42b22d0d 100644 --- a/rowers/views.py +++ b/rowers/views.py @@ -10263,10 +10263,7 @@ def workout_getstravaworkout_next(request): - url = reverse(r.defaultlandingpage, - kwargs={ - 'id':workoutid, - }) + url = reverse(workouts_view) return HttpResponseRedirect(url) diff --git a/rowsandall_app/settings.py b/rowsandall_app/settings.py index 661ae2ad..95ac1a24 100644 --- a/rowsandall_app/settings.py +++ b/rowsandall_app/settings.py @@ -409,3 +409,9 @@ except KeyError: WARNING_MESSAGE = '' SETTINGS_NAME = 'rowsandall_app.settings' + +# Workout email box +try: + workoutemailbox = CFG['workoutemailbox'] +except KeyError: + workoutemailbox = 'workouts@rowsandall.com'