improved manual entry form
This commit is contained in:
@@ -738,7 +738,10 @@ def fetchcp(rower,theworkouts,table='cpdata'):
|
||||
|
||||
|
||||
# create a new workout from manually entered data
|
||||
def create_row_df(r,distance,duration,startdatetime,workouttype='rower'):
|
||||
def create_row_df(r,distance,duration,startdatetime,workouttype='rower',
|
||||
avghr=None,avgpwr=None,avgspm=None,
|
||||
rankingpiece = False,
|
||||
title='Manual entry',notes='',weightcategory='hwt'):
|
||||
|
||||
|
||||
|
||||
@@ -751,11 +754,14 @@ def create_row_df(r,distance,duration,startdatetime,workouttype='rower'):
|
||||
totalseconds += duration.second
|
||||
totalseconds += duration.microsecond/1.e6
|
||||
|
||||
try:
|
||||
spm = 60.*nr_strokes/totalseconds
|
||||
except ZeroDivisionError:
|
||||
spm = 20.
|
||||
|
||||
if not avgspm:
|
||||
try:
|
||||
spm = 60.*nr_strokes/totalseconds
|
||||
except ZeroDivisionError:
|
||||
spm = 20.
|
||||
else:
|
||||
spm = avgspm
|
||||
|
||||
step = totalseconds/float(nr_strokes)
|
||||
|
||||
elapsed = np.arange(nr_strokes)*totalseconds/(float(nr_strokes-1))
|
||||
@@ -774,9 +780,15 @@ def create_row_df(r,distance,duration,startdatetime,workouttype='rower'):
|
||||
except ZeroDivisionError:
|
||||
velo = 2.4
|
||||
power = 2.8*velo**3
|
||||
elif avgpwr is not None:
|
||||
power = avgpwr
|
||||
else:
|
||||
power = 0
|
||||
|
||||
if avghr is not None:
|
||||
hr = avghr
|
||||
else:
|
||||
hr = 0
|
||||
|
||||
df = pd.DataFrame({
|
||||
'TimeStamp (sec)': unixtime,
|
||||
@@ -785,6 +797,7 @@ def create_row_df(r,distance,duration,startdatetime,workouttype='rower'):
|
||||
' Stroke500mPace (sec/500m)':pace,
|
||||
' ElapsedTime (sec)':elapsed,
|
||||
' Power (watts)':power,
|
||||
' HRCur (bpm)':hr,
|
||||
})
|
||||
|
||||
timestr = strftime("%Y%m%d-%H%M%S")
|
||||
@@ -797,10 +810,11 @@ def create_row_df(r,distance,duration,startdatetime,workouttype='rower'):
|
||||
row.write_csv(csvfilename, gzip = True)
|
||||
|
||||
id, message = save_workout_database(csvfilename, r,
|
||||
# title=title,
|
||||
# notes=notes,
|
||||
title=title,
|
||||
notes=notes,
|
||||
rankingpiece=rankingpiece,
|
||||
dosmooth=False,
|
||||
# workouttype=workouttype,
|
||||
workouttype=workouttype,
|
||||
consistencychecks=False,
|
||||
totaltime=totalseconds)
|
||||
|
||||
@@ -814,6 +828,7 @@ def save_workout_database(f2, r, dosmooth=True, workouttype='rower',
|
||||
dosummary=True, title='Workout',
|
||||
workoutsource='unknown',
|
||||
notes='', totaldist=0, totaltime=0,
|
||||
rankingpiece=False,
|
||||
summary='',
|
||||
makeprivate=False,
|
||||
oarlength=2.89, inboard=0.88,
|
||||
@@ -1000,6 +1015,7 @@ def save_workout_database(f2, r, dosmooth=True, workouttype='rower',
|
||||
weightcategory=r.weightcategory,
|
||||
starttime=workoutstarttime,
|
||||
workoutsource=workoutsource,
|
||||
rankingpiece=rankingpiece,
|
||||
forceunit=forceunit,
|
||||
csvfilename=f2, notes=notes, summary=summary,
|
||||
maxhr=maxhr, averagehr=averagehr,
|
||||
@@ -1014,10 +1030,6 @@ def save_workout_database(f2, r, dosmooth=True, workouttype='rower',
|
||||
w.startdatetime = timezone.now()
|
||||
w.save()
|
||||
|
||||
if is_ranking_piece(w):
|
||||
w.rankingpiece = True
|
||||
w.save()
|
||||
|
||||
if privacy == 'visible':
|
||||
ts = Team.objects.filter(rower=r)
|
||||
for t in ts:
|
||||
|
||||
Reference in New Issue
Block a user