From 28f3941f613cfb23c8d4ea36474146adb541c9da Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Thu, 14 Nov 2019 21:56:35 +0100 Subject: [PATCH] quick and dirty OTE --- rowers/dataprep.py | 10 +- rowers/templates/embedded_video.html | 1 + rowers/templates/embedded_video_ote.html | 335 +++++++++++++++++++++++ rowers/views/workoutviews.py | 14 +- 4 files changed, 357 insertions(+), 3 deletions(-) create mode 100644 rowers/templates/embedded_video_ote.html diff --git a/rowers/dataprep.py b/rowers/dataprep.py index c9a8fd80..91d5ab86 100644 --- a/rowers/dataprep.py +++ b/rowers/dataprep.py @@ -153,7 +153,15 @@ def get_video_data(w,groups=['basic']): boatspeed = (100*df2['velo']).astype(int)/100. - coordinates = get_latlon_time(w.id) + try: + coordinates = get_latlon_time(w.id) + except KeyError: + nulseries = df['time']*0 + coordinates = pd.DataFrame({ + 'time': df['time'], + 'latitude': nulseries, + 'longitude': nulseries, + }) coordinates.set_index(pd.to_timedelta(coordinates['time'],unit='s'),inplace=True) coordinates = coordinates.resample('1s').mean().interpolate() diff --git a/rowers/templates/embedded_video.html b/rowers/templates/embedded_video.html index 19164b1b..7e172740 100644 --- a/rowers/templates/embedded_video.html +++ b/rowers/templates/embedded_video.html @@ -85,6 +85,7 @@ // 1. Code for the map {{ mapscript | safe }} + // 2. This code loads the IFrame Player API code asynchronously. var tag = document.createElement('script'); diff --git a/rowers/templates/embedded_video_ote.html b/rowers/templates/embedded_video_ote.html new file mode 100644 index 00000000..30925742 --- /dev/null +++ b/rowers/templates/embedded_video_ote.html @@ -0,0 +1,335 @@ +{% extends "newbase.html" %} +{% load staticfiles %} +{% load rowerfilters %} +{% load i18n %} +{% load leaflet_tags %} + + + +{% block title %}Workout Video{% endblock %} + +{% block meta %} +{% leaflet_js %} +{% leaflet_css %} +{% endblock %} + +{% block main %} + + + +{% language 'en' %} +

Video Analysis for {{ workout.name }}

+ +

 

+
+ +
+ +{% endlanguage %} + +{% endblock %} + +{% block sidebar %} +{% include 'menu_workout.html' %} +{% endblock %} diff --git a/rowers/views/workoutviews.py b/rowers/views/workoutviews.py index 032f4564..ca7db320 100644 --- a/rowers/views/workoutviews.py +++ b/rowers/views/workoutviews.py @@ -196,9 +196,14 @@ def workout_video_create_view(request,id=0): # get data data, metrics, maxtime = dataprep.get_video_data(w,groups=metricsgroups) + hascoordinates = pd.Series(data['latitude']).std() > 0 + # create map - mapscript, mapdiv = leaflet_chart_video(data['latitude'],data['longitude'], + if hascoordinates: + mapscript, mapdiv = leaflet_chart_video(data['latitude'],data['longitude'], w.name) + else: + mapscript, mapdiv = interactive_chart(w.id,promember=1) breadcrumbs = [ { @@ -218,8 +223,13 @@ def workout_video_create_view(request,id=0): analysis = {'delay':delay} + if hascoordinates: + template = 'embedded_video.html' + else: + template = 'embedded_video_ote.html' + return render(request, - 'embedded_video.html', + template, { 'workout':w, 'rower':request.user.rower,