added impeller to Workout model and saving of this in dataprep
need more work and testing
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user