Private
Public Access
1
0

Merge branch 'release/v10.52'

This commit is contained in:
Sander Roosendaal
2019-11-12 22:15:14 +01:00
10 changed files with 165 additions and 166 deletions

View File

@@ -1439,7 +1439,8 @@ def new_workout_from_file(r, f2,
workoutsource=workoutsource, workoutsource=workoutsource,
summary=summary, summary=summary,
inboard=inboard, oarlength=oarlength, inboard=inboard, oarlength=oarlength,
title=title title=title,
forceunit='N'
) )
return (id, message, f2) return (id, message, f2)

View File

@@ -106,7 +106,7 @@ class TemplateListField(models.TextField):
return value.split(self.token) return value.split(self.token)
def from_db_value(self,value, expression, connection, context): def from_db_value(self,value, expression, connection):
if value is None: if value is None:
return value return value
if isinstance(value, list): if isinstance(value, list):
@@ -149,7 +149,7 @@ class PowerZonesField(models.TextField):
return value.split(self.token) return value.split(self.token)
def from_db_value(self,value, expression, connection, context): def from_db_value(self,value, expression, connection):
if value is None: if value is None:
return value return value
if isinstance(value, list): if isinstance(value, list):
@@ -3030,7 +3030,6 @@ strokedatafields = {
'hr_an':models.IntegerField(null=True), 'hr_an':models.IntegerField(null=True),
'hr_max':models.IntegerField(null=True), 'hr_max':models.IntegerField(null=True),
'hr_bottom':models.IntegerField(null=True), 'hr_bottom':models.IntegerField(null=True),
'x_right':models.FloatField(null=True),
'ergpace':models.FloatField(null=True), 'ergpace':models.FloatField(null=True),
'nowindpace':models.FloatField(null=True), 'nowindpace':models.FloatField(null=True),
'equivergpower':models.FloatField(null=True), 'equivergpower':models.FloatField(null=True),

View File

@@ -190,7 +190,7 @@ def get_ownapi_workout(user,ownapiid):
def createownapiworkoutdata(w): def createownapiworkoutdata(w):
filename = w.csvfilename filename = w.csvfilename
row = rowingdata(filename) row = rowingdata(csvfile=filename)
averagehr = int(row.df[' HRCur (bpm)'].mean()) averagehr = int(row.df[' HRCur (bpm)'].mean())
maxhr = int(row.df[' HRCur (bpm)'].max()) maxhr = int(row.df[' HRCur (bpm)'].max())
@@ -283,5 +283,3 @@ def getidfromresponse(response):
id = uri[len(uri)-13:len(uri)-5] id = uri[len(uri)-13:len(uri)-5]
return int(id) return int(id)

View File

@@ -111,7 +111,7 @@ def get_workout(user,runkeeperid):
def createrunkeeperworkoutdata(w): def createrunkeeperworkoutdata(w):
filename = w.csvfilename filename = w.csvfilename
try: try:
row = rowingdata(filename) row = rowingdata(csvfile=filename)
except: except:
return 0 return 0
@@ -505,4 +505,3 @@ def add_workout_from_data(user,importid,data,strokedata,source='runkeeper',
notes=comments) notes=comments)
return (id,message) return (id,message)

View File

@@ -120,7 +120,7 @@ def createsporttracksworkoutdata(w):
filename = w.csvfilename filename = w.csvfilename
try: try:
row = rowingdata(filename) row = rowingdata(csvfile=filename)
except: except:
return 0 return 0

View File

@@ -388,7 +388,7 @@ def get_workout(user,stravaid):
def createstravaworkoutdata(w,dozip=True): def createstravaworkoutdata(w,dozip=True):
filename = w.csvfilename filename = w.csvfilename
try: try:
row = rowingdata(filename) row = rowingdata(csvfile=filename)
except IOError: except IOError:
data = dataprep.read_df_sql(w.id) data = dataprep.read_df_sql(w.id)
try: try:
@@ -402,7 +402,7 @@ def createstravaworkoutdata(w,dozip=True):
index_label='index', index_label='index',
compression='gzip') compression='gzip')
try: try:
row = rowingdata(filename) row = rowingdata(csvfile=filename)
except IOError: except IOError:
return '','Error - could not find rowing data' return '','Error - could not find rowing data'
else: else:

View File

@@ -116,7 +116,7 @@ class ForceUnits(TestCase):
f.close() f.close()
w = Workout.objects.get(id=13) w = Workout.objects.get(id=13)
self.assertEqual(w.forceunit,'lbs') self.assertEqual(w.forceunit,'N')
df = dataprep.getsmallrowdata_db(['averageforce'],ids=[13]) df = dataprep.getsmallrowdata_db(['averageforce'],ids=[13])
average_N = int(df['averageforce'].mean()) average_N = int(df['averageforce'].mean())
@@ -151,7 +151,7 @@ class ForceUnits(TestCase):
f.close() f.close()
w = Workout.objects.get(id=13) w = Workout.objects.get(id=13)
self.assertEqual(w.forceunit,'lbs') self.assertEqual(w.forceunit,'N')
df = dataprep.getsmallrowdata_db(['averageforce'],ids=[13]) df = dataprep.getsmallrowdata_db(['averageforce'],ids=[13])
average_N = int(df['averageforce'].mean()) average_N = int(df['averageforce'].mean())

View File

@@ -97,7 +97,7 @@ def getidfromresponse(response):
def createtpworkoutdata(w): def createtpworkoutdata(w):
filename = w.csvfilename filename = w.csvfilename
row = rowingdata(filename) row = rowingdata(csvfile=filename)
tcxfilename = filename[:-4]+'.tcx' tcxfilename = filename[:-4]+'.tcx'
try: try:
newnotes = w.notes+'\n from '+w.workoutsource+' via rowsandall.com' newnotes = w.notes+'\n from '+w.workoutsource+' via rowsandall.com'

View File

@@ -97,7 +97,7 @@ def get_workout(user,underarmourid):
def createunderarmourworkoutdata(w): def createunderarmourworkoutdata(w):
filename = w.csvfilename filename = w.csvfilename
try: try:
row = rowingdata(filename) row = rowingdata(csvfile=filename)
except: except:
return 0 return 0
@@ -540,4 +540,3 @@ def add_workout_from_data(user,importid,data,strokedata,
notes=comments) notes=comments)
return (id,message) return (id,message)

View File

@@ -1202,8 +1202,9 @@ def workouts_view(request,message='',successmessage='',
'enddate':enddate, 'enddate':enddate,
}) })
startdate = datetime.datetime.combine(startdate,datetime.time()) usertimezone = pytz.timezone(r.defaulttimezone)
enddate = datetime.datetime.combine(enddate,datetime.time(23,59,59)) startdate = datetime.datetime.combine(startdate,datetime.time()).astimezone(usertimezone)
enddate = datetime.datetime.combine(enddate,datetime.time(23,59,59)).astimezone(usertimezone)
#enddate = enddate+datetime.timedelta(days=1) #enddate = enddate+datetime.timedelta(days=1)
@@ -1220,9 +1221,11 @@ def workouts_view(request,message='',successmessage='',
activity_startdate = enddate-datetime.timedelta(days=15) activity_startdate = enddate-datetime.timedelta(days=15)
try: try:
if utc.localize(enddate) > timezone.now(): if enddate > timezone.now():
activity_enddate = timezone.now() activity_enddate = timezone.now()
activity_enddate = activity_enddate.replace(hour=23,minute=59,second=59).astimezone(usertimezone)
activity_startdate = activity_enddate-datetime.timedelta(days=15) activity_startdate = activity_enddate-datetime.timedelta(days=15)
activity_startdate = activity_startdate.replace(hour=0,minute=0,second=0)
else: else:
activity_enddate = enddate activity_enddate = enddate
except ValueError: except ValueError:
@@ -1289,7 +1292,6 @@ def workouts_view(request,message='',successmessage='',
startdatetime__gte=activity_startdate, startdatetime__gte=activity_startdate,
startdatetime__lte=activity_enddate).order_by("-startdatetime") startdatetime__lte=activity_enddate).order_by("-startdatetime")
if g_workouts.count() == 0: if g_workouts.count() == 0:
g_workouts = Workout.objects.filter( g_workouts = Workout.objects.filter(
user=r, user=r,
@@ -2428,6 +2430,7 @@ def workout_data_view(request, id=0):
'catch','finish','peakforceangle','wash','slip','rhythm', 'catch','finish','peakforceangle','wash','slip','rhythm',
'effectiveangle','totalangle','distanceperstroke','velo'] 'effectiveangle','totalangle','distanceperstroke','velo']
cols = [c for c in cols if c in datadf.columns]
tcols = ['ftime','cumdist','fpace','spm','hr','power'] tcols = ['ftime','cumdist','fpace','spm','hr','power']