Private
Public Access
1
0

first version

This commit is contained in:
2025-04-13 17:28:51 +02:00
parent f56eee0d92
commit 9ef9138fc6
7 changed files with 147 additions and 3 deletions

View File

@@ -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'],