Fixed the bug that needed you to press search 2 times.
This commit is contained in:
23
main.js
23
main.js
@ -21,7 +21,7 @@ let requestedTak = "Unfetched";
|
|||||||
console.log("Server initalize!");
|
console.log("Server initalize!");
|
||||||
|
|
||||||
app.get('/', (req, res) => {
|
app.get('/', (req, res) => {
|
||||||
console.log("Requested / . Fetching!");
|
console.log("Requested / (index.html). Fetching!");
|
||||||
//index.html
|
//index.html
|
||||||
res.sendFile(__dirname + '/client/index.html');
|
res.sendFile(__dirname + '/client/index.html');
|
||||||
});
|
});
|
||||||
@ -36,8 +36,7 @@ io.on('connection', (socket) => {
|
|||||||
socket.on('takSearch', (tak) => {
|
socket.on('takSearch', (tak) => {
|
||||||
try {
|
try {
|
||||||
console.log("Input tak: " + tak);
|
console.log("Input tak: " + tak);
|
||||||
fetchData(tak);
|
fetchData(tak, socket);
|
||||||
socket.emit('takResults', requestedType, requestedLine, requestedLat, requestedLong, requestedTak);
|
|
||||||
} catch {
|
} catch {
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -52,11 +51,12 @@ async function triggerConstantDataFetch() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async function fetchData(takInput) {
|
async function fetchData(takInput, socket) {
|
||||||
try {
|
try {
|
||||||
const response = await axios.get(url);
|
const response = await axios.get(url);
|
||||||
if (response.status === 200) {
|
if (response.status === 200) {
|
||||||
const lines = response.data.split('\n');
|
const lines = response.data.split('\n');
|
||||||
|
let takFound = 0;
|
||||||
lines.forEach(line => {
|
lines.forEach(line => {
|
||||||
if (line) {
|
if (line) {
|
||||||
const data = line.split(',');
|
const data = line.split(',');
|
||||||
@ -69,6 +69,7 @@ async function fetchData(takInput) {
|
|||||||
const tak = data[6];
|
const tak = data[6];
|
||||||
|
|
||||||
let transportTypeDecoded;
|
let transportTypeDecoded;
|
||||||
|
|
||||||
switch (transportType) {
|
switch (transportType) {
|
||||||
case 1:
|
case 1:
|
||||||
transportTypeDecoded = "TROLL";
|
transportTypeDecoded = "TROLL";
|
||||||
@ -79,11 +80,15 @@ async function fetchData(takInput) {
|
|||||||
case 3:
|
case 3:
|
||||||
transportTypeDecoded = "TRAM";
|
transportTypeDecoded = "TRAM";
|
||||||
break;
|
break;
|
||||||
|
case 7:
|
||||||
|
transportTypeDecoded = "NIGHTBUS";
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
transportTypeDecoded = "Unknown";
|
transportTypeDecoded = "Unknown";
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (tak == takInput) {
|
if (tak == takInput) {
|
||||||
|
takFound = 1;
|
||||||
requestedType = transportTypeDecoded;
|
requestedType = transportTypeDecoded;
|
||||||
requestedLine = lineNumber;
|
requestedLine = lineNumber;
|
||||||
requestedLat = latitude;
|
requestedLat = latitude;
|
||||||
@ -97,6 +102,16 @@ async function fetchData(takInput) {
|
|||||||
console.log("Decoded address:");
|
console.log("Decoded address:");
|
||||||
console.log("TAK:", tak);
|
console.log("TAK:", tak);
|
||||||
console.log();
|
console.log();
|
||||||
|
socket.emit('takResults', requestedType, requestedLine, requestedLat, requestedLong, requestedTak);
|
||||||
|
}
|
||||||
|
else if (tak != takInput && takFound != 1) {
|
||||||
|
takFound = 0;
|
||||||
|
let busNotFoundText = "BUS NOT FOUND!";
|
||||||
|
requestedType = busNotFoundText;
|
||||||
|
requestedLine = busNotFoundText;
|
||||||
|
requestedLat = busNotFoundText;
|
||||||
|
requestedLong = busNotFoundText;
|
||||||
|
requestedTak = busNotFoundText;
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.log("Invalid data format!", line);
|
console.log("Invalid data format!", line);
|
||||||
|
Reference in New Issue
Block a user