Private
Public Access
1
0

bug fix sporttracks no gps

This commit is contained in:
Sander Roosendaal
2019-02-04 09:30:09 +01:00
parent 0edeb971d5
commit b439d9c6ac
8 changed files with 22 additions and 21 deletions

3
.gpx
View File

@@ -1,3 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no" ?><gpx xmlns="http://www.topografix.com/GPX/1/1" xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:gpxtpx="http://www.garmin.com/xmlschemas/TrackPointExtension/v1" creator="Oregon 400t" version="1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensionsv3.xsd http://www.garmin.com/xmlschemas/TrackPointExtension/v1 http://www.garmin.com/xmlschemas/TrackPointExtensionv1.xsd"><metadata><link href="http://www.garmin.com"><text>Garmin International</text></link><time>2018-03-17T12:59:13</time></metadata><trk><name>Export by rowingdata</name>
</trk></gpx>

14
.tcx
View File

@@ -1,14 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<TrainingCenterDatabase xmlns="http://www.garmin.com/xmlschemas/TrainingCenterDatabase/v2">
<Activities>
<Activity Sport="Other">
<Id>2015-03-28T20:45:15.000Z</Id>
<Creator xsi:type="Device_t" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Name>Empty File</Name>
<UnitId>0</UnitId>
<ProductID>0</ProductID>
</Creator>
</Activity>
</Activities>
</TrainingCenterDatabase>

View File

@@ -9,6 +9,8 @@ from rowsandall_app.settings import (
SPORTTRACKS_REDIRECT_URI SPORTTRACKS_REDIRECT_URI
) )
import mytypes
oauth_data = { oauth_data = {
'client_id': SPORTTRACKS_CLIENT_ID, 'client_id': SPORTTRACKS_CLIENT_ID,
'client_secret': SPORTTRACKS_CLIENT_SECRET, 'client_secret': SPORTTRACKS_CLIENT_SECRET,
@@ -346,7 +348,7 @@ def add_workout_from_data(user,importid,data,strokedata,source='sporttracks',
times_location = times_distance times_location = times_distance
latcoord = np.zeros(len(times_distance)) latcoord = np.zeros(len(times_distance))
loncoord = np.zeros(len(times_distance)) loncoord = np.zeros(len(times_distance))
if workouttype in types.otwtypes: if workouttype in mytypes.otwtypes:
workouttype = 'rower' workouttype = 'rower'
try: try:

View File

@@ -532,6 +532,7 @@ def mocked_requests(*args, **kwargs):
} }
ststrokesjson = json.load(open('rowers/tests/testdata/sporttracksstrokedata.txt','r')) ststrokesjson = json.load(open('rowers/tests/testdata/sporttracksstrokedata.txt','r'))
ststrokesjson_nogps = json.load(open('rowers/tests/testdata/sporttracksstrokedatanolocation.txt','r'))
rkstrokesjson = json.load(open('rowers/tests/testdata/rkstrokes.txt','r')) rkstrokesjson = json.load(open('rowers/tests/testdata/rkstrokes.txt','r'))
@@ -606,7 +607,7 @@ def mocked_requests(*args, **kwargs):
stworkoutlistregex = '.*?sporttracks\.mobi\/api\/v2\/fitnessActivities$' stworkoutlistregex = '.*?sporttracks\.mobi\/api\/v2\/fitnessActivities$'
stworkoutlisttester = re.compile(stworkoutlistregex) stworkoutlisttester = re.compile(stworkoutlistregex)
ststrokesregex = '.*?sporttracks\.mobi\/api\/v2\/fitnessActivities/\d+$' ststrokesregex = '.*?sporttracks\.mobi\/api\/v2\/fitnessActivities/(\d+)$'
ststrokestester = re.compile(ststrokesregex) ststrokestester = re.compile(ststrokesregex)
rkuploadregex = '.*?api\.runkeeper\.com\/fitnessActivities$' rkuploadregex = '.*?api\.runkeeper\.com\/fitnessActivities$'
@@ -725,7 +726,10 @@ def mocked_requests(*args, **kwargs):
} }
return MockResponse(json_data,200) return MockResponse(json_data,200)
if ststrokestester.match(args[0]): if ststrokestester.match(args[0]):
return MockResponse(ststrokesjson,200) if ststrokestester.match(args[0]).group(1) == '13':
return MockResponse(ststrokesjson_nogps,200)
else:
return MockResponse(strokesjson,200)
if stuploadtester.match(args[0]): if stuploadtester.match(args[0]):
json_data = { json_data = {
"uris": [ "uris": [

View File

@@ -421,6 +421,17 @@ class STObjects(DjangoTestCase):
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
@patch('rowers.imports.requests.get', side_effect=mocked_requests)
def test_sporttracks_import(self, mock_get):
response = self.c.get('/rowers/workout/sporttracksimport/13/',follow=True)
self.assertRedirects(response,
expected_url='/rowers/workout/2/edit/',
status_code=302,target_status_code=200)
self.assertEqual(response.status_code, 200)
@patch('rowers.dataprep.create_engine') @patch('rowers.dataprep.create_engine')
def test_strokedata(self, mocked_sqlalchemy): def test_strokedata(self, mocked_sqlalchemy):
with open('rowers/tests/testdata/sporttrackstestdata.txt','r') as infile: with open('rowers/tests/testdata/sporttrackstestdata.txt','r') as infile:

File diff suppressed because one or more lines are too long

Binary file not shown.

View File

@@ -59,7 +59,7 @@ def matchsource(line):
tester = re.compile(testert) tester = re.compile(testert)
if tester.match(line.lower()): if tester.match(line.lower()):
return group(1) return tester.match(line.lower()).group(1)
# currently only matches one chart # currently only matches one chart
def matchchart(line): def matchchart(line):