Merge branch 'develop' into feature/embeddedvideo
This commit is contained in:
@@ -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:
|
||||||
|
|||||||
@@ -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,
|
||||||
|
|||||||
@@ -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),
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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:
|
||||||
|
|||||||
@@ -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'
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|
||||||
|
|||||||
@@ -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']
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user