Stboard legacy encoding, refactoring
This commit is contained in:
parent
59c28f437d
commit
7437fbf85b
180
package-lock.json
generated
180
package-lock.json
generated
@ -1,6 +1,8 @@
|
|||||||
{
|
{
|
||||||
"requires": true,
|
"name": "simple_hafas",
|
||||||
|
"version": "0.0.1",
|
||||||
"lockfileVersion": 1,
|
"lockfileVersion": 1,
|
||||||
|
"requires": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@derhuerst/br2nl": {
|
"@derhuerst/br2nl": {
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
@ -181,11 +183,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"decode-uri-component": {
|
|
||||||
"version": "0.2.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
|
|
||||||
"integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU="
|
|
||||||
},
|
|
||||||
"depd": {
|
"depd": {
|
||||||
"version": "1.1.2",
|
"version": "1.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
|
||||||
@ -421,11 +418,97 @@
|
|||||||
"resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
|
||||||
"integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4="
|
"integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4="
|
||||||
},
|
},
|
||||||
|
"iso-8859-15": {
|
||||||
|
"version": "0.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/iso-8859-15/-/iso-8859-15-0.1.2.tgz",
|
||||||
|
"integrity": "sha1-KNGlzSp6OQMFl937HLiZeThCVzs="
|
||||||
|
},
|
||||||
|
"iso-8859-2": {
|
||||||
|
"version": "0.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/iso-8859-2/-/iso-8859-2-0.1.2.tgz",
|
||||||
|
"integrity": "sha1-VQtMDykufryHM6dv/S5pkIx77P4="
|
||||||
|
},
|
||||||
|
"iso-8859-3": {
|
||||||
|
"version": "0.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/iso-8859-3/-/iso-8859-3-0.1.2.tgz",
|
||||||
|
"integrity": "sha1-PeT+tr1fZjllI+aSLFfSGKXJd2Q="
|
||||||
|
},
|
||||||
|
"iso-8859-4": {
|
||||||
|
"version": "0.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/iso-8859-4/-/iso-8859-4-0.1.2.tgz",
|
||||||
|
"integrity": "sha1-bM3E/URq2f0uDPMXTnu9H1haw+Y="
|
||||||
|
},
|
||||||
|
"iso-8859-5": {
|
||||||
|
"version": "0.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/iso-8859-5/-/iso-8859-5-0.1.2.tgz",
|
||||||
|
"integrity": "sha1-oYkIiIXgtAXYgB9tbkLD/gxDvKs="
|
||||||
|
},
|
||||||
|
"iso-8859-6": {
|
||||||
|
"version": "0.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/iso-8859-6/-/iso-8859-6-0.1.2.tgz",
|
||||||
|
"integrity": "sha1-YQwEDlxfCXJzCqL4Kyjl54dNVmE="
|
||||||
|
},
|
||||||
|
"iso-8859-7": {
|
||||||
|
"version": "0.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/iso-8859-7/-/iso-8859-7-0.1.2.tgz",
|
||||||
|
"integrity": "sha1-Tlr64n716I4dXmziMVspkmDXuZk="
|
||||||
|
},
|
||||||
|
"iso-8859-8": {
|
||||||
|
"version": "0.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/iso-8859-8/-/iso-8859-8-0.1.2.tgz",
|
||||||
|
"integrity": "sha1-NUvZfApt4/ny7Q0x77ONQr+gvOU="
|
||||||
|
},
|
||||||
|
"iso-8859-8-i": {
|
||||||
|
"version": "0.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/iso-8859-8-i/-/iso-8859-8-i-0.1.2.tgz",
|
||||||
|
"integrity": "sha1-cAlX57fEK6i1RruHbbh1nQDyGVw="
|
||||||
|
},
|
||||||
|
"jconv": {
|
||||||
|
"version": "0.1.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/jconv/-/jconv-0.1.5.tgz",
|
||||||
|
"integrity": "sha1-xlDtukzCzm3Skr85ELEjQzxLR/U="
|
||||||
|
},
|
||||||
"json-parse-better-errors": {
|
"json-parse-better-errors": {
|
||||||
"version": "1.0.2",
|
"version": "1.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
|
||||||
"integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw=="
|
"integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw=="
|
||||||
},
|
},
|
||||||
|
"koi8-r": {
|
||||||
|
"version": "0.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/koi8-r/-/koi8-r-0.1.2.tgz",
|
||||||
|
"integrity": "sha1-pc2d3IVV3NYAc1tokPLT2GlU5+g="
|
||||||
|
},
|
||||||
|
"legacy-encoding": {
|
||||||
|
"version": "3.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/legacy-encoding/-/legacy-encoding-3.0.0.tgz",
|
||||||
|
"integrity": "sha1-oTvTn9kXZXLhRTbTFd/KjqOA2OE=",
|
||||||
|
"requires": {
|
||||||
|
"iconv-lite": "^0.4.4",
|
||||||
|
"iso-8859-15": "^0.1.2",
|
||||||
|
"iso-8859-2": "^0.1.2",
|
||||||
|
"iso-8859-3": "^0.1.2",
|
||||||
|
"iso-8859-4": "^0.1.2",
|
||||||
|
"iso-8859-5": "^0.1.2",
|
||||||
|
"iso-8859-6": "^0.1.2",
|
||||||
|
"iso-8859-7": "^0.1.2",
|
||||||
|
"iso-8859-8": "^0.1.2",
|
||||||
|
"iso-8859-8-i": "^0.1.2",
|
||||||
|
"jconv": "^0.1.5",
|
||||||
|
"koi8-r": "^0.1.2",
|
||||||
|
"macintosh": "^0.1.2",
|
||||||
|
"windows-1250": "^0.1.2",
|
||||||
|
"windows-1251": "^0.1.2",
|
||||||
|
"windows-1252": "^0.1.2",
|
||||||
|
"windows-1253": "^0.1.2",
|
||||||
|
"windows-1254": "^0.1.2",
|
||||||
|
"windows-1255": "^0.1.2",
|
||||||
|
"windows-1256": "^0.1.2",
|
||||||
|
"windows-1257": "^0.1.2",
|
||||||
|
"windows-1258": "^0.1.2",
|
||||||
|
"windows-874": "^0.1.2",
|
||||||
|
"x-mac-cyrillic": "^0.1.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
"load-json-file": {
|
"load-json-file": {
|
||||||
"version": "4.0.0",
|
"version": "4.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
|
||||||
@ -470,6 +553,11 @@
|
|||||||
"resolved": "https://registry.npmjs.org/luxon/-/luxon-1.21.0.tgz",
|
"resolved": "https://registry.npmjs.org/luxon/-/luxon-1.21.0.tgz",
|
||||||
"integrity": "sha512-GkS6D9prDlacKi062DW/OxVI7i+CKgfBc2uDqI//UH1VwPPlgYiMwfoP5uHK3UfzdjXgbwmEwZHWIGgLcg/APg=="
|
"integrity": "sha512-GkS6D9prDlacKi062DW/OxVI7i+CKgfBc2uDqI//UH1VwPPlgYiMwfoP5uHK3UfzdjXgbwmEwZHWIGgLcg/APg=="
|
||||||
},
|
},
|
||||||
|
"macintosh": {
|
||||||
|
"version": "0.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/macintosh/-/macintosh-0.1.2.tgz",
|
||||||
|
"integrity": "sha1-gu9KUSjxqlH2I6pVRcJJRgdqybs="
|
||||||
|
},
|
||||||
"map-obj": {
|
"map-obj": {
|
||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz",
|
||||||
@ -602,11 +690,6 @@
|
|||||||
"retry": "^0.12.0"
|
"retry": "^0.12.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"p-throttle": {
|
|
||||||
"version": "1.1.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/p-throttle/-/p-throttle-1.1.0.tgz",
|
|
||||||
"integrity": "sha1-3QgiJH/8d2eox7sRhvzGMv6lcHU="
|
|
||||||
},
|
|
||||||
"p-try": {
|
"p-try": {
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
|
||||||
@ -681,16 +764,6 @@
|
|||||||
"resolved": "https://registry.npmjs.org/qs/-/qs-6.9.0.tgz",
|
"resolved": "https://registry.npmjs.org/qs/-/qs-6.9.0.tgz",
|
||||||
"integrity": "sha512-27RP4UotQORTpmNQDX8BHPukOnBP3p1uUJY5UnDhaJB+rMt9iMsok724XL+UHU23bEFOHRMQ2ZhI99qOWUMGFA=="
|
"integrity": "sha512-27RP4UotQORTpmNQDX8BHPukOnBP3p1uUJY5UnDhaJB+rMt9iMsok724XL+UHU23bEFOHRMQ2ZhI99qOWUMGFA=="
|
||||||
},
|
},
|
||||||
"query-string": {
|
|
||||||
"version": "6.8.3",
|
|
||||||
"resolved": "https://registry.npmjs.org/query-string/-/query-string-6.8.3.tgz",
|
|
||||||
"integrity": "sha512-llcxWccnyaWlODe7A9hRjkvdCKamEKTh+wH8ITdTc3OhchaqUZteiSCX/2ablWHVrkVIe04dntnaZJ7BdyW0lQ==",
|
|
||||||
"requires": {
|
|
||||||
"decode-uri-component": "^0.2.0",
|
|
||||||
"split-on-first": "^1.0.0",
|
|
||||||
"strict-uri-encode": "^2.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"quick-lru": {
|
"quick-lru": {
|
||||||
"version": "1.1.0",
|
"version": "1.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz",
|
||||||
@ -867,21 +940,11 @@
|
|||||||
"resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz",
|
"resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz",
|
||||||
"integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q=="
|
"integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q=="
|
||||||
},
|
},
|
||||||
"split-on-first": {
|
|
||||||
"version": "1.1.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz",
|
|
||||||
"integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw=="
|
|
||||||
},
|
|
||||||
"statuses": {
|
"statuses": {
|
||||||
"version": "1.5.0",
|
"version": "1.5.0",
|
||||||
"resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
|
"resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
|
||||||
"integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow="
|
"integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow="
|
||||||
},
|
},
|
||||||
"strict-uri-encode": {
|
|
||||||
"version": "2.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz",
|
|
||||||
"integrity": "sha1-ucczDHBChi9rFC3CdLvMWGbONUY="
|
|
||||||
},
|
|
||||||
"strip-bom": {
|
"strip-bom": {
|
||||||
"version": "3.0.0",
|
"version": "3.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
|
||||||
@ -963,6 +1026,61 @@
|
|||||||
"resolved": "https://registry.npmjs.org/vbb-translate-ids/-/vbb-translate-ids-3.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/vbb-translate-ids/-/vbb-translate-ids-3.1.0.tgz",
|
||||||
"integrity": "sha512-5APLiY9foEeKQfUXBSz0sasTOrReTuua4uMhENdVzMWvcyuQI61Q+RBITFXhdeALz5+W0/67MoO4IhxAVSuJ/w=="
|
"integrity": "sha512-5APLiY9foEeKQfUXBSz0sasTOrReTuua4uMhENdVzMWvcyuQI61Q+RBITFXhdeALz5+W0/67MoO4IhxAVSuJ/w=="
|
||||||
},
|
},
|
||||||
|
"windows-1250": {
|
||||||
|
"version": "0.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/windows-1250/-/windows-1250-0.1.2.tgz",
|
||||||
|
"integrity": "sha1-w3uaBz5AW89CCB02uq8v3nc7mcw="
|
||||||
|
},
|
||||||
|
"windows-1251": {
|
||||||
|
"version": "0.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/windows-1251/-/windows-1251-0.1.2.tgz",
|
||||||
|
"integrity": "sha1-SIHY+QU9Dre1+l008PlNYN5DwtM="
|
||||||
|
},
|
||||||
|
"windows-1252": {
|
||||||
|
"version": "0.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/windows-1252/-/windows-1252-0.1.2.tgz",
|
||||||
|
"integrity": "sha1-Zit1Mede3ZRcLby6K/eZwXC4yBY="
|
||||||
|
},
|
||||||
|
"windows-1253": {
|
||||||
|
"version": "0.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/windows-1253/-/windows-1253-0.1.2.tgz",
|
||||||
|
"integrity": "sha1-z6AiW33dZqj0A43qbpOJRXMPklE="
|
||||||
|
},
|
||||||
|
"windows-1254": {
|
||||||
|
"version": "0.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/windows-1254/-/windows-1254-0.1.2.tgz",
|
||||||
|
"integrity": "sha1-rXeQfF7k7FGvpkpFyqJF7C1Ti4M="
|
||||||
|
},
|
||||||
|
"windows-1255": {
|
||||||
|
"version": "0.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/windows-1255/-/windows-1255-0.1.2.tgz",
|
||||||
|
"integrity": "sha1-HSCCyriBdV+jIr7ELz9iaRjMpSE="
|
||||||
|
},
|
||||||
|
"windows-1256": {
|
||||||
|
"version": "0.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/windows-1256/-/windows-1256-0.1.2.tgz",
|
||||||
|
"integrity": "sha1-mwlXRpikEnQfSzVsJFCo/5KpDJI="
|
||||||
|
},
|
||||||
|
"windows-1257": {
|
||||||
|
"version": "0.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/windows-1257/-/windows-1257-0.1.2.tgz",
|
||||||
|
"integrity": "sha1-i0xE7rDpcbtzQPv0+eZ06GDLtmY="
|
||||||
|
},
|
||||||
|
"windows-1258": {
|
||||||
|
"version": "0.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/windows-1258/-/windows-1258-0.1.2.tgz",
|
||||||
|
"integrity": "sha1-MCM96qvaEYSUJGkzOIVrlVLeVg4="
|
||||||
|
},
|
||||||
|
"windows-874": {
|
||||||
|
"version": "0.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/windows-874/-/windows-874-0.1.2.tgz",
|
||||||
|
"integrity": "sha1-dyI7Ptabdd6Yhtz6K73VI6fconc="
|
||||||
|
},
|
||||||
|
"x-mac-cyrillic": {
|
||||||
|
"version": "0.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/x-mac-cyrillic/-/x-mac-cyrillic-0.1.2.tgz",
|
||||||
|
"integrity": "sha1-dpMPw3V1SSmxCkmONFE3+Ut0ezw="
|
||||||
|
},
|
||||||
"yargs-parser": {
|
"yargs-parser": {
|
||||||
"version": "10.1.0",
|
"version": "10.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz",
|
||||||
|
@ -5,7 +5,8 @@
|
|||||||
"main": "server.js",
|
"main": "server.js",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"express": "^4.17.1",
|
"express": "^4.17.1",
|
||||||
"hafas-client": "^4.6.1"
|
"hafas-client": "^4.6.1",
|
||||||
|
"legacy-encoding": "^3.0.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {},
|
"devDependencies": {},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
70
server.js
70
server.js
@ -1,5 +1,6 @@
|
|||||||
const createClient = require('hafas-client')
|
const createClient = require('hafas-client')
|
||||||
const insaProfile = require('hafas-client/p/insa')
|
const insaProfile = require('hafas-client/p/insa')
|
||||||
|
const legacyEncoder = require('legacy-encoding')
|
||||||
|
|
||||||
var express = require("express");
|
var express = require("express");
|
||||||
var app = express();
|
var app = express();
|
||||||
@ -7,8 +8,7 @@ const port = 3000
|
|||||||
|
|
||||||
const client = createClient(insaProfile, 'my-awesome-program')
|
const client = createClient(insaProfile, 'my-awesome-program')
|
||||||
|
|
||||||
function printResult(departures,respdata) {
|
function formatResult(departures,respdata) {
|
||||||
let outstr = ""
|
|
||||||
departures.forEach(element => {
|
departures.forEach(element => {
|
||||||
let delay = ""
|
let delay = ""
|
||||||
if (element['delay'] != 0) {
|
if (element['delay'] != 0) {
|
||||||
@ -25,7 +25,23 @@ function printResult(departures,respdata) {
|
|||||||
return respdata;
|
return respdata;
|
||||||
}
|
}
|
||||||
|
|
||||||
async function getNearestStationDepartures(lat, lon) {
|
function formatStboard(departures,respdata,num) {
|
||||||
|
let count = 0;
|
||||||
|
departures.forEach(departure => {
|
||||||
|
if (count<num) {
|
||||||
|
timediff = Math.floor(Math.max(0,(( ( Date.parse(departure['when']) - new Date().getTime() ) / 1000 ) / 60)))
|
||||||
|
respdata['departures'].push({
|
||||||
|
"line": departure['line']['id'].toUpperCase().substr(-3),
|
||||||
|
"dest": departure['direction'],
|
||||||
|
"timefromnow": timediff+"m"
|
||||||
|
})
|
||||||
|
}
|
||||||
|
count++
|
||||||
|
})
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
async function getNearestStation(lat, lon) {
|
||||||
var queryPromise = client.nearby({
|
var queryPromise = client.nearby({
|
||||||
type: 'location',
|
type: 'location',
|
||||||
latitude: lat,
|
latitude: lat,
|
||||||
@ -34,11 +50,12 @@ async function getNearestStationDepartures(lat, lon) {
|
|||||||
distance: 400
|
distance: 400
|
||||||
})
|
})
|
||||||
var result = await queryPromise
|
var result = await queryPromise
|
||||||
var respdata = { "name" : result[0]['name'],
|
return result[0]
|
||||||
"departures" : [] }
|
}
|
||||||
var queryPromise2 = client.departures(result[0]['id'])
|
async function getStationDepartures(id) {
|
||||||
|
var queryPromise2 = client.departures(id)
|
||||||
var departures = await queryPromise2
|
var departures = await queryPromise2
|
||||||
return printResult(departures,respdata)
|
return departures
|
||||||
}
|
}
|
||||||
|
|
||||||
function cutPadString(string, length) {
|
function cutPadString(string, length) {
|
||||||
@ -62,14 +79,43 @@ app.get('/', (req, res) => res.send('Hello World!'))
|
|||||||
app.use(express.json());
|
app.use(express.json());
|
||||||
|
|
||||||
// Access the parse results as request.body
|
// Access the parse results as request.body
|
||||||
app.post('/', function (request, response) {
|
app.post('/departures/nearest', function (request, response) {
|
||||||
console.log(request.body.lat);
|
console.log(request.body.lat);
|
||||||
console.log(request.body.lon);
|
console.log(request.body.lon);
|
||||||
getNearestStationDepartures(request.body.lat, request.body.lon)
|
getNearestStation(request.body.lat, request.body.lon)
|
||||||
.then((result) => {
|
.then((station) => {
|
||||||
response.send(result)
|
getStationDepartures(station)
|
||||||
|
.then((departures) => {
|
||||||
|
var respdata = {
|
||||||
|
"name": station['name'],
|
||||||
|
"departures": []
|
||||||
|
}
|
||||||
|
formatResult(departures, respdata)
|
||||||
|
response.send(respdata)
|
||||||
|
})
|
||||||
|
.catch(console.log("Error while getting departures."))
|
||||||
})
|
})
|
||||||
.catch(console.log("Error."))
|
.catch(console.log("Error while getting Station ID."))
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
app.post('/radar', function (request, response) {
|
||||||
|
res.send("//TODO")
|
||||||
|
});
|
||||||
|
|
||||||
|
app.get('/stboard/:id/:num', function (req, res, next) {
|
||||||
|
console.log('id was '+ req.params.id)
|
||||||
|
getStationDepartures(req.params.id)
|
||||||
|
.then((departures) => {
|
||||||
|
var respdata = {
|
||||||
|
"departures": []
|
||||||
|
}
|
||||||
|
formatStboard(departures, respdata, req.params.num)
|
||||||
|
/* Yikes. */
|
||||||
|
res.write(legacyEncoder.encode(JSON.stringify(respdata),'cp850'))
|
||||||
|
res.end()
|
||||||
|
})
|
||||||
|
.catch(console.log("Error while getting departures."))
|
||||||
|
})
|
||||||
|
|
||||||
app.listen(port, () => console.log(`Example app listening on port ${port}!`))
|
app.listen(port, () => console.log(`Example app listening on port ${port}!`))
|
3
test.js
3
test.js
@ -11,6 +11,9 @@ var queryPromise = client.nearby({
|
|||||||
distance: 400
|
distance: 400
|
||||||
})
|
})
|
||||||
|
|
||||||
|
async function getNearestStation() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
async function getNearestStationDepartures() {
|
async function getNearestStationDepartures() {
|
||||||
var result = await queryPromise
|
var result = await queryPromise
|
||||||
|
Loading…
x
Reference in New Issue
Block a user