nakarte

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

commit 54719b7e5c56155d7161928abdc697acf9263bb2
parent 6cfcbe78cd30b5e296ff846e5843e7ad11c7ec24
Author: Sergey Orlov <wladimirych@gmail.com>
Date:   Mon, 10 May 2021 10:45:17 +0300

tracks: remove loading tracks from Endomondo

https://www.endomondo.com/: "Endomondo has been retired."

Diffstat:
Dsrc/lib/leaflet.control.track-list/lib/services/endomondo.js | 73-------------------------------------------------------------------------
Msrc/lib/leaflet.control.track-list/lib/services/index.js | 2--
Msrc/lib/leaflet.control.track-list/track-list.js | 2+-
Mtest/test_track_load.js | 5-----
Dtest/track_load_data/testcases/endomondo_map_private.json | 7-------
Dtest/track_load_data/testcases/endomondo_not_exists.json | 8--------
Dtest/track_load_data/testcases/endomondo_private.json | 8--------
Dtest/track_load_data/testcases/endomondo_with_title.json | 30------------------------------
Dtest/track_load_data/testcases/endomondo_without_title.json | 25-------------------------
9 files changed, 1 insertion(+), 159 deletions(-)

diff --git a/src/lib/leaflet.control.track-list/lib/services/endomondo.js b/src/lib/leaflet.control.track-list/lib/services/endomondo.js @@ -1,73 +0,0 @@ -import BaseService from './baseService'; -import urlViaCorsProxy from '~/lib/CORSProxy'; - -class Endomondo extends BaseService { - urlRegexps = [ - /^https?:\/\/(?:www\.)?endomondo\.com\/users\/(\d+)\/workouts\/(\d+)/u, - /^https?:\/\/(?:www\.)?endomondo\.com\/workouts\/(\d+)\/(\d+)/u - ]; - - isOurUrl() { - return this.urlRegexps.some((re) => re.test(this.origUrl)); - } - - requestOptions() { - let userId, trackId; - let m = this.urlRegexps[0].exec(this.origUrl); - if (m) { - [userId, trackId] = [m[1], m[2]]; - } else { - m = this.urlRegexps[1].exec(this.origUrl); - [trackId, userId] = [m[1], m[2]]; - } - return [{ - url: urlViaCorsProxy(`https://www.endomondo.com/rest/v1/users/${userId}/workouts/${trackId}`), - options: { - responseType: 'json', - isResponseSuccess: (xhr) => (xhr.status === 200 || xhr.status === 404) - }, - - }]; - } - - parseResponse(responses) { - const response = responses[0]; - if (response.status === 404) { - return [{error: 'Invalid link or user disabled viewing this workout track'}]; - } - - const data = response.responseJSON; - if (!data) { - return [{name: 'Endomondo activity', error: 'UNSUPPORTED'}]; - } - if (!data.points || !data.points.points) { - return [{error: 'Endomondo user disabled viewing this workout track'}]; - } - - const track = data.points.points - .filter((p) => p.latitude) - .map((p) => ({ - lat: p.latitude, - lng: p.longitude - })); - if (track.length === 0) { - return [{error: 'Endomondo user disabled viewing this workout track'}]; - } - - const date = data.local_start_time.split('T')[0]; - const dist = `${data.distance.toFixed(1)} km`; - let trackName = `${date}, ${dist}`; - if (data.author && data.author.name) { - trackName += ` ${data.author.name}`; - } - if (data.title) { - trackName += `: ${data.title}`; - } - return [{ - name: trackName, - tracks: [track] - }]; - } -} - -export default Endomondo; diff --git a/src/lib/leaflet.control.track-list/lib/services/index.js b/src/lib/leaflet.control.track-list/lib/services/index.js @@ -1,5 +1,4 @@ import SimpleService from './simpleService'; -import Endomondo from './endomondo'; import Etomesto from './etomesto'; import Gpsies from './gpsies'; import Gpslib from './gpslib'; @@ -17,7 +16,6 @@ const services = [ YandexRuler, NakarteTrack, NakarteUrl, - Endomondo, Etomesto, Gpsies, Gpslib, diff --git a/src/lib/leaflet.control.track-list/track-list.js b/src/lib/leaflet.control.track-list/track-list.js @@ -130,7 +130,7 @@ L.Control.TrackList = L.Control.extend({ <div class="leaflet-control-content"> <div class="header"> <div class="hint" - title="gpx kml Ozi zip YandexMaps GPSies Strava GPSLib Endomondo Etomesto Movescount GarminConnect SportsTracker OSM Tracedetrail OpenStreetMap.ru"> + title="gpx kml Ozi zip YandexMaps GPSies Strava GPSLib Etomesto Movescount GarminConnect SportsTracker OSM Tracedetrail OpenStreetMap.ru"> gpx kml Ozi zip YandexMaps GPSies Strava <span class="formats-hint-more">&hellip;</span> </div> diff --git a/test/test_track_load.js b/test/test_track_load.js @@ -41,11 +41,6 @@ suite('Load tracks from services'); 'strava_without_title', 'strava_private', 'strava_not_exists', - 'endomondo_with_title', - 'endomondo_without_title', - 'endomondo_map_private', - 'endomondo_private', - 'endomondo_not_exists', 'garmin_connect_activity_with_title', 'garmin_connect_activity_without_title', 'garmin_connect_activity_private', diff --git a/test/track_load_data/testcases/endomondo_map_private.json b/test/track_load_data/testcases/endomondo_map_private.json @@ -1,7 +0,0 @@ -{ - "query": [ - "https://www.endomondo.com/users/35458559/workouts/1587839579", - "https://www.endomondo.com/users/35458559/workouts/1587839623" - ], - "geodata": [{"error": "Endomondo user disabled viewing this workout track"}] -} diff --git a/test/track_load_data/testcases/endomondo_not_exists.json b/test/track_load_data/testcases/endomondo_not_exists.json @@ -1,8 +0,0 @@ -{ - "query": [ - "https://www.endomondo.com/users/35458559/workouts/15870820917", - "https://www.endomondo.com/users/35458559/workouts/15878209170000", - "https://www.endomondo.com/users/35458559/workouts/1587209" - ], - "geodata": [{"error":"Invalid link or user disabled viewing this workout track"}] -} diff --git a/test/track_load_data/testcases/endomondo_private.json b/test/track_load_data/testcases/endomondo_private.json @@ -1,8 +0,0 @@ -{ - "query": [ - "https://www.endomondo.com/users/35458559/workouts/1587839209", - "https://www.endomondo.com/users/35458559/workouts/1587839465", - "https://www.endomondo.com/users/35458559/workouts/1587839536" - ], - "geodata": [{"error": "Invalid link or user disabled viewing this workout track"}] -} diff --git a/test/track_load_data/testcases/endomondo_with_title.json b/test/track_load_data/testcases/endomondo_with_title.json @@ -1,30 +0,0 @@ -{ - "query": [ - "https://www.endomondo.com/users/35458559/workouts/1587820917", - "https://www.endomondo.com/users/35458559/workouts/1587820917?a=1", - "http://www.endomondo.com/users/35458559/workouts/1587820917", - "https://endomondo.com/users/35458559/workouts/1587820917", - "https://www.endomondo.com/users/35458559/workouts/1587820917/", - - "https://www.endomondo.com/workouts/1587820917/35458559", - "http://www.endomondo.com/workouts/1587820917/35458559", - "https://endomondo.com/workouts/1587820917/35458559", - "https://www.endomondo.com/workouts/1587820917/35458559/" - ], - "geodata": [ - { - "name": "2012-05-09, 0.0 km: Test - Тест - Zkouška", - "tracks": [ - [ - {"lat": 56.5269457083, "lng": 28.9624827169}, - {"lat": 56.5269602928, "lng": 28.9624775201}, - {"lat": 56.5270105843, "lng": 28.9624504466}, - {"lat": 56.5270208102, "lng": 28.9624960441}, - {"lat": 56.5270130988, "lng": 28.9625022467}, - {"lat": 56.5270016156, "lng": 28.9624936972}, - {"lat": 56.5270193852, "lng": 28.9625258837} - ] - ] - } - ] -} diff --git a/test/track_load_data/testcases/endomondo_without_title.json b/test/track_load_data/testcases/endomondo_without_title.json @@ -1,25 +0,0 @@ -{ - "query": ["https://www.endomondo.com/users/35458559/workouts/1043311235"], - "geodata": [ - { - "name": "2017-12-12, 0.2 km", - "tracks": [ - [ - {"lat": 55.69966, "lng": 37.537397}, - {"lat": 55.69966, "lng": 37.537397}, - {"lat": 55.699875, "lng": 37.537422}, - {"lat": 55.700118, "lng": 37.537552}, - {"lat": 55.70035, "lng": 37.537765}, - {"lat": 55.700524, "lng": 37.538045}, - {"lat": 55.700691, "lng": 37.538288}, - {"lat": 55.700839, "lng": 37.538506}, - {"lat": 55.700979, "lng": 37.538227}, - {"lat": 55.701141, "lng": 37.538001}, - {"lat": 55.70125, "lng": 37.537892}, - {"lat": 55.70125, "lng": 37.537892}, - {"lat": 55.70125, "lng": 37.537892} - ] - ] - } - ] -}