diff options
author | Marcus Lundblad <ml@update.uu.se> | 2021-01-06 22:57:32 +0100 |
---|---|---|
committer | Marcus Lundblad <ml@update.uu.se> | 2021-01-07 21:33:11 +0100 |
commit | 6d7d7039b41f16773605e01b98f8f66c849d8b22 (patch) | |
tree | 2b31974a3d3a557b976e408e88edce4a44b734fd | |
parent | f1fe3bcbd94210021c5ef11c718e1f473b0af667 (diff) | |
download | gnome-maps-6d7d7039b41f16773605e01b98f8f66c849d8b22.tar.gz |
Remove TransitTweakswip/mlundblad/remove-transit-tweaks
Remove the transit tweaks functionallity as it's never
been activated (via downloaded files from gis.gnome.org)
and probably would be to hard to keep up-to-date anyway.
-rw-r--r-- | src/org.gnome.Maps.src.gresource.xml | 1 | ||||
-rw-r--r-- | src/transitTweaks.js | 180 |
2 files changed, 0 insertions, 181 deletions
diff --git a/src/org.gnome.Maps.src.gresource.xml b/src/org.gnome.Maps.src.gresource.xml index d9eea458..67b9643c 100644 --- a/src/org.gnome.Maps.src.gresource.xml +++ b/src/org.gnome.Maps.src.gresource.xml @@ -97,7 +97,6 @@ <file>transitRouter.js</file> <file>transitRouteLabel.js</file> <file>transitStopRow.js</file> - <file>transitTweaks.js</file> <file>transitWalkMarker.js</file> <file>translations.js</file> <file>turnPointMarker.js</file> diff --git a/src/transitTweaks.js b/src/transitTweaks.js deleted file mode 100644 index dc1f7deb..00000000 --- a/src/transitTweaks.js +++ /dev/null @@ -1,180 +0,0 @@ -/* -*- Mode: JS2; indent-tabs-mode: nil; js2-basic-offset: 4 -*- */ -/* vim: set et ts=4 sw=4: */ -/* - * Copyright (c) 2019 Marcus Lundblad - * - * GNOME Maps is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by the - * Free Software Foundation; either version 2 of the License, or (at your - * option) any later version. - * - * GNOME Maps is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY - * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * for more details. - * - * You should have received a copy of the GNU General Public License along - * with GNOME Maps; if not, see <http://www.gnu.org/licenses/>. - * - * Author: Marcus Lundblad <ml@update.uu.se> - */ - -const Champlain = imports.gi.Champlain; -const GLib = imports.gi.GLib; -const Soup = imports.gi.Soup; - -const Utils = imports.utils; - -const BASE_URL = 'https://gis.gnome.org/services/aux'; - -var TransitTweaks = class { - constructor(params) { - this._name = params.name; - this._session = - new Soup.Session({ user_agent: 'gnome-maps/' + pkg.version }); - - if (!this._name) - throw new Error('Missing tweak name'); - } - - applyTweaks(itineraries, callback) { - if (!this._tweaks) { - let variable = 'TRANSIT_TWEAKS_' + this._name.toUpperCase(); - let filename = GLib.getenv(variable); - - if (filename) { - this._readTweaksFromFile(filename); - this._doApplyTweaks(itineraries, callback); - } else { - this._fetchTweaksAsync(itineraries, callback); - } - } else { - this._doApplyTweaks(itineraries, callback); - } - } - - _doApplyTweaks(itineraries, callback) { - if (Object.keys(this._tweaks).length !== 0) { - itineraries.forEach((itinerary) => - this._applyTweaksToItinerary(itinerary)); - } - - callback(); - } - - _readTweaksFromFile(filename) { - let data = Utils.readFile(filename); - - if (!data) { - Utils.debug('Failed to read from tweak file'); - this._tweaks = {}; - callback(); - } - - try { - this._tweaks = JSON.parse(Utils.getBufferText(data)); - } catch (e) { - Utils.debug('Failed to parse tweaks: ' + e); - this._tweaks = {}; - } - } - - _fetchTweaksAsync(itineraries, callback) { - let uri = new Soup.URI(BASE_URL + '/' + 'tweaks-' + this._name + '.json'); - let request = new Soup.Message({ method: 'GET', uri: uri }); - - this._session.queue_message(request, (obj, message) => { - if (message.status_code !== Soup.Status.OK) { - Utils.debug('Failed to download tweaks'); - this._tweaks = {}; - callback(); - } else { - try { - this._tweaks = JSON.parse(message.response_body.data); - } catch (e) { - Utils.debug('Failed to parse tweaks: ' + e); - this._tweaks = {}; - } - - this._doApplyTweaks(itineraries, callback); - } - }); - } - - _applyTweaksToItinerary(itinerary) { - itinerary.legs.forEach((leg) => { - if (leg.transit) - this._applyTweaksToLeg(leg); - }); - } - - _applyTweaksToLeg(leg) { - let agencyTweaks = this._tweaks.agencies[leg.agencyName]; - - if (agencyTweaks) { - let routeTypeTweaks = agencyTweaks.routeTypes[leg.routeType]; - - if (routeTypeTweaks) { - let tweakToApply; - let bboxTweaks = routeTypeTweaks.bboxes; - let routeTweaks = routeTypeTweaks.routes ? - routeTypeTweaks.routes[leg.route] || null : null; - let routePatternTweaks = routeTypeTweaks.routePatterns; - - // first check for boundingbox-specific tweaks - if (bboxTweaks) { - bboxTweaks.forEach((tweak) => { - let bbox = tweak.bbox; - let cbbox = new Champlain.BoundingBox({ bottom: bbox[0], - left: bbox[1], - top: bbox[2], - right: bbox[3] }); - - if (cbbox.covers(leg.polyline[0].latitude, - leg.polyline[0].longitude)) { - /* if boundingbox fits, use embedded route or - * route pattern tweaks - */ - routeTweaks = tweak.routes ? - tweak.routes[leg.route] : null; - routePatternTweaks = tweak.routePatterns; - } - }); - } - - if (routeTweaks) { - tweakToApply = routeTweaks; - } else if (routePatternTweaks) { - routePatternTweaks.forEach((pattern) => { - if (!(pattern.regex instanceof RegExp)) { - pattern.regex = new RegExp(pattern.regex); - } - - if (leg.route.match(pattern.regex)) - tweakToApply = pattern; - }); - } - - if (!tweakToApply) { - tweakToApply = routeTypeTweaks; - } - - this._applyRouteTweaksToLeg(leg, tweakToApply); - } - } - } - - _applyRouteTweaksToLeg(leg, tweaks) { - if (tweaks.route) - leg.route = tweaks.route; - - if (tweaks.routeType) - leg.routeType = tweaks.routeType; - - if (tweaks.color) - leg.color = tweaks.color; - - if (tweaks.textColor) - leg.textColor = tweaks.textColor; - } -} |