Last active
March 18, 2019 15:30
-
-
Save robcalcroft/4eef06d49a11ad1a0174c188afa8a1e0 to your computer and use it in GitHub Desktop.
Lets you pass UK station codes to this script to view delays etc
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
let lateFlag = 0; | |
const isTrainLate = train => (train.sta !== train.eta && train.eta.toLowerCase() !== 'on time'); | |
const processTrains = ({ trainServices }) => trainServices.some((train) => { | |
if (isTrainLate(train)) { | |
console.log(`The ${train.sta} won't arrive until ${train.eta} 😕`); | |
lateFlag = 1; | |
} else if (lateFlag) { | |
console.log('Subsequent trains are running fine'); | |
lateFlag = 0; | |
return true; | |
} else { | |
console.log('Service looks good'); | |
lateFlag = 0; | |
return true; | |
} | |
}); | |
if (!process.argv[2] || !process.argv[3]) { | |
throw new Error('No station code given'); | |
} | |
console.log('Loading...\n'); | |
require('https').get(`https://huxley.apphb.com/all/${process.argv[3]}/from/${process.argv[2]}/2?accessToken=DA1C7740-9DA0-11E4-80E6-A920340000B1`, (response) => { | |
let body = ''; | |
response.on('data', chunk => body += chunk); | |
response.on('end', () => processTrains(JSON.parse(body))); | |
}) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment