Improve status messaging
This commit is contained in:
parent
9f5fa888ef
commit
c8e0028cb9
@ -23,6 +23,7 @@ let config = {
|
|||||||
autobook: null,
|
autobook: null,
|
||||||
};
|
};
|
||||||
let isRunning = false;
|
let isRunning = false;
|
||||||
|
let msg = "";
|
||||||
|
|
||||||
async function delay(ms) {
|
async function delay(ms) {
|
||||||
return new Promise(resolve => setTimeout(resolve, ms));
|
return new Promise(resolve => setTimeout(resolve, ms));
|
||||||
@ -250,8 +251,9 @@ async function runner() {
|
|||||||
|
|
||||||
if (isLoggedOutPage()) {
|
if (isLoggedOutPage()) {
|
||||||
if (!await goToSignInPage()) {
|
if (!await goToSignInPage()) {
|
||||||
console.log('Failed to go to sign in page');
|
msg = 'Failed to go to sign in page';
|
||||||
await chrome.storage.local.set({ "__status": "failed to go to sign in page" });
|
console.log(msg);
|
||||||
|
await chrome.storage.local.set({ "__status": msg });
|
||||||
isRunning = false;
|
isRunning = false;
|
||||||
return;
|
return;
|
||||||
};
|
};
|
||||||
@ -267,14 +269,16 @@ async function runner() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Sign in
|
// Sign in
|
||||||
console.log('Signing in attempt: ' + config.signinAttempts)
|
msg = 'Signing in attempt: ' + config.signinAttempts;
|
||||||
await chrome.storage.local.set({ "__status": "signing in #" + config.signinAttempts });
|
console.log(msg)
|
||||||
|
await chrome.storage.local.set({ "__status": msg });
|
||||||
let signedIn = await enterCredentials();
|
let signedIn = await enterCredentials();
|
||||||
config.signinAttempts += 1;
|
config.signinAttempts += 1;
|
||||||
await chrome.storage.local.set({ "__signinAttempts": config.signinAttempts });
|
await chrome.storage.local.set({ "__signinAttempts": config.signinAttempts });
|
||||||
if (!signedIn) {
|
if (!signedIn) {
|
||||||
console.log('Sign in failed');
|
msg = 'Failed to sign in';
|
||||||
await chrome.storage.local.set({ "__status": "sign in failed" });
|
console.log(msg);
|
||||||
|
await chrome.storage.local.set({ "__status": msg });
|
||||||
isRunning = false;
|
isRunning = false;
|
||||||
return;
|
return;
|
||||||
};
|
};
|
||||||
@ -294,8 +298,9 @@ async function runner() {
|
|||||||
console.log(`Appointment ID: ${config.apptId}`);
|
console.log(`Appointment ID: ${config.apptId}`);
|
||||||
await chrome.storage.local.set({ "__apptId": config.apptId });
|
await chrome.storage.local.set({ "__apptId": config.apptId });
|
||||||
} else {
|
} else {
|
||||||
console.log('No appointments found');
|
msg = 'No appointments found';
|
||||||
await chrome.storage.local.set({ "__status": "no appointment found" });
|
console.log(msg);
|
||||||
|
await chrome.storage.local.set({ "__status": msg });
|
||||||
isRunning = false;
|
isRunning = false;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -304,8 +309,9 @@ async function runner() {
|
|||||||
// get current appointment date
|
// get current appointment date
|
||||||
let apptInfo = document.querySelector("p.consular-appt [href*='" + config.apptId + "']").parentNode.parentNode.parentNode
|
let apptInfo = document.querySelector("p.consular-appt [href*='" + config.apptId + "']").parentNode.parentNode.parentNode
|
||||||
if (!apptInfo.querySelector("h4").innerText.match(/Attend Appointment/)) {
|
if (!apptInfo.querySelector("h4").innerText.match(/Attend Appointment/)) {
|
||||||
console.log('Appointment not available');
|
msg = 'Appointment not available';
|
||||||
await chrome.storage.local.set({ "__status": "appointment not available" });
|
console.log(msg);
|
||||||
|
await chrome.storage.local.set({ "__status": msg });
|
||||||
isRunning = false;
|
isRunning = false;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -333,8 +339,9 @@ async function runner() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!document.getElementById("consulate_date_time")) {
|
if (!document.getElementById("consulate_date_time")) {
|
||||||
console.log('No available appointments');
|
msg = 'No available appointments';
|
||||||
await chrome.storage.local.set({ "__status": "no available appointments" });
|
console.log(msg);
|
||||||
|
await chrome.storage.local.set({ "__status": msg });
|
||||||
isRunning = false;
|
isRunning = false;
|
||||||
return;
|
return;
|
||||||
};
|
};
|
||||||
@ -354,8 +361,9 @@ async function runner() {
|
|||||||
// for each selected consulate check available dates
|
// for each selected consulate check available dates
|
||||||
let selectedConsulates = Object.keys(config.consulates).filter(c => config.consulates[c].isSelected);
|
let selectedConsulates = Object.keys(config.consulates).filter(c => config.consulates[c].isSelected);
|
||||||
if (selectedConsulates.length == 0) {
|
if (selectedConsulates.length == 0) {
|
||||||
console.log('No selected consulates found');
|
msg = 'No selected consulates found';
|
||||||
await chrome.storage.local.set({ "__status": "no selected consulates" });
|
console.log(msg);
|
||||||
|
await chrome.storage.local.set({ "__status": msg });
|
||||||
isRunning = false;
|
isRunning = false;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -367,16 +375,18 @@ async function runner() {
|
|||||||
await chrome.storage.local.set({ "__countdown": config.countdown });
|
await chrome.storage.local.set({ "__countdown": config.countdown });
|
||||||
|
|
||||||
if (!availDates) {
|
if (!availDates) {
|
||||||
console.log('Failed to fetch available dates in ' + consulate);
|
msg = `Failed to fetch available dates in ${consulate}`;
|
||||||
await chrome.storage.local.set({ "__status": "no dates in " + consulate });
|
console.log(msg);
|
||||||
|
await chrome.storage.local.set({ "__status": msg });
|
||||||
isRunning = false;
|
isRunning = false;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// if empty list, either we're banned or non operational hours or dead consulate
|
// if empty list, either we're banned or non operational hours or dead consulate
|
||||||
if (availDates.length == 0) {
|
if (availDates.length == 0) {
|
||||||
console.log(`No available dates in ${consulate}, probably banned`);
|
msg = `No available dates in ${consulate}, probably banned`;
|
||||||
await chrome.storage.local.set({ "__status": "no dates in " + consulate });
|
console.log(msg);
|
||||||
|
await chrome.storage.local.set({ "__status": msg });
|
||||||
config.countdown = SOFT_BAN_COUNTDOWN;
|
config.countdown = SOFT_BAN_COUNTDOWN;
|
||||||
await chrome.storage.local.set({ "__countdown": config.countdown });
|
await chrome.storage.local.set({ "__countdown": config.countdown });
|
||||||
isRunning = false;
|
isRunning = false;
|
||||||
@ -390,8 +400,9 @@ async function runner() {
|
|||||||
// filter dates with our requests
|
// filter dates with our requests
|
||||||
let filteredDates = await filterDates(availDates, config.apptDate, config.deltaAppt, config.deltaNow);
|
let filteredDates = await filterDates(availDates, config.apptDate, config.deltaAppt, config.deltaNow);
|
||||||
if (!filteredDates.length) {
|
if (!filteredDates.length) {
|
||||||
console.log('Nothing interesting found in ' + consulate);
|
msg = `No better dates in ${consulate}, currently available ${availDates[0]}`;
|
||||||
await chrome.storage.local.set({ "__status": `Nothing in ${consulate}, best date ${availDates[0]}`});
|
console.log(msg);
|
||||||
|
await chrome.storage.local.set({ "__status": msg});
|
||||||
isRunning = false;
|
isRunning = false;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -407,14 +418,16 @@ async function runner() {
|
|||||||
|
|
||||||
let availTimes = await getAvailableTimes(config.consulates[consulate].id, chosenDate);
|
let availTimes = await getAvailableTimes(config.consulates[consulate].id, chosenDate);
|
||||||
if (!availTimes) {
|
if (!availTimes) {
|
||||||
console.log(`Failed to fetch available timeslots in ${consulate} at ${chosenDate}`);
|
msg = `Failed to fetch available timeslots in ${consulate} at ${chosenDate}`;
|
||||||
await chrome.storage.local.set({ "__status": `failed to fetch timeslots in ${consulate} at ${chosenDate}`});
|
console.log(msg);
|
||||||
|
await chrome.storage.local.set({ "__status": msg});
|
||||||
isRunning = false;
|
isRunning = false;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (availTimes.length == 0) {
|
if (availTimes.length == 0) {
|
||||||
console.log(`No timeslots in ${consulate} at ${chosenDate}`);
|
msg = `No timeslots in ${consulate} at ${chosenDate}`;
|
||||||
await chrome.storage.local.set({ "__status": `no timeslots in ${consulate} at ${chosenDate}`});
|
console.log(msg);
|
||||||
|
await chrome.storage.local.set({ "__status": msg});
|
||||||
isRunning = false;
|
isRunning = false;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user