form create changes
This commit is contained in:
@@ -14,6 +14,8 @@ import datetime
|
||||
|
||||
import json
|
||||
|
||||
from fitparse import FitFile
|
||||
|
||||
from django.http import HttpResponse
|
||||
|
||||
import requests
|
||||
@@ -540,3 +542,42 @@ def allsundays(startdate,enddate):
|
||||
while d<=enddate:
|
||||
yield d
|
||||
d += datetime.timedelta(days=7)
|
||||
|
||||
def steps_read_fit(filename,name='',sport='Custom'):
|
||||
fitfile = FitFile(filename,check_crc=False)
|
||||
records = fitfile.messages
|
||||
m0 = records[0]
|
||||
typ = m0.fields[0].value
|
||||
if typ != 'workout':
|
||||
raise TypeError("Wrong FIT file type")
|
||||
|
||||
steps = []
|
||||
stepmessages = fitfile.get_messages('workout_step')
|
||||
|
||||
steps = []
|
||||
stepmessages = fitfile.get_messages('workout_step')
|
||||
|
||||
for msg in stepmessages:
|
||||
if msg.name == 'workout_step':
|
||||
step = {}
|
||||
for field in msg.fields:
|
||||
ff = field.as_dict()
|
||||
step[ff['name']] = ff['value']
|
||||
steps.append(step)
|
||||
|
||||
for msg in fitfile.get_messages('workout'):
|
||||
if msg.name == 'workout':
|
||||
for field in msg.fields:
|
||||
ff = field.as_dict()
|
||||
if ff['name'] == 'wkt_name':
|
||||
name = ff['value']
|
||||
if ff['name'] == 'sport':
|
||||
sport = ff['value']
|
||||
|
||||
d = {}
|
||||
d['filename'] = filename
|
||||
d['name'] = name
|
||||
d['steps'] = steps
|
||||
d['sport'] = sport
|
||||
|
||||
return d
|
||||
|
||||
Reference in New Issue
Block a user