adding async sessions creation, adding link to plan
This commit is contained in:
@@ -9,7 +9,7 @@ from rowers.models import (
|
||||
from rowers.tasks import (
|
||||
handle_sendemail_raceregistration, handle_sendemail_racesubmission
|
||||
)
|
||||
from rowers.tasks import handle_check_race_course
|
||||
from rowers.tasks import handle_check_race_course, create_sessions_from_json_async
|
||||
from iso8601 import ParseError
|
||||
import iso8601
|
||||
import rowers.courses as courses
|
||||
@@ -1068,40 +1068,48 @@ def get_workouts_session(r, ps):
|
||||
|
||||
return ws
|
||||
|
||||
def create_sessions_from_json(plansteps, rower, startdate, manager, planbyrscore=False):
|
||||
def create_sessions_from_json(plansteps, rower, startdate, manager, planbyrscore=False, plan=None,
|
||||
asynchronous=False, queue=queue):
|
||||
trainingdays = plansteps['trainingDays']
|
||||
planstartdate = startdate
|
||||
for day in trainingdays:
|
||||
for workout in day['workouts']:
|
||||
sessionsport = 'water'
|
||||
try:
|
||||
sessionsport = mytypes.fitmappinginv[workout['sport'].lower()]
|
||||
except KeyError:
|
||||
pass
|
||||
if not asynchronous:
|
||||
for day in trainingdays:
|
||||
for workout in day['workouts']:
|
||||
sessionsport = 'water'
|
||||
try:
|
||||
sessionsport = mytypes.fitmappinginv[workout['sport'].lower()]
|
||||
except KeyError:
|
||||
pass
|
||||
|
||||
preferreddate = planstartdate+timedelta(days=day['order'])
|
||||
preferreddate = planstartdate+timedelta(days=day['order'])
|
||||
|
||||
sessionmode = 'time'
|
||||
if planbyrscore:
|
||||
sessionmode = 'rScore'
|
||||
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=workout,
|
||||
manager=manager,
|
||||
sessionmode=sessionmode,
|
||||
comment=workout['description']
|
||||
)
|
||||
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=workout,
|
||||
manager=manager,
|
||||
sessionmode=sessionmode,
|
||||
comment=workout['description'],
|
||||
from_plan=plan,
|
||||
)
|
||||
|
||||
ps.save()
|
||||
ps.save()
|
||||
|
||||
add_rower_session(rower, ps)
|
||||
add_rower_session(rower, ps)
|
||||
return
|
||||
|
||||
# async version
|
||||
_ = myqueue(queue, create_sessions_from_json_async, plansteps, rower, startdate, manager, planbyrscore, plan)
|
||||
|
||||
|
||||
|
||||
def update_plannedsession(ps, cd):
|
||||
|
||||
Reference in New Issue
Block a user