diff --git a/rowers/c2stuff.py b/rowers/c2stuff.py index 06d141a6..21bc4858 100644 --- a/rowers/c2stuff.py +++ b/rowers/c2stuff.py @@ -201,6 +201,7 @@ def create_async_workout(alldata,user,c2id): verified = data['verified'] startdatetime = iso8601.parse_date(data['date']) weightclass = data['weight_class'] + weightcategory = 'hwt' if weightclass == "L": weightcategory = 'lwt' @@ -223,13 +224,20 @@ def create_async_workout(alldata,user,c2id): pytz.timezone(timezone_str) ).strftime('%H:%M:%S') + try: + notes = data['comments'] + name = notes[:40] + except (KeyError,TypeError): + notes = 'C2 Import Workout from {startdatetime}'.format(startdatetime=startdatetime) + name = notes + r = Rower.objects.get(user=user) w = Workout( user=r, workouttype = workouttype, - name = 'C2 Import Workout from {startdatetime}'.format(startdatetime=startdatetime), + name = name, date = workoutdate, starttime = starttime, startdatetime = startdatetime, @@ -239,7 +247,7 @@ def create_async_workout(alldata,user,c2id): weightcategory = weightcategory, uploadedtoc2 = c2id, csvfilename = csvfilename, - notes = 'imported from Concept2 log' + notes = notes ) w.save() @@ -995,10 +1003,15 @@ def add_workout_from_data(user,importid,data,strokedata, title = "" try: t = data['comments'].split('\n', 1)[0] - title += t[:20] + title += t[:40] except: title = 'Imported' + try: + comments = data['comments'] + except KeyError: + comments = '' + starttimeunix = arrow.get(rowdatetime).timestamp res = make_cumvalues(0.1*strokedata['t']) diff --git a/rowers/views/importviews.py b/rowers/views/importviews.py index 85b71448..215edc07 100644 --- a/rowers/views/importviews.py +++ b/rowers/views/importviews.py @@ -1582,11 +1582,6 @@ def workout_c2import_view(request,page=1,userid=0,message=""): r = getrequestrower(request,userid=userid) - # if r.user != request.user: - # messages.info(request,"You cannot import other people's workouts from Concept2") - - # r = getrower(request.user) - try: thetoken = c2_open(request.user) except NoTokenError: @@ -1664,17 +1659,14 @@ importsources = { @login_required() def workout_getimportview(request,externalid,source = 'c2'): - res = importsources[source].get_workout(request.user,externalid) - if not res[0]: + data,strokedata = importsources[source].get_workout(request.user,externalid) + if not data: messages.error(request,res[1]) url = reverse('workouts_view') return HttpResponseRedirect(url) - strokedata = res[1] - data = res[0] - try: workouttype = mytypes.c2mappinginv[data['type']] except KeyError: @@ -1713,6 +1705,8 @@ def workout_getimportview(request,externalid,source = 'c2'): if timezone_str is None: timezone_str = 'UTC' + + workoutdate = startdatetime.astimezone( pytz.timezone(timezone_str) ).strftime('%Y-%m-%d') @@ -1720,6 +1714,13 @@ def workout_getimportview(request,externalid,source = 'c2'): pytz.timezone(timezone_str) ).strftime('%H:%M:%S') + try: + notes = data['comments'] + name = notes[:40] + except KeyError: + comments = 'C2 Import Workout from {startdatetime}'.format(startdatetime=startdatetime) + name = notes + r = getrower(request.user) id, message = dataprep.create_row_df(r, @@ -1730,7 +1731,8 @@ def workout_getimportview(request,externalid,source = 'c2'): w = Workout.objects.get(id=id) w.uploadedtoc2 = c2id - w.name = 'Imported from C2' + w.name = name + w.notes = notes w.workouttype = workouttype w.save()