Private
Public Access
1
0

added record of workout origin

This commit is contained in:
Sander Roosendaal
2017-04-27 18:12:39 +02:00
parent c7447c3fad
commit 0d04132c3c
3 changed files with 37 additions and 4 deletions

View File

@@ -342,6 +342,7 @@ def timedeltaconv(x):
# Processes painsled CSV file to database
def save_workout_database(f2,r,dosmooth=True,workouttype='rower',
dosummary=True,title='Workout',
workoutsource='unknown',
notes='',totaldist=0,totaltime=0,
summary='',
makeprivate=False,
@@ -468,6 +469,7 @@ def save_workout_database(f2,r,dosmooth=True,workouttype='rower',
duration=duration,distance=totaldist,
weightcategory=r.weightcategory,
starttime=workoutstarttime,
workoutsource=workoutsource,
csvfilename=f2,notes=notes,summary=summary,
maxhr=maxhr,averagehr=averagehr,
startdatetime=workoutstartdatetime,
@@ -646,6 +648,7 @@ def new_workout_from_file(r,f2,
workouttype=workouttype,
makeprivate=makeprivate,
dosummary=dosummary,
workoutsource=fileformat,
summary=summary,
inboard=inboard,oarlength=oarlength,
title=title)

View File

@@ -337,6 +337,28 @@ class Workout(models.Model):
('other','Other'),
)
workoutsources = (
('strava','strava'),
('concept2','concept2'),
('sporttracks','sporttracks'),
('runkeeper','runkeeper'),
('mapmyfitness','mapmyfitness'),
('csv','painsled'),
('tcx','tcx'),
('rp','rp'),
('mystery','mystery'),
('tcxnohr','tcx (no HR)'),
('rowperfect3','rowperfect3'),
('ergdata','ergdata'),
('boatcoach','boatcoach'),
('bcmike','boatcoach (develop)'),
('painsleddesktop','painsleddesktop'),
('speedcoach','speedcoach'),
('speedcoach2','speedcoach2'),
('ergstick','ergstick'),
('fit','fit'),
('unknown','unknown'))
boattypes = (
('1x', '1x (single)'),
('2x', '2x (double)'),
@@ -356,6 +378,8 @@ class Workout(models.Model):
name = models.CharField(max_length=150)
date = models.DateField()
workouttype = models.CharField(choices=workouttypes,max_length=50)
workoutsource = models.CharField(choices=workoutsources,max_length=100,
default='unknown')
boattype = models.CharField(choices=boattypes,max_length=50,
default='1x (single)',
verbose_name = 'Boat Type')

View File

@@ -381,7 +381,8 @@ def checkworkoutuser(user,workout):
# Create workout data from Strava or Concept2
# data and create the associated Workout object and save it
def add_workout_from_strokedata(user,importid,data,strokedata,
source='c2',splitdata=None):
source='c2',splitdata=None,
workoutsource='concept2'):
workouttype = data['type']
if workouttype not in [x[0] for x in Workout.workouttypes]:
workouttype = 'water'
@@ -538,7 +539,8 @@ def add_workout_from_strokedata(user,importid,data,strokedata,
workouttype=workouttype,
title=title,notes=comments,
totaldist=totaldist,
totaltime=totaltime)
totaltime=totaltime,
workoutsource=workoutsource)
@@ -697,6 +699,7 @@ def add_workout_from_runkeeperdata(user,importid,data):
id,message = dataprep.save_workout_database(csvfilename,r,
workouttype=workouttype,
workoutsource='runkeeper',
title=title,
notes=comments)
@@ -863,7 +866,8 @@ def add_workout_from_stdata(user,importid,data):
id,message = dataprep.save_workout_database(csvfilename,r,
workouttype=workouttype,
title=title,
notes=comments)
notes=comments,
workoutsource='sporttracks')
return (id,message)
@@ -1029,6 +1033,7 @@ def add_workout_from_underarmourdata(user,importid,data):
id,message = dataprep.save_workout_database(csvfilename,r,
workouttype=workouttype,
workoutsource='mapmyfitness',
title=title,
notes=comments)
@@ -5507,7 +5512,8 @@ def workout_getstravaworkout_view(request,stravaid):
strokedata = res[1]
data = res[0]
id,message = add_workout_from_strokedata(request.user,stravaid,data,strokedata,
source='strava')
source='strava',
workoutsource='strava')
try:
w = Workout.objects.get(id=id)
except Workout.DoesNotExist: