Private
Public Access
1
0

some bug fixing for invalid TCX files

This commit is contained in:
Sander Roosendaal
2017-09-14 17:25:26 +02:00
parent 91547b1af0
commit f1a05db1e4

View File

@@ -581,8 +581,12 @@ def save_workout_database(f2,r,dosmooth=True,workouttype='rower',
try:
latavg = row.df[' latitude'].mean()
lonavg = row.df[' longitude'].mean()
tf = TimezoneFinder()
timezone_str = tf.timezone_at(lng=lonavg,lat=latavg)
try:
timezone_str = tf.timezone_at(lng=lonavg,lat=latavg)
except ValueError:
timezone_str = 'UTC'
if timezone_str == None:
timezone_str = tf.closest_timezone_at(lng=lonavg,
lat=latavg)
@@ -613,6 +617,12 @@ def save_workout_database(f2,r,dosmooth=True,workouttype='rower',
else:
privacy = 'visible'
# checking for inf values
totaldist = np.nan_to_num(totaldist)
maxhr = np.nan_to_num(maxhr)
averagehr = np.nan_to_num(averagehr)
# check for duplicate start times and duration
ws = Workout.objects.filter(startdatetime=workoutstartdatetime,
distance=totaldist,
@@ -621,12 +631,8 @@ def save_workout_database(f2,r,dosmooth=True,workouttype='rower',
message = "Warning: This workout probably already exists in the database"
privacy = 'hidden'
# checking for inf values
totaldist = np.nan_to_num(totaldist)
maxhr = np.nan_to_num(maxhr)
averagehr = np.nan_to_num(averagehr)
w = Workout(user=r,name=title,date=workoutdate,
workouttype=workouttype,
@@ -650,11 +656,14 @@ def save_workout_database(f2,r,dosmooth=True,workouttype='rower',
# delta,cpvalues,avgpower = datautils.getsinglecp(row.df)
thesecs = totaltime
maxt = 1.05*thesecs
logarr = datautils.getlogarr(maxt)
dfgrouped = df.groupby(['workoutid'])
delta,cpvalues,avgpower = datautils.getcp(dfgrouped,logarr)
if maxt > 0:
logarr = datautils.getlogarr(maxt)
dfgrouped = df.groupby(['workoutid'])
delta,cpvalues,avgpower = datautils.getcp(dfgrouped,logarr)
res,btvalues = utils.isbreakthrough(delta,cpvalues,r.p0,r.p1,r.p2,r.p3,r.cpratio)
res,btvalues = utils.isbreakthrough(delta,cpvalues,r.p0,r.p1,r.p2,r.p3,r.cpratio)
else:
res = 0
if res:
isbreakthrough = True
res = datautils.updatecp(delta,cpvalues,r)