nakarte

Source code of https://map.sikmir.ru (fork)
git clone git://git.sikmir.ru/nakarte
Log | Files | Refs | LICENSE

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:
Msrc/lib/leaflet.control.track-list/lib/endomondo.js | 12++++++------
Msrc/lib/leaflet.control.track-list/lib/strava.js | 4++--
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;