Private
Public Access
1
0

Merge branch 'release/v22.1.21'

This commit is contained in:
2024-08-06 20:28:52 +02:00
6 changed files with 36 additions and 5 deletions

View File

@@ -370,6 +370,7 @@ def coursetokml(course,cn=False):
def kmltocourse(f):
doc = et.parse(f)
courses = doc.findall('.//opengis:Folder[opengis:Placemark]', ns)
if not courses: # pragma: no cover

View File

@@ -539,7 +539,10 @@ def setcp(workout, background=False, recurrance=True):
if df['delta'][0] in tarr:
return(df, df['delta'], df['cp'])
except Exception as e:
pass
try:
os.remove(filename)
except:
pass
strokesdf = read_data(
['power', 'workoutid', 'time'], ids=[workout.id])
@@ -597,9 +600,8 @@ def setcp(workout, background=False, recurrance=True):
})
df = df.drop_nulls()
df.write_parquet(filename,compression='gzip')
with gzip.open(filename, 'w') as f:
df.write_parquet(f)
except Exception as e:
dologging("metrics.log", "setcp: "+ str(e))
return pl.DataFrame({'delta': [], 'cp': []}), pl.Series(dtype=pl.Float64), pl.Series(dtype=pl.Float64)

View File

@@ -210,6 +210,24 @@ class OwnApi(TestCase):
response = strokedata_tcx(request)
self.assertEqual(response.status_code,200)
def test_strokedataform_empty(self):
login = self.c.login(username=self.u.username, password=self.password)
self.assertTrue(login)
w = self.user_workouts[1]
url = reverse('strokedata_tcx')
request = self.factory.post(url, data = '', content_type='application/xml')
request.user = self.u
request.content_type = 'application/xml'
force_authenticate(request, user=self.u)
with patch('rowers.dataprep.getrowdata_db') as mock_getrowdata:
mock_getrowdata.return_value = (pd.DataFrame(),None)
response = strokedata_tcx(request)
self.assertEqual(response.status_code,405)
def test_strokedataform_v3(self):
login = self.c.login(username=self.u.username, password=self.password)

Binary file not shown.

View File

@@ -434,7 +434,7 @@ def strokedata_tcx(request):
"""
if request.method != 'POST': # pragma: no cover
dologging('apilog.log','GET request to TCX endpoint')
return HttpResponseNotAllowed("Method not supported")
return HttpResponseNotAllowed("Method not supported")
if 'application/xml' not in request.content_type.lower(): # pragma: no cover
dologging('apilog.log','POST data not application/xml, request to TCX endpoint')

View File

@@ -812,8 +812,18 @@ def course_upload_view(request):
if f is not None:
filename, path_and_filename = handle_uploaded_file(f)
try:
cs = courses.kmltocourse(path_and_filename)
except ParseError:
os.remove(path_and_filename)
messages.error(
request, 'Something went wrong - error parsing the file')
url = reverse(course_upload_view)
cs = courses.kmltocourse(path_and_filename)
if is_ajax:
return JSONResponse({'result': 0, 'url': 0})
else:
return HttpResponseRedirect(url)
for course in cs:
cname = name+' - '+course['name']