diff --git a/rowers/dataprep.py b/rowers/dataprep.py
index d585765f..c2863531 100644
--- a/rowers/dataprep.py
+++ b/rowers/dataprep.py
@@ -123,9 +123,11 @@ from scipy.signal import savgol_filter
import datetime
-def get_video_data(w,groups=['basic']):
+
+def get_video_data(w,groups=['basic'],mode='water'):
+ modes = [mode,'both','basic']
columns = ['time','velo','spm']
- columns += [name for name,d in rowingmetrics if d['group'] in groups]
+ columns += [name for name,d in rowingmetrics if d['group'] in groups and d['mode'] in modes]
columns = list(set(columns))
df = getsmallrowdata_db(columns,ids=[w.id],
workstrokesonly=False,doclean=False,compute=False)
diff --git a/rowers/forms.py b/rowers/forms.py
index ce3129e3..46de978c 100644
--- a/rowers/forms.py
+++ b/rowers/forms.py
@@ -53,25 +53,38 @@ class FlexibleDecimalField(forms.DecimalField):
# Video Analysis creation form
class VideoAnalysisCreateForm(forms.Form):
- name = forms.CharField(max_length=255,label='Analysis Name')
+ name = forms.CharField(max_length=255,label='Analysis Name',required=False)
url = forms.CharField(max_length=255,required=True,label='YouTube Video URL')
delay = forms.IntegerField(initial=0,label='Delay (seconds)')
-metricsdescriptions = {}
-for m in metricsgroups:
- metricsdescriptions[m] = m+' ('
- for name,d in rowingmetrics:
- if d['group']==m:
- metricsdescriptions[m]+=d['verbose_name']+', '
- metricsdescriptions[m]=metricsdescriptions[m][0:-2]+')'
+def get_metricschoices(mode='water'):
+ modes = [mode,'both','basic']
+ metricsdescriptions = {}
+ for m in metricsgroups:
+ metricsdescriptions[m] = m+' ('
+ for name,d in rowingmetrics:
+ if d['group']==m and d['mode'] in modes:
+ metricsdescriptions[m]+=d['verbose_name']+', '
+ metricsdescriptions[m]=metricsdescriptions[m][0:-2]+')'
-metricsgroupschoices = ((m,metricsdescriptions[m]) for m in metricsgroups)
+ metricsgroupschoices = ((m,metricsdescriptions[m]) for m in metricsgroups)
+
+ return metricsgroupschoices
class VideoAnalysisMetricsForm(forms.Form):
groups = forms.MultipleChoiceField(label='Metrics Groups',
- choices=metricsgroupschoices,
+ choices=get_metricschoices(mode='water'),
widget=forms.CheckboxSelectMultiple,)
+ class Meta:
+ mode = 'water'
+
+ def __init__(self, *args, **kwargs):
+ mode = kwargs.pop('mode','water')
+ super(VideoAnalysisMetricsForm, self).__init__(*args, **kwargs)
+ self.fields['groups'].choices = get_metricschoices(mode=mode)
+
+
# BillingForm form
class BillingForm(forms.Form):
amount = FlexibleDecimalField(required=True,decimal_places=2,
diff --git a/rowers/metrics.py b/rowers/metrics.py
index ef1c0c6a..922df018 100644
--- a/rowers/metrics.py
+++ b/rowers/metrics.py
@@ -172,7 +172,7 @@ rowingmetrics = (
('distance',{
'numtype':'float',
'null':True,
- 'verbose_name': 'Distance (m)',
+ 'verbose_name': 'Interval Distance (m)',
'ax_min': 0,
'ax_max': 1e5,
'mode':'both',
diff --git a/rowers/templates/embedded_video.html b/rowers/templates/embedded_video.html
index 4a28416d..d02a9de2 100644
--- a/rowers/templates/embedded_video.html
+++ b/rowers/templates/embedded_video.html
@@ -13,6 +13,15 @@
{% leaflet_css %}
+
{% endblock %}
{% block main %}
@@ -158,7 +167,7 @@
{% endfor %}
// gauge.set(catch_now);
var newLatLng = new L.LatLng(lat, lon);
- console.log(newLatLng);
+ // console.log(newLatLng);
marker.setLatLng(newLatLng);
}
if(videotime !== oldTime) {
@@ -275,8 +284,10 @@