commit 02e662926031a7c59a1807cc7bd000b6157c8c6e
parent cd5f38ab511cc03e2e0feebf9f74fb66d2ff6e70
Author: Sergej Orlov <wladimirych@gmail.com>
Date: Mon, 11 Dec 2017 16:56:51 +0300
[strava,endomondo] fixed handling bad format responses, tracks without points, tracks without user name
Diffstat:
2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/src/lib/leaflet.control.track-list/lib/endomondo.js b/src/lib/leaflet.control.track-list/lib/endomondo.js
@@ -35,10 +35,10 @@ function endomondoParser(name, responses) {
try {
data = JSON.parse(responses[0].responseBinaryText)
} catch (e) {
- return null;
+ return [{name: name, error: 'UNSUPPORTED'}];
}
if (!data.points || !data.points.points) {
- return null;
+ return [{error: 'Endomondo user disabled viewing this workout track'}];
}
const track = data.points.points
.filter((p) => p.latitude)
@@ -49,11 +49,11 @@ function endomondoParser(name, responses) {
}
}
);
- if (!track.length) {
- return [{error: 'Endomondo user disabled viewing this workout track'}];
- }
- let trackName = `${data.local_start_time.split('T')[0]}, ${data.distance.toFixed(1)} km, ${data.author.name}, `;
+ let trackName = `${data.local_start_time.split('T')[0]}, ${data.distance.toFixed(1)} km`;
+ if (data.author && data.author.name) {
+ trackName += `, ${data.author.name} `;
+ };
const geodata = {
name: trackName,
tracks: [track]
diff --git a/src/lib/leaflet.control.track-list/lib/strava.js b/src/lib/leaflet.control.track-list/lib/strava.js
@@ -35,10 +35,10 @@ function stravaParser(_, responses) {
try {
data = JSON.parse(responses[1].responseBinaryText);
} catch (e) {
- return null;
+ return [{name: name, error: 'UNSUPPORTED'}];
}
if (!data.latlng) {
- return null;
+ return [{name: name, error: 'UNSUPPORTED'}];
}
let name;