From 35b71c0b63907cf94aee5927be63f4f89b71e631 Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Thu, 28 Jun 2018 15:31:21 +0200 Subject: [PATCH] through emails now --- rowers/stravastuff.py | 22 ---------------------- rowers/tasks.py | 13 ++++++++----- rowers/templates/workoutemail.html | 2 +- rowers/uploads.py | 21 ++++++++++++++++++++- 4 files changed, 29 insertions(+), 29 deletions(-) diff --git a/rowers/stravastuff.py b/rowers/stravastuff.py index fd5cc473..d701a775 100644 --- a/rowers/stravastuff.py +++ b/rowers/stravastuff.py @@ -119,28 +119,6 @@ def get_strava_workout_list(user): return s -def add_stroke_data(user,stravaid,workoutid,startdatetime,csvfilename,debug=False): - r = Rower.objects.get(user=user) - - starttimeunix = arrow.get(startdatetime).timestamp - - if not debug: - job = myqueue(queue, - handle_strava_import_stroke_data, - r.stravatoken, - stravaid, - workoutid, - starttimeunix, - csvfilename) - else: - handle_strava_import_stroke_data( - r.stravatoken, - stravaid, - workoutid, - starttimeunix, - csvfilename, - debug=debug - ) # gets all new Strava workouts for a rower def get_strava_workouts(rower): diff --git a/rowers/tasks.py b/rowers/tasks.py index aca66dd9..c6c1840b 100644 --- a/rowers/tasks.py +++ b/rowers/tasks.py @@ -207,20 +207,23 @@ def handle_strava_import_stroke_data(title, df.sort_values(by='TimeStamp (sec)',ascending=True) - res = df.to_csv(csvfilename+'.gz',index_label='index',compression='gzip') + res = df.to_csv(csvfilename,index_label='index') d = { - 'some_attribute':1 + 'stravaid':stravaid } res = send_template_email(useremail,[workoutemailbox], title,'workoutemail.html', d, - attach_file=csvfilename+'.gz') + attach_file=csvfilename) - os.remove(csvfilename+'.gz') - return 1 + time.sleep(1) + + os.remove(csvfilename) + + return res @app.task diff --git a/rowers/templates/workoutemail.html b/rowers/templates/workoutemail.html index 054cd293..711c2253 100644 --- a/rowers/templates/workoutemail.html +++ b/rowers/templates/workoutemail.html @@ -1,7 +1,7 @@ {% extends "emailbase.html" %} {% block body %} - +stravaid {{ stravaid }} {% endblock %} diff --git a/rowers/uploads.py b/rowers/uploads.py index 47a6f1c1..7ff18a15 100644 --- a/rowers/uploads.py +++ b/rowers/uploads.py @@ -98,6 +98,17 @@ def matchsync(line): return results +def getstravaid(uploadoptions,body): + stravaid = 0 + tester = re.compile('^(stravaid)(.*?)(\d+)') + for line in body.splitlines(): + if tester.match(line.lower()): + stravaid = tester.match(line.lower()).group(3) + + uploadoptions['stravaid'] = int(stravaid) + + return uploadoptions + def gettypeoptions_body2(uploadoptions,body): tester = re.compile('^(workout)') testerb = re.compile('^(boat)') @@ -272,6 +283,7 @@ def upload_options(body): uploadoptions = getsyncoptions_body2(uploadoptions,body) uploadoptions = getprivateoptions_body2(uploadoptions,body) typeoptions = gettypeoptions_body2(uploadoptions,body) + uploadoptions = getstravaid(uploadoptions,body) except IOError: pm = exc.problem_mark strpm = str(pm) @@ -375,7 +387,14 @@ def make_private(w,options): from rowers.utils import isprorower -def do_sync(w,options): +def do_sync(w,options): + try: + if options['stravaid'] != 0: + w.uploadedtostrava = stravaid + w.save() + except KeyError: + pass + if ('upload_to_C2' in options and options['upload_to_C2']) or (w.user.c2_auto_export and isprorower(w.user)): try: message,id = c2stuff.workout_c2_upload(w.user.user,w)