Private
Public Access
1
0

add match option to stravaexportas

This commit is contained in:
Sander Roosendaal
2021-02-10 20:17:48 +01:00
parent 103a946fe7
commit bc0d34e78c
3 changed files with 24 additions and 4 deletions

View File

@@ -748,6 +748,7 @@ class CoachingGroup(models.Model):
class Rower(models.Model):
adaptivetypes = mytypes.adaptivetypes
stravatypes = (
('match','Variable - try to match the type'),
('Ride','Ride'),
('Kitesurf','Kitesurf'),
('Run','Run'),
@@ -965,7 +966,7 @@ class Rower(models.Model):
stravatokenexpirydate = models.DateTimeField(blank=True,null=True)
stravarefreshtoken = models.CharField(default='',max_length=1000,
blank=True,null=True)
stravaexportas = models.CharField(default="Rowing",
stravaexportas = models.CharField(default="match",
max_length=30,
choices=stravatypes,
verbose_name="Export Workouts to Strava as")
@@ -2292,7 +2293,7 @@ class PlannedSession(models.Model):
if self.sessionvalue <= 0:
self.sessionvalue = 1
manager = self.manager
if self.sessiontype not in ['race','indoorrace']:
if not can_add_session(self.manager):

View File

@@ -752,23 +752,36 @@ def workout_strava_upload(user,w, quick=False,asynchron=True):
tcxfile, tcxmesg = createstravaworkoutdata(w)
if not tcxfile:
return "Failed to create workout data",0
activity_type = r.stravaexportas
if r.stravaexportas == 'match':
try:
activity_type = mytypes.stravamapping[w.workouttype]
except KeyError:
activity_type = 'Rowing'
job = myqueue(queue,
handle_strava_sync,
r.stravatoken,
w.id,
tcxfile,w.name,r.stravaexportas,
tcxfile,w.name,activity_type,
w.notes
)
return "Asynchronous sync",-1
try:
tcxfile,tcxmesg = createstravaworkoutdata(w)
if tcxfile:
activity_type = r.stravaexportas
if r.stravaexportas == 'match':
try:
activity_type = mytypes.stravamapping[w.workouttype]
except KeyError:
activity_type = 'Rowing'
print(w.workouttype,activity_type)
with open(tcxfile,'rb') as f:
res,mes = handle_stravaexport(
f,w.name,
r.stravatoken,
description=w.notes+'\n from '+w.workoutsource+' via rowsandall.com',
activity_type=r.stravaexportas,quick=quick,asynchron=asynchron)
activity_type=activity_type,quick=quick,asynchron=asynchron)
if res==0:
message = mes
w.uploadedtostrava = -1

View File

@@ -93,8 +93,14 @@ def workout_strava_upload_view(request,id=0):
newnotes = w.notes+'\n from '+w.workoutsource+' via rowsandall.com'
except TypeError:
newnotes = 'from '+w.workoutsource+' via rowsandall.com'
activity_type = 'Ride'
if w.workouttype in mytypes.rowtypes:
activity_type = r.stravaexportas
if activity_type == 'match':
try:
activity_type = mytypes.stravamapping[w.workouttype]
except KeyError:
activity_type = 'Ride'
else:
try:
activity_type = mytypes.stravamapping[w.workouttype]