first version
This commit is contained in:
@@ -18,7 +18,7 @@ import rowers.dataprep as dataprep
|
||||
import numpy as np
|
||||
import rowers.metrics as metrics
|
||||
import rowers.mytypes as mytypes
|
||||
from rowers.utils import to_pace
|
||||
from rowers.utils import to_pace, intensitymap
|
||||
from rowers.opaque import encoder
|
||||
from rowingdata import rower as rrower
|
||||
from rowingdata import rowingdata as rrdata
|
||||
@@ -1067,6 +1067,63 @@ def get_workouts_session(r, ps):
|
||||
|
||||
return ws
|
||||
|
||||
def correct_intensity(workout):
|
||||
# reads the steps and if the intensity is an integer, converts it to a string
|
||||
steps = workout['steps']
|
||||
for step in steps:
|
||||
if 'intensity' in step:
|
||||
if isinstance(step['intensity'], int):
|
||||
step['intensity'] = intensitymap[step['intensity']]
|
||||
|
||||
return workout
|
||||
|
||||
|
||||
def create_next_week_from_json(plansteps, rower, planbyrscore=False, plan=None,):
|
||||
trainingdays = plansteps['cycles']
|
||||
# start date is the first day of the following week
|
||||
today = timezone.now()
|
||||
startdate = today - timezone.timedelta(days=today.weekday())+timezone.timedelta(days=7)
|
||||
ndays = 0
|
||||
for day in trainingdays:
|
||||
try:
|
||||
workouts = day[0][1:]
|
||||
except IndexError:
|
||||
workouts =[]
|
||||
for workout in workouts:
|
||||
sessionsport = 'water'
|
||||
try:
|
||||
sessionsport = mytypes.fitmappinginv[workout['sport'].lower()]
|
||||
except KeyError:
|
||||
pass
|
||||
|
||||
preferreddate = startdate+timedelta(days=ndays)
|
||||
sessionmode = 'time'
|
||||
if planbyrscore:
|
||||
sessionmode = 'rScore'
|
||||
|
||||
ps = PlannedSession(
|
||||
startdate=preferreddate - timedelta(days=preferreddate.weekday()),
|
||||
enddate=preferreddate + timedelta(days=-preferreddate.weekday()-1, weeks=1),
|
||||
preferreddate=preferreddate,
|
||||
sessionsport=sessionsport, # change this
|
||||
name=workout['workoutName'],
|
||||
steps=correct_intensity(workout),
|
||||
manager=rower.user,
|
||||
sessionmode=sessionmode,
|
||||
comment=workout['description'],
|
||||
from_plan=plan,
|
||||
)
|
||||
ps.save()
|
||||
add_rower_session(rower, ps)
|
||||
if ps.fitfile:
|
||||
ps.steps = {}
|
||||
ps.save()
|
||||
ndays += 1
|
||||
|
||||
return
|
||||
|
||||
|
||||
|
||||
def create_sessions_from_json(plansteps, rower, startdate, manager, planbyrscore=False, plan=None,
|
||||
plan_past_days=False,
|
||||
asynchronous=True, queue=queue):
|
||||
@@ -1094,7 +1151,7 @@ def create_sessions_from_json(plansteps, rower, startdate, manager, planbyrscore
|
||||
preferreddate=preferreddate,
|
||||
sessionsport=sessionsport, # change this
|
||||
name=workout['workoutName'],
|
||||
steps=workout,
|
||||
steps=correct_intensity(workout),
|
||||
manager=manager,
|
||||
sessionmode=sessionmode,
|
||||
comment=workout['description'],
|
||||
|
||||
Reference in New Issue
Block a user