Private
Public Access
1
0
This commit is contained in:
2024-06-12 17:52:09 +02:00
parent 09a00f4ac6
commit 37389def6a
8 changed files with 34 additions and 13 deletions

View File

@@ -17,6 +17,7 @@ import rowers.c2stuff as c2stuff
import rowers.metrics as metrics
import rowers.dataprep as dataprep
from rowers.dataprep import rdata
from rowers.dataroutines import remove_nulls_pl
import rowers.utils as utils
import polars as pl
import pytz
@@ -1205,6 +1206,7 @@ def forcecurve_multi_interactive_chart(selected): # pragma: no cover
rowdata = dataprep.read_data(columns, ids=workoutids,
workstrokesonly=False)
rowdata = remove_nulls_pl(rowdata)
rowdata = rowdata.fill_nan(None).drop_nulls()
if rowdata.is_empty():
@@ -1225,7 +1227,7 @@ def forcecurve_multi_interactive_chart(selected): # pragma: no cover
'forcecurve_analyses': selected_dict,
}
script, div = get_chart("/forcecurve_compare", chart_data)
script, div = get_chart("/forcecurve_compare", chart_data, debug=False)
return script, div
@@ -2224,11 +2226,11 @@ def get_zones_report_pl(rower, startdate, enddate, trainingzones='hr', date_agg=
pw_tr = rower.pw_tr
pw_an = rower.pw_an
if iswater:
pw_ut2 = pw_ut2*rower.otwslack/100.
pw_ut1 = pw_ut1*rower.otwslack/100.
pw_at = pw_at*rower.otwslack/100.
pw_tr = pw_tr*rower.otwslack/100.
pw_an = pw_an*rower.otwslack/100.
pw_ut2 = pw_ut2*(100.-rower.otwslack)/100.
pw_ut1 = pw_ut1*(100.-rower.otwslack)/100.
pw_at = pw_at*(100.-rower.otwslack)/100.
pw_tr = pw_tr*(100.-rower.otwslack)/100.
pw_an = pw_an*(100.-rower.otwslack)/100.
# 1
time_ut2 = df.filter(

View File

@@ -3996,7 +3996,11 @@ def fetch_strava_workout(stravatoken, oauth_data, stravaid, csvfilename, userid,
df.sort('TimeStamp (sec)')
row = rowingdata.rowingdata_pl(df=df)
row.write_csv(csvfilename, compressed=False)
try:
row.write_csv(csvfilename, compressed=False)
except ComputeError:
row = rowingdata.rowingdata(df=df)
row.write_csv(csvfilename, compressed=False)
# summary = row.allstats()
# maxdist = df['cum_dist'].max()

View File

@@ -389,14 +389,14 @@
</script>
<div id="id_script">
</div>
<ul class="main-content">
<canvas hidden id="canvas"></canvas>
<li class="grid_4">
<div id="id_chart">
{{ the_div|safe }}
</div>
<div id="id_script">
</div>
</li>
<li class="grid_4">
<p>You can use the date and search forms to search through all

View File

@@ -109,6 +109,20 @@ from rowers.opaque import encoder
import inspect
class MyTestCase(TestCase):
def setUp(self):
self.osm_mock = patch('something')
self.osm_mock.return_value = ""
super(MyTestCase, self).setUp()
self.osm_mock.start()
def tearDown(self):
super(MyTestCase, self).tearDown()
self.osm_mock.stop()
def get_random_file(filename='rowers/tests/testdata/testdata.csv',name=''):
frm = inspect.stack()[3]

View File

@@ -13,7 +13,7 @@ import rowers.courses as courses
import rowers.plannedsessions as plannedsessions
@override_settings(TESTING=True)
class VirtualEventViewTest(TestCase):
class VirtualEventViewTest(MyTestCase):
def setUp(self):
# Main User
self.u = UserFactory()

Binary file not shown.

View File

@@ -1594,7 +1594,6 @@ class SavedAnalysisView(UserPassesTestMixin, View):
def post(self, request, *args, **kwargs): # pragma: no cover
form = self.form_class(request.POST)
if form.is_valid():
cd = form.cleaned_data
self.selected = cd['analyses']

View File

@@ -652,7 +652,7 @@ def rower_process_testcallback(request): # pragma: no cover
@user_passes_test(ispromember, login_url="/rowers/paidplans/",
message="This functionality requires a Pro plan or higher",
redirect_field_name=None)
@permission_required('rower.is_coach', fn=get_user_by_userid, raise_exception=True)
@permission_required('rower.is_planmember', fn=get_user_by_userid, raise_exception=True)
def workout_rojaboimport_view(request, message="", userid=0): # pragma: no cover
r = getrequestrower(request, userid=userid)
if r.user != request.user:
@@ -753,10 +753,12 @@ def workout_rojaboimport_view(request, message="", userid=0): # pragma: no cover
'steps': steps,
}
ps.save()
messages.info(request,'Saved planned session {id}'.format(id=ps.id))
except KeyError: # pragma: no cover
pass
except ValidationError:
messages.error(request,"You cannot import sessions")
except KeyError:
pass