diff --git a/index.js b/index.js index c93ac6a9..65330346 100644 --- a/index.js +++ b/index.js @@ -45,11 +45,27 @@ async function createICS() { description += event.fightCard.join("\n") + "\n"; if (event.mainCard.length) description += - "Main Card\n----------\n" + event.mainCard.join("\n") + "\n"; - if (event.prelims.length) + "Main Card\n--------------------\n" + + event.mainCard.join("\n") + + "\n"; + if (event.prelims.length) { + let prelimsTime = new Date(parseInt(event.prelimsTime) * 1000); + let hoursAgo = (date - prelimsTime) / 1000 / 60 / 60; description += - "\nPrelims\n----------\n" + event.prelims.join("\n") + "\n"; - + `\nPrelims (${hoursAgo} hrs before Main)\n--------------------\n` + + event.prelims.join("\n") + + "\n"; + } + if (event.earlyPrelims.length) { + let earlyPrelimsTime = new Date( + parseInt(event.earlyPrelimsTime) * 1000 + ); + let hoursAgo = (date - earlyPrelimsTime) / 1000 / 60 / 60; + description += + `\nEarly Prelims (${hoursAgo} hrs before Main)\n--------------------\n` + + event.earlyPrelims.join("\n") + + "\n"; + } description += "\n" + event.url; description += "\n\nAccurate as of " + dateTimestr; diff --git a/scrape.js b/scrape.js index dc12b016..1dd86e20 100644 --- a/scrape.js +++ b/scrape.js @@ -46,6 +46,12 @@ async function getDetailsFromEventLink(url) { let date = root .querySelector(".c-hero__headline-suffix") .getAttribute("data-timestamp"); + let prelimsTime = root + .querySelector("#prelims-card .c-event-fight-card-broadcaster__time") + ?.getAttribute("data-timestamp"); + let earlyPrelimsTime = root + .querySelector("#early-prelims .c-event-fight-card-broadcaster__time") + ?.getAttribute("data-timestamp"); let location = root @@ -55,6 +61,7 @@ async function getDetailsFromEventLink(url) { let fightCard = []; let mainCard = root.querySelectorAll("#main-card .l-listing__item"); let prelims = []; + let earlyPrelims = []; /** * Helper function to return the string of a fight given its DOM list item @@ -125,12 +132,14 @@ async function getDetailsFromEventLink(url) { if (mainCard.length) { // Main card has been announced, extract prelims prelims = root.querySelectorAll("#prelims-card .l-listing__item"); + earlyPrelims = root.querySelectorAll("#early-prelims .l-listing__item"); console.log("Main card length:", mainCard.length); console.log("Prelims length:", prelims.length); mainCard = mainCard.map(convertLiToStr); prelims = prelims.map(convertLiToStr); + earlyPrelims = earlyPrelims.map(convertLiToStr); } else { // Main card has not been announced, extract entire fight card fightCard = root.querySelectorAll( @@ -153,6 +162,9 @@ async function getDetailsFromEventLink(url) { fightCard, mainCard, prelims, + earlyPrelims, + prelimsTime, + earlyPrelimsTime, }; return details; } catch (error) {