Skip to content

Instantly share code, notes, and snippets.

@robcalcroft
Last active March 18, 2019 15:30
Show Gist options
  • Save robcalcroft/4eef06d49a11ad1a0174c188afa8a1e0 to your computer and use it in GitHub Desktop.
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
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