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,
|
makeprivate=False,
|
||||||
oarlength=2.89, inboard=0.88,
|
oarlength=2.89, inboard=0.88,
|
||||||
forceunit='lbs',
|
forceunit='lbs',
|
||||||
consistencychecks=False):
|
consistencychecks=False,
|
||||||
|
impeller=False):
|
||||||
|
|
||||||
message = None
|
message = None
|
||||||
powerperc = 100 * np.array([r.pw_ut2,
|
powerperc = 100 * np.array([r.pw_ut2,
|
||||||
@@ -1289,7 +1290,8 @@ def save_workout_database(f2, r, dosmooth=True, workouttype='rower',
|
|||||||
startdatetime=workoutstartdatetime,
|
startdatetime=workoutstartdatetime,
|
||||||
inboard=inboard, oarlength=oarlength,
|
inboard=inboard, oarlength=oarlength,
|
||||||
timezone=timezone_str,
|
timezone=timezone_str,
|
||||||
privacy=privacy)
|
privacy=privacy,
|
||||||
|
impeller=impeller)
|
||||||
try:
|
try:
|
||||||
w.save()
|
w.save()
|
||||||
except ValidationError:
|
except ValidationError:
|
||||||
@@ -1421,24 +1423,32 @@ def handle_nonpainsled(f2, fileformat, summary=''):
|
|||||||
oarlength = 2.89
|
oarlength = 2.89
|
||||||
inboard = 0.88
|
inboard = 0.88
|
||||||
hasrecognized = False
|
hasrecognized = False
|
||||||
|
impeller = False
|
||||||
|
|
||||||
row,hasrecognized,summary,fileformat = parsenonpainsled(fileformat,f2,summary)
|
row,hasrecognized,summary,fileformat = parsenonpainsled(fileformat,f2,summary)
|
||||||
|
|
||||||
# Handle c2log
|
# Handle c2log
|
||||||
if (fileformat == 'c2log' or fileformat == 'rowprolog'):
|
if (fileformat == 'c2log' or fileformat == 'rowprolog'):
|
||||||
return (0,'',0,0,'')
|
return (0,'',0,0,'',impeller)
|
||||||
|
|
||||||
if not hasrecognized:
|
if not hasrecognized:
|
||||||
return (0,'',0,0,'')
|
return (0,'',0,0,'',impeller)
|
||||||
|
|
||||||
f_to_be_deleted = f2
|
f_to_be_deleted = f2
|
||||||
# should delete file
|
# should delete file
|
||||||
f2 = f2[:-4] + 'o.csv'
|
f2 = f2[:-4] + 'o.csv'
|
||||||
try:
|
try:
|
||||||
row2 = rrdata(df = row.df)
|
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)
|
row2.write_csv(f2, gzip=True)
|
||||||
except:
|
except:
|
||||||
return (0,'',0,0,'')
|
return (0,'',0,0,'',impeller)
|
||||||
|
|
||||||
# os.remove(f2)
|
# os.remove(f2)
|
||||||
try:
|
try:
|
||||||
@@ -1449,7 +1459,7 @@ def handle_nonpainsled(f2, fileformat, summary=''):
|
|||||||
except:
|
except:
|
||||||
pass
|
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
|
# Create new workout from file and store it in the database
|
||||||
# This routine should be used everywhere in views.py and mailprocessing.py
|
# 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
|
inboard = 0.88
|
||||||
if len(fileformat) == 3 and fileformat[0] == 'zip':
|
if len(fileformat) == 3 and fileformat[0] == 'zip':
|
||||||
f_to_be_deleted = f2
|
f_to_be_deleted = f2
|
||||||
|
impeller = False
|
||||||
workoutsbox = Mailbox.objects.filter(name='workouts')[0]
|
workoutsbox = Mailbox.objects.filter(name='workouts')[0]
|
||||||
msg = Message(mailbox=workoutsbox,
|
msg = Message(mailbox=workoutsbox,
|
||||||
from_header=r.user.email,
|
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
|
# handle non-Painsled by converting it to painsled compatible CSV
|
||||||
if (fileformat != 'csv'):
|
if (fileformat != 'csv'):
|
||||||
f2, summary, oarlength, inboard, fileformat = handle_nonpainsled(
|
f2, summary, oarlength, inboard, fileformat, impeller = handle_nonpainsled(
|
||||||
f2,
|
f2,
|
||||||
fileformat,
|
fileformat,
|
||||||
summary=summary
|
summary=summary
|
||||||
@@ -1571,7 +1582,8 @@ def new_workout_from_file(r, f2,
|
|||||||
summary=summary,
|
summary=summary,
|
||||||
inboard=inboard, oarlength=oarlength,
|
inboard=inboard, oarlength=oarlength,
|
||||||
title=title,
|
title=title,
|
||||||
forceunit='N'
|
forceunit='N',
|
||||||
|
impeller=impeller,
|
||||||
)
|
)
|
||||||
|
|
||||||
return (id, message, f2)
|
return (id, message, f2)
|
||||||
|
|||||||
@@ -2734,6 +2734,7 @@ class Workout(models.Model):
|
|||||||
choices=privacychoices)
|
choices=privacychoices)
|
||||||
rankingpiece = models.BooleanField(default=False,verbose_name='Ranking Piece')
|
rankingpiece = models.BooleanField(default=False,verbose_name='Ranking Piece')
|
||||||
duplicate = models.BooleanField(default=False,verbose_name='Duplicate Workout')
|
duplicate = models.BooleanField(default=False,verbose_name='Duplicate Workout')
|
||||||
|
impeller = models.BooleanField(default=False,verbose_name='Impeller')
|
||||||
|
|
||||||
def save(self, *args, **kwargs):
|
def save(self, *args, **kwargs):
|
||||||
user = self.user
|
user = self.user
|
||||||
|
|||||||
Reference in New Issue
Block a user