initial rojabo integration
This commit is contained in:
@@ -3377,6 +3377,16 @@ def handle_c2_async_workout(alldata, userid, c2token, c2id, delaysec, defaulttim
|
||||
|
||||
return workoutid
|
||||
|
||||
@app.task
|
||||
def fetch_rojabo_session(id,alldata,userid,rowerid,debug=False, **kwargs):
|
||||
try:
|
||||
item = alldata[id]
|
||||
except KeyError:
|
||||
return 0
|
||||
|
||||
|
||||
return 1
|
||||
|
||||
|
||||
@app.task
|
||||
def fetch_strava_workout(stravatoken, oauth_data, stravaid, csvfilename, userid, debug=False, **kwargs):
|
||||
@@ -3390,7 +3400,7 @@ def fetch_strava_workout(stravatoken, oauth_data, stravaid, csvfilename, userid,
|
||||
if response.status_code != 200: # pragma: no cover
|
||||
tstamp = time.localtime()
|
||||
timestamp = time.strftime('%b-%d-%Y_%H%M', tstamp)
|
||||
with open('strava_webhooks.log', 'a') as f:
|
||||
with open('stravalog.log', 'a') as f:
|
||||
f.write('\n')
|
||||
f.write(timestamp)
|
||||
f.write(' ')
|
||||
|
||||
@@ -66,6 +66,11 @@
|
||||
<i class="far fa-calendar-plus fa-fw"></i> Add Session
|
||||
</a>
|
||||
</li>
|
||||
<li id="import-rojabo">
|
||||
<a href="/rowers/session/rojaboimport/">
|
||||
<i class="fas fa-cloud-download fa-fw"></i> Import from Rojabo
|
||||
</a>
|
||||
</li>
|
||||
<li id="plan-microcycle">
|
||||
<a href="/rowers/sessions/multicreate/?when={{ timeperiod }}">
|
||||
<i class="fas fa-expand fa-fw"></i>Plan Microcycle
|
||||
|
||||
@@ -19,7 +19,9 @@
|
||||
<th> Import </th>
|
||||
<th> Session</th>
|
||||
<th> SPM</th>
|
||||
<th> Points</th>
|
||||
<th> Planned Date </th>
|
||||
<th> New </th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@@ -34,7 +36,9 @@
|
||||
</td>
|
||||
<td>{{ session|lookuplong:'name' }}</td>
|
||||
<td>{{ session|lookuplong:'spm' }}</td>
|
||||
<td>{{ session|lookuplong:'points' }}</td>
|
||||
<td>{{ session|lookuplong:'date' }} </td>
|
||||
<td>{{ session|lookuplong:'new' }} </td>
|
||||
</tr>
|
||||
|
||||
{% endfor %}
|
||||
|
||||
@@ -1064,14 +1064,59 @@ def workout_rojaboimport_view(request, message="", userid=0):
|
||||
|
||||
sessions = []
|
||||
r = getrower(request.user)
|
||||
|
||||
if request.method == "POST":
|
||||
try:
|
||||
tdict = dict(request.POST.lists())
|
||||
ids = tdict['sessionid']
|
||||
rojaboids = [int(id) for id in ids]
|
||||
alldata = {}
|
||||
for item in res.json():
|
||||
alldata[item['training_session']['id']] = item['training_session']
|
||||
for rojaboid in rojaboids:
|
||||
try:
|
||||
item = alldata[rojaboid]
|
||||
name = item['workout']
|
||||
spm = item['stroke']
|
||||
points = item['points']
|
||||
manager = userid
|
||||
comment = 'ROJABO {name}, SPM: {spm}. Points: {points}'.format(
|
||||
name = name,
|
||||
points = points,
|
||||
spm = spm,
|
||||
)
|
||||
|
||||
preferreddate = datetime.datetime.strptime(item['training_date'],"%Y-%m-%d")
|
||||
startdate = preferreddate
|
||||
enddate = preferreddate
|
||||
ps = PlannedSession(
|
||||
name = item['workout'],
|
||||
comment = comment,
|
||||
startdate = startdate,
|
||||
enddate = enddate,
|
||||
preferreddate = preferreddate,
|
||||
sessionsport = 'rower',
|
||||
manager = request.user,
|
||||
rojabo_id = rojaboid,
|
||||
)
|
||||
ps.save()
|
||||
ps.rower.add(r)
|
||||
ps.tags.add('ROJABO')
|
||||
ps.save()
|
||||
messages.info(request,'Saved planned session {id}'.format(id=ps.id))
|
||||
except KeyError:
|
||||
pass
|
||||
except KeyError:
|
||||
pass
|
||||
|
||||
rojabo_ids = [int(item['training_session']['id']) for item in res.json()]
|
||||
|
||||
knownrojaboids = uniqify([
|
||||
ps.rojabo_id for ps in PlannedSession.objects.filter(manager=request.user)
|
||||
])
|
||||
|
||||
|
||||
for item in res.json():
|
||||
print(item['training_session'])
|
||||
i = item['training_session']['id']
|
||||
if i in knownrojaboids:
|
||||
nnn = ''
|
||||
@@ -1080,12 +1125,14 @@ def workout_rojaboimport_view(request, message="", userid=0):
|
||||
n = item['training_session']['workout']
|
||||
spm = item['training_session']['stroke']
|
||||
d = item['training_session']['training_date']
|
||||
p = item['training_session']['points']
|
||||
sessions.append({
|
||||
'id':i,
|
||||
'name':n,
|
||||
'spm':spm,
|
||||
'new':nnn,
|
||||
'date': d,
|
||||
'points': p,
|
||||
})
|
||||
|
||||
breadcrumbs = [
|
||||
|
||||
@@ -239,6 +239,7 @@ from rowers.rows import handle_uploaded_file, handle_uploaded_image
|
||||
from rowers.plannedsessions import *
|
||||
from rowers.tasks import handle_makeplot, handle_otwsetpower, handle_sendemailtcx, handle_sendemailcsv
|
||||
from rowers.tasks import (
|
||||
fetch_rojabo_session,
|
||||
handle_sendemail_unrecognized, handle_sendemailnewcomment,
|
||||
handle_request_post,
|
||||
handle_sendemailsummary,
|
||||
|
||||
Reference in New Issue
Block a user