Private
Public Access
1
0

added impeller to Workout model and saving of this in dataprep

need more work and testing
This commit is contained in:
Sander Roosendaal
2020-01-07 14:57:05 +01:00
parent 92cc9d5811
commit 07e9a5abf1
2 changed files with 21 additions and 8 deletions

View File

@@ -1081,7 +1081,8 @@ def save_workout_database(f2, r, dosmooth=True, workouttype='rower',
makeprivate=False,
oarlength=2.89, inboard=0.88,
forceunit='lbs',
consistencychecks=False):
consistencychecks=False,
impeller=False):
message = None
powerperc = 100 * np.array([r.pw_ut2,
@@ -1289,7 +1290,8 @@ def save_workout_database(f2, r, dosmooth=True, workouttype='rower',
startdatetime=workoutstartdatetime,
inboard=inboard, oarlength=oarlength,
timezone=timezone_str,
privacy=privacy)
privacy=privacy,
impeller=impeller)
try:
w.save()
except ValidationError:
@@ -1421,24 +1423,32 @@ def handle_nonpainsled(f2, fileformat, summary=''):
oarlength = 2.89
inboard = 0.88
hasrecognized = False
impeller = False
row,hasrecognized,summary,fileformat = parsenonpainsled(fileformat,f2,summary)
# Handle c2log
if (fileformat == 'c2log' or fileformat == 'rowprolog'):
return (0,'',0,0,'')
return (0,'',0,0,'',impeller)
if not hasrecognized:
return (0,'',0,0,'')
return (0,'',0,0,'',impeller)
f_to_be_deleted = f2
# should delete file
f2 = f2[:-4] + 'o.csv'
try:
row2 = rrdata(df = row.df)
if fileformat == 'speedcoach2':
# impeller consistency
impellerdata, consistent, ratio = row.impellerconsistent(threshold=0.3)
if impellerdata and consistent:
impeller = True
if impellerdata and not consistent:
row2.use_gps()
row2.write_csv(f2, gzip=True)
except:
return (0,'',0,0,'')
return (0,'',0,0,'',impeller)
# os.remove(f2)
try:
@@ -1449,7 +1459,7 @@ def handle_nonpainsled(f2, fileformat, summary=''):
except:
pass
return (f2, summary, oarlength, inboard, fileformat)
return (f2, summary, oarlength, inboard, fileformat, impeller)
# Create new workout from file and store it in the database
# This routine should be used everywhere in views.py and mailprocessing.py
@@ -1476,6 +1486,7 @@ def new_workout_from_file(r, f2,
inboard = 0.88
if len(fileformat) == 3 and fileformat[0] == 'zip':
f_to_be_deleted = f2
impeller = False
workoutsbox = Mailbox.objects.filter(name='workouts')[0]
msg = Message(mailbox=workoutsbox,
from_header=r.user.email,
@@ -1543,7 +1554,7 @@ def new_workout_from_file(r, f2,
# handle non-Painsled by converting it to painsled compatible CSV
if (fileformat != 'csv'):
f2, summary, oarlength, inboard, fileformat = handle_nonpainsled(
f2, summary, oarlength, inboard, fileformat, impeller = handle_nonpainsled(
f2,
fileformat,
summary=summary
@@ -1571,7 +1582,8 @@ def new_workout_from_file(r, f2,
summary=summary,
inboard=inboard, oarlength=oarlength,
title=title,
forceunit='N'
forceunit='N',
impeller=impeller,
)
return (id, message, f2)

View File

@@ -2734,6 +2734,7 @@ class Workout(models.Model):
choices=privacychoices)
rankingpiece = models.BooleanField(default=False,verbose_name='Ranking Piece')
duplicate = models.BooleanField(default=False,verbose_name='Duplicate Workout')
impeller = models.BooleanField(default=False,verbose_name='Impeller')
def save(self, *args, **kwargs):
user = self.user