Private
Public Access
1
0

Merge branch 'develop' into feature/embeddedvideo

This commit is contained in:
Sander Roosendaal
2019-11-11 21:57:23 +01:00
10 changed files with 166 additions and 166 deletions

View File

@@ -529,8 +529,8 @@ def createc2workoutdata(w):
try: try:
spm[0] = spm[1] spm[0] = spm[1]
except IndexError: except (KeyError,IndexError):
pass spm = 0*t
try: try:
hr = row.df[' HRCur (bpm)'].astype(int) hr = row.df[' HRCur (bpm)'].astype(int)
except ValueError: except ValueError:

View File

@@ -1775,10 +1775,12 @@ def getsmallrowdata_db(columns, ids=[], doclean=True,workstrokesonly=True,comput
# ) # )
# df = df.loc[:,~df.columns.duplicated()] # df = df.loc[:,~df.columns.duplicated()]
else:
df = pd.DataFrame()
if compute: if compute and len(df):
data = df.copy() data = df.copy()
if doclean: if doclean:
data = clean_df_stats(data, ignorehr=True, data = clean_df_stats(data, ignorehr=True,

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

@@ -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

@@ -1665,8 +1665,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)
@@ -1683,9 +1684,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:
@@ -1752,7 +1755,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,
@@ -2891,6 +2893,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']