Private
Public Access
1
0
This commit is contained in:
2023-11-18 14:59:18 +01:00
parent 56b307eb64
commit b3af3d1280
4 changed files with 36 additions and 6 deletions

View File

@@ -3778,9 +3778,12 @@ def update_duplicates_on_delete(sender, instance, **kwargs):
t = ww.duration
delta = datetime.timedelta(
hours=t.hour, minutes=t.minute, seconds=t.second)
try:
enddatetime = ww.startdatetime+delta
if enddatetime > d.startdatetime:
ws2.append(ww)
except TypeError:
pass
if len(ws2) == 0:
d.duplicate = False

View File

@@ -181,6 +181,30 @@ class OwnApi(TestCase):
self.assertEqual(response.status_code,200)
def test_strokedataform_tcx(self):
login = self.c.login(username=self.u.username, password=self.password)
self.assertTrue(login)
w = self.user_workouts[1]
url = reverse('strokedata_tcx')
with open('rowers/tests/testdata/crewnerddata.tcx') as f:
tcxdata_str = f.read()
result = get_random_file(filename='rowers/tests/testdata/thyro.csv')
request = self.factory.post(url, data = tcxdata_str, 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,200)
def test_strokedataform_v3(self):
login = self.c.login(username=self.u.username, password=self.password)
self.assertTrue(login)

Binary file not shown.

View File

@@ -11,9 +11,11 @@ from rowers.dataroutines import get_workouttype_from_tcx, get_startdate_time_zon
from rest_framework.decorators import parser_classes
from rest_framework.parsers import BaseParser
from datetime import datetime as dt
import rowingdata.tcxtools as tcxtools
from rowingdata import TCXParser, rowingdata
from datetime import timedelta, datetime
class XMLParser(BaseParser):
media_type = "application/xml"
@@ -264,7 +266,8 @@ def strokedata_tcx(request):
lap_duration_seconds = float(lap_duration_node.text)
total_duration += lap_duration_seconds
except:
except Exception as e:
dologging('apilog.log',e)
return HttpResponseNotAllowed("Could not parse TCX data")
@@ -276,7 +279,7 @@ def strokedata_tcx(request):
duration = totaltime_sec_to_string(total_duration)
startdatetime = datetime.strptime(start_time_str, "%Y-%m-%dT%H:%M:%S%z")
startdatetime = dt.strptime(start_time_str, "%Y-%m-%dT%H:%M:%S%z")
startdate = startdatetime.date()
partofday = part_of_day(startdatetime.hour)
title = '{partofday} water'.format(partofday=partofday)