diff --git a/rowers/templates/embedded_video.html b/rowers/templates/embedded_video.html new file mode 100644 index 00000000..ebd0de5e --- /dev/null +++ b/rowers/templates/embedded_video.html @@ -0,0 +1,108 @@ +{% extends "newbase.html" %} +{% load staticfiles %} +{% load rowerfilters %} +{% load i18n %} + +{% block title %}Workout Video{% endblock %} + +{% block main %} +
+ {% if workout|previousworkout:rower.user %} + Previous + {% endif %} + {% if workout|nextworkout:rower.user %} + Next + {% endif %} +
+ +{% language 'en' %} ++ This page will contain an embedded video +
+\w+.*)/accept/$',views.coach_accept_coachrequest_view,
name='coach_accept_coachrequest_view'),
re_path(r'^me/coachoffer/(?P\w+.*)/accept/$',views.rower_accept_coachoffer_view,
- name='rower_accept_coachoffer_view'),
+ name='rower_accept_coachoffer_view'),
re_path(r'^team/(?P\d+)/delete/$',views.team_delete_view,name='team_delete_view'),
re_path(r'^team/create/$',views.team_create_view,name='team_create_view'),
re_path(r'^me/team/(?P\d+)/drop/(?P\d+)/$',views.manager_member_drop_view,name='manager_member_drop_view'),
diff --git a/rowers/views/workoutviews.py b/rowers/views/workoutviews.py
index 0615b027..11bb9c67 100644
--- a/rowers/views/workoutviews.py
+++ b/rowers/views/workoutviews.py
@@ -6,6 +6,27 @@ from __future__ import unicode_literals
from rowers.views.statements import *
import rowers.teams as teams
+# Show a video compared with data
+@user_passes_test(ispromember,login_url="/rowers/paidplans/",
+ message="This functionality requires a Pro plan or higher",
+ redirect_field_name=None)
+def workout_video_view(request,id=0):
+ w = get_workout_permitted(request.user,id)
+ df = getsmallrowdata_db(['time','velo'],ids=[w.id])
+ df2 = pd.DataFrame({'time':[0]})
+ df.sort_values(by='time',inplace=True)
+ df.set_index(pd.to_timedelta(df['time'],unit='s'),inplace=True)
+ df2 = df.resample('1s').mean().interpolate()
+ boatspeed = df2['velo']
+
+ return render(request,
+ 'embedded_video.html',
+ {
+ 'workout':w,
+ 'rower':request.user.rower,
+ 'boatspeed': boatspeed.values,
+ })
+
# Show the EMpower Oarlock generated Stroke Profile
@user_passes_test(ispromember,login_url="/rowers/paidplans/",
message="This functionality requires a Pro plan or higher",