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