Private
Public Access
1
0
This commit is contained in:
Sander Roosendaal
2023-01-15 14:47:34 +01:00
parent 37d5a5439c
commit e9e7326505
2 changed files with 36 additions and 30 deletions
+1 -1
View File
@@ -33,7 +33,7 @@ from rq.exceptions import NoSuchJobError
import threading import threading
import redis import redis
import colorsys import colorsys
import re
import zipfile import zipfile
import bleach import bleach
import arrow import arrow
+35 -29
View File
@@ -5234,6 +5234,8 @@ def workout_upload_api(request):
r = None r = None
if form.is_valid(): if form.is_valid():
t = form.cleaned_data['title'] t = form.cleaned_data['title']
t = re.sub('\r',' ',t)
t = re.sub('\n',' ',t)
boattype = form.cleaned_data['boattype'] boattype = form.cleaned_data['boattype']
workouttype = form.cleaned_data['workouttype'] workouttype = form.cleaned_data['workouttype']
try: try:
@@ -6701,40 +6703,44 @@ def workout_summary_edit_view(request, id, message="", successmessage=""
vals = None vals = None
# feeling lucky / ruptures # feeling lucky / ruptures
if request.method == 'POST' and "ruptures" in request.POST: if request.method == 'POST' and "ruptures" in request.POST:
df = pd.DataFrame({
'spm': rowdata.df[' Cadence (stokes/min)'],
'power': rowdata.df[' Power (watts)'],
'v': rowdata.df[' AverageBoatSpeed (m/s)']
})
algo = rpt.Pelt(model="rbf").fit(df.values)
result = algo.predict(pen=10)
df['time'] = rowdata.df['TimeStamp (sec)'].values
try: try:
timeprev = int(df['time'].values[0]) df = pd.DataFrame({
timenext = int(df['time'].values[result[0]]) 'spm': rowdata.df[' Cadence (stokes/min)'],
s = '{delta}sec'.format(delta=timenext-timeprev) 'power': rowdata.df[' Power (watts)'],
except IndexError: # pragma: no cover 'v': rowdata.df[' AverageBoatSpeed (m/s)']
s = '0sec' })
algo = rpt.Pelt(model="rbf").fit(df.values)
result = algo.predict(pen=10)
df['time'] = rowdata.df['TimeStamp (sec)'].values
try:
timeprev = int(df['time'].values[0])
timenext = int(df['time'].values[result[0]])
s = '{delta}sec'.format(delta=timenext-timeprev)
except IndexError: # pragma: no cover
s = '0sec'
for i in range(len(result)-1): for i in range(len(result)-1):
timeprev = int(df['time'].values[result[i]-1]) timeprev = int(df['time'].values[result[i]-1])
timenext = int(df['time'].values[result[i+1]-1]) timenext = int(df['time'].values[result[i+1]-1])
interval = '+{delta}sec'.format(delta=timenext-timeprev) interval = '+{delta}sec'.format(delta=timenext-timeprev)
s += interval s += interval
try: try:
rowdata.updateinterval_string(s) rowdata.updateinterval_string(s)
except: # pragma: no cover except: # pragma: no cover
messages.error(request, "Nope, you were not lucky")
intervalstats = rowdata.allstats()
itime, idist, itype = rowdata.intervalstats_values()
nrintervals = len(idist)
savebutton = 'savestringform'
intervalString = s
form = SummaryStringForm(initial={'intervalstring': intervalString})
except KeyError:
messages.error(request, "Nope, you were not lucky") messages.error(request, "Nope, you were not lucky")
intervalstats = rowdata.allstats()
itime, idist, itype = rowdata.intervalstats_values()
nrintervals = len(idist)
savebutton = 'savestringform'
intervalString = s
form = SummaryStringForm(initial={'intervalstring': intervalString})
# We have submitted the mini language interpreter # We have submitted the mini language interpreter
if request.method == 'POST' and "intervalstring" in request.POST: if request.method == 'POST' and "intervalstring" in request.POST:
form = SummaryStringForm(request.POST) form = SummaryStringForm(request.POST)