adding plannedsession write to fit
This commit is contained in:
@@ -482,7 +482,7 @@ class TeamRequest(models.Model):
|
|||||||
from rowers.utils import (
|
from rowers.utils import (
|
||||||
workflowleftpanel,workflowmiddlepanel,
|
workflowleftpanel,workflowmiddlepanel,
|
||||||
defaultleft,defaultmiddle,landingpages,
|
defaultleft,defaultmiddle,landingpages,
|
||||||
steps_read_fit
|
steps_read_fit, steps_write_fit
|
||||||
)
|
)
|
||||||
|
|
||||||
from rowers.utils import geo_distance
|
from rowers.utils import geo_distance
|
||||||
@@ -2378,6 +2378,10 @@ class PlannedSession(models.Model):
|
|||||||
steps = steps_read_fit(settings.MEDIA_ROOT+'/'+self.fitfile.name)
|
steps = steps_read_fit(settings.MEDIA_ROOT+'/'+self.fitfile.name)
|
||||||
self.steps_json = json.dumps(steps)
|
self.steps_json = json.dumps(steps)
|
||||||
|
|
||||||
|
if self.steps_json and not self.fitfile:
|
||||||
|
fitfile = steps_write_fit(settings.MEDIA_ROOT+'/session_'+str(self.id)+'.fit',json.loads(self.steps_json))
|
||||||
|
self.fitfile = fitfile
|
||||||
|
|
||||||
|
|
||||||
super(PlannedSession,self).save(*args, **kwargs)
|
super(PlannedSession,self).save(*args, **kwargs)
|
||||||
|
|
||||||
|
|||||||
@@ -546,7 +546,7 @@ def allsundays(startdate,enddate):
|
|||||||
|
|
||||||
def steps_read_fit(filename,name='',sport='Custom'):
|
def steps_read_fit(filename,name='',sport='Custom'):
|
||||||
authorizationstring = 'Bearer '+settings.WORKOUTS_FIT_TOKEN
|
authorizationstring = 'Bearer '+settings.WORKOUTS_FIT_TOKEN
|
||||||
url = settings.WORKOUTS_FIT_URL
|
url = settings.WORKOUTS_FIT_URL+"/tojson"
|
||||||
headers = {'Authorization':authorizationstring}
|
headers = {'Authorization':authorizationstring}
|
||||||
|
|
||||||
response = requests.post(url=url,headers=headers,json={'filename':filename})
|
response = requests.post(url=url,headers=headers,json={'filename':filename})
|
||||||
@@ -561,3 +561,21 @@ def steps_read_fit(filename,name='',sport='Custom'):
|
|||||||
return None
|
return None
|
||||||
|
|
||||||
return d
|
return d
|
||||||
|
|
||||||
|
def steps_write_fit(filename,steps):
|
||||||
|
authorizationstring = 'Bearer '+settings.WORKOUTS_FIT_TOKEN
|
||||||
|
url = settings.WORKOUTS_FIT_URL+"/tofit"
|
||||||
|
headers = {'Authorization':authorizationstring}
|
||||||
|
|
||||||
|
response = requests.post(url=url,headers=headers,json=steps)
|
||||||
|
|
||||||
|
if response.status_code != 200:
|
||||||
|
return None
|
||||||
|
|
||||||
|
w = response.json()
|
||||||
|
try:
|
||||||
|
filename = w['filename']
|
||||||
|
except KeyError:
|
||||||
|
return None
|
||||||
|
|
||||||
|
return filename
|
||||||
|
|||||||
Reference in New Issue
Block a user