passing tests
This commit is contained in:
@@ -1646,7 +1646,7 @@ def handle_makeplot(f1, f2, t, hrdata, plotnr, imagename,
|
|||||||
hran = hrdata['hran']
|
hran = hrdata['hran']
|
||||||
ftp = hrdata['ftp']
|
ftp = hrdata['ftp']
|
||||||
powerzones = deserialize_list(hrdata['powerzones'])
|
powerzones = deserialize_list(hrdata['powerzones'])
|
||||||
powerperc = np.array(deserialize_list(hrdata['powerperc'])).astype(int)
|
powerperc = np.array(deserialize_list(hrdata['powerperc'])).astype(float)
|
||||||
|
|
||||||
rr = rowingdata.rower(hrmax=hrmax, hrut2=hrut2,
|
rr = rowingdata.rower(hrmax=hrmax, hrut2=hrut2,
|
||||||
hrut1=hrut1, hrat=hrat,
|
hrut1=hrut1, hrat=hrat,
|
||||||
|
|||||||
110
rowers/temp.py
110
rowers/temp.py
@@ -1,110 +0,0 @@
|
|||||||
from __future__ import absolute_import
|
|
||||||
from __future__ import division
|
|
||||||
from __future__ import print_function
|
|
||||||
from __future__ import unicode_literals
|
|
||||||
# This is just a scratch pad to temporarily park code, just in case I need
|
|
||||||
# it later. Hardly used since i have proper versioning
|
|
||||||
|
|
||||||
#
|
|
||||||
def createc2workoutdata_grouped(w):
|
|
||||||
filename = w.csvfilename
|
|
||||||
row = rowingdata(filename)
|
|
||||||
|
|
||||||
# resize per minute
|
|
||||||
df = row.df.groupby(lambda x:x/10).mean()
|
|
||||||
|
|
||||||
averagehr = int(df[' HRCur (bpm)'].mean())
|
|
||||||
maxhr = int(df[' HRCur (bpm)'].max())
|
|
||||||
|
|
||||||
# adding diff, trying to see if this is valid
|
|
||||||
t = 10*df.ix[:,' ElapsedTime (sec)'].values
|
|
||||||
t[0] = t[1]
|
|
||||||
d = df.ix[:,' Horizontal (meters)'].values
|
|
||||||
d[0] = d[1]
|
|
||||||
p = 10*df.ix[:,' Stroke500mPace (sec/500m)'].values
|
|
||||||
t = t.astype(int)
|
|
||||||
d = d.astype(int)
|
|
||||||
p = p.astype(int)
|
|
||||||
spm = df[' Cadence (stokes/min)'].astype(int)
|
|
||||||
spm[0] = spm[1]
|
|
||||||
hr = df[' HRCur (bpm)'].astype(int)
|
|
||||||
stroke_data = []
|
|
||||||
for i in range(len(t)):
|
|
||||||
thisrecord = {"t":t[i],"d":d[i],"p":p[i],"spm":spm[i],"hr":hr[i]}
|
|
||||||
stroke_data.append(thisrecord)
|
|
||||||
|
|
||||||
|
|
||||||
try:
|
|
||||||
durationstr = datetime.strptime(str(w.duration),"%H:%M:%S.%f")
|
|
||||||
except ValueError:
|
|
||||||
durationstr = datetime.strptime(str(w.duration),"%H:%M:%S")
|
|
||||||
|
|
||||||
|
|
||||||
data = {
|
|
||||||
"type": w.workouttype,
|
|
||||||
"date": w.startdatetime.isoformat(),
|
|
||||||
"distance": int(w.distance),
|
|
||||||
"time": int(10*makeseconds(durationstr)),
|
|
||||||
"weight_class": c2wc(w.weightcategory),
|
|
||||||
"timezone": "Etc/UTC",
|
|
||||||
"comments": w.notes,
|
|
||||||
"heart_rate": {
|
|
||||||
"average": averagehr,
|
|
||||||
"max": maxhr,
|
|
||||||
},
|
|
||||||
"stroke_data": stroke_data,
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
return data
|
|
||||||
|
|
||||||
@login_required()
|
|
||||||
def workout_edit_view(request,id=0):
|
|
||||||
if request.method == 'POST':
|
|
||||||
# Form was submitted
|
|
||||||
form = WorkoutForm(request.POST)
|
|
||||||
if form.is_valid():
|
|
||||||
# Get values from form
|
|
||||||
name = request.POST['name']
|
|
||||||
date = request.POST['date']
|
|
||||||
workouttype = request.POST['workouttype']
|
|
||||||
notes = request.POST['notes']
|
|
||||||
try:
|
|
||||||
# check if valid ID exists (workout exists)
|
|
||||||
row = Workout.objects.get(id=id)
|
|
||||||
# check if user is owner of this workout
|
|
||||||
if checkworkoutuser(request.user,row):
|
|
||||||
row.name = name
|
|
||||||
row.date = date
|
|
||||||
row.workouttype = workouttype
|
|
||||||
row.notes = notes
|
|
||||||
row.save()
|
|
||||||
response = HttpResponse("data updated")
|
|
||||||
else:
|
|
||||||
response = HttpResponse("You are not allowed to change this workout")
|
|
||||||
except Workout.DoesNotExist:
|
|
||||||
# create new workout
|
|
||||||
r = Rower.objects.get(user=request.user)
|
|
||||||
w = Workout(name=name,date=date,workouttype=workouttype,
|
|
||||||
user=r)
|
|
||||||
w.save()
|
|
||||||
response = HttpResponse("New workout created")
|
|
||||||
else:
|
|
||||||
response = HttpResponse("invalid form")
|
|
||||||
|
|
||||||
return response
|
|
||||||
else:
|
|
||||||
try:
|
|
||||||
row = Workout.objects.get(id=id)
|
|
||||||
form = WorkoutForm(instance=row)
|
|
||||||
# check if user is owner of this workout
|
|
||||||
|
|
||||||
if (checkworkoutuser(request.user,row)==False):
|
|
||||||
return HttpResponse("You are not allowed to edit this workout")
|
|
||||||
except Workout.DoesNotExist:
|
|
||||||
form = WorkoutForm(
|
|
||||||
initial = {'workouttype' : 'rower'}
|
|
||||||
)
|
|
||||||
|
|
||||||
return render(request, 'workout_form.html',
|
|
||||||
{'form':form,})
|
|
||||||
@@ -225,7 +225,7 @@ def mocked_read_df_cols_sql_multiflex(ids, columns, convertnewtons=True):
|
|||||||
|
|
||||||
def mocked_stravaexport(f2,workoutname,stravatoken,description='',
|
def mocked_stravaexport(f2,workoutname,stravatoken,description='',
|
||||||
activity_type='Rowing'):
|
activity_type='Rowing'):
|
||||||
print "this is mocked strava export"
|
print("this is mocked strava export")
|
||||||
return 1,'success'
|
return 1,'success'
|
||||||
|
|
||||||
def mocked_fetchcp(*args, **kwargs):
|
def mocked_fetchcp(*args, **kwargs):
|
||||||
|
|||||||
BIN
rowers/tests/testdata/testdata.csv.gz
vendored
BIN
rowers/tests/testdata/testdata.csv.gz
vendored
Binary file not shown.
@@ -187,10 +187,6 @@ def course_edit_view(request,id=0):
|
|||||||
name = form.cleaned_data['name']
|
name = form.cleaned_data['name']
|
||||||
country = form.cleaned_data['country']
|
country = form.cleaned_data['country']
|
||||||
notes = form.cleaned_data['notes']
|
notes = form.cleaned_data['notes']
|
||||||
if isinstance(name,unicode):
|
|
||||||
name = name.encode('utf8')
|
|
||||||
elif isinstance(name, str):
|
|
||||||
name = name.decode('utf8')
|
|
||||||
|
|
||||||
course.name = name
|
course.name = name
|
||||||
course.country = country
|
course.country = country
|
||||||
@@ -1717,25 +1713,14 @@ def indoorvirtualevent_create_view(request):
|
|||||||
dotweet = False
|
dotweet = False
|
||||||
else:
|
else:
|
||||||
dotweet = True
|
dotweet = True
|
||||||
try:
|
sa = SiteAnnouncement(
|
||||||
sa = SiteAnnouncement(
|
announcement = "New Virtual Indoor Race on rowsandall.com: {name}".format(
|
||||||
announcement = "New Virtual Indoor Race on rowsandall.com: {name}".format(
|
name = name,
|
||||||
name = name.encode('utf8'),
|
),
|
||||||
),
|
dotweet = dotweet
|
||||||
dotweet = dotweet
|
)
|
||||||
)
|
|
||||||
|
sa.save()
|
||||||
sa.save()
|
|
||||||
except UnicodeEncodeError:
|
|
||||||
sa = SiteAnnouncement(
|
|
||||||
announcement = "New Virtual Indoor Race on rowsandall.com: {name}".format(
|
|
||||||
name = name,
|
|
||||||
),
|
|
||||||
dotweet = dotweet
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
sa.save()
|
|
||||||
|
|
||||||
url = reverse('virtualevents_view')
|
url = reverse('virtualevents_view')
|
||||||
return HttpResponseRedirect(url)
|
return HttpResponseRedirect(url)
|
||||||
@@ -1850,28 +1835,15 @@ def virtualevent_create_view(request):
|
|||||||
dotweet = False
|
dotweet = False
|
||||||
else:
|
else:
|
||||||
dotweet = True
|
dotweet = True
|
||||||
try:
|
sa = SiteAnnouncement(
|
||||||
sa = SiteAnnouncement(
|
announcement = "New Virtual Race on rowsandall.com: {name} on course {course}".format(
|
||||||
announcement = "New Virtual Race on rowsandall.com: {name} on course {course}".format(
|
name = name,
|
||||||
name = name.encode('utf8'),
|
course = course.name,
|
||||||
course = course.name.encode('utf8')
|
),
|
||||||
),
|
dotweet = dotweet
|
||||||
dotweet = dotweet
|
|
||||||
)
|
)
|
||||||
|
|
||||||
sa.save()
|
sa.save()
|
||||||
except UnicodeEncodeError:
|
|
||||||
sa = SiteAnnouncement(
|
|
||||||
announcement = "New Virtual Race on rowsandall.com: {name} on course {course}".format(
|
|
||||||
name = name,
|
|
||||||
course = str(course.name.encode('utf8','ignore'))
|
|
||||||
),
|
|
||||||
dotweet = dotweet
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
sa.save()
|
|
||||||
|
|
||||||
url = reverse('virtualevents_view')
|
url = reverse('virtualevents_view')
|
||||||
return HttpResponseRedirect(url)
|
return HttpResponseRedirect(url)
|
||||||
else:
|
else:
|
||||||
|
|||||||
@@ -2426,12 +2426,12 @@ def workout_data_view(request, id=0):
|
|||||||
pass
|
pass
|
||||||
|
|
||||||
# pd.set_option('display.width', 1000)
|
# pd.set_option('display.width', 1000)
|
||||||
pd.set_option('colheader_justify', 'left')
|
#pd.set_option('colheader_justify', 'left')
|
||||||
|
|
||||||
htmltable = datadf.to_html(
|
htmltable = datadf.to_html(
|
||||||
bold_rows=True,
|
bold_rows=True,
|
||||||
show_dimensions=True,border=1,
|
show_dimensions=True,border=1,
|
||||||
classes='pandastable',justify='justify'
|
classes=['pandastable'],justify='justify'
|
||||||
)
|
)
|
||||||
|
|
||||||
return render(request,
|
return render(request,
|
||||||
|
|||||||
18619
rowers/views_old.py
18619
rowers/views_old.py
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user