From b6e2be62f71453b0d26d956de03791049dcd02ff Mon Sep 17 00:00:00 2001 From: Clarence Chan Date: Wed, 27 Sep 2023 00:14:47 -0400 Subject: [PATCH] Add console logs for more detailed reports --- index.js | 3 ++- scrape.js | 16 +++++++++++++--- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/index.js b/index.js index 344b3ded..fd1219ef 100644 --- a/index.js +++ b/index.js @@ -5,7 +5,7 @@ import { createEvents } from "ics"; async function createICS() { try { let events = await getAllDetailedEvents(); - if (!events.length) throw "No events retrieved"; + if (!events.length) throw new Error("No events retrieved"); let currentDateTime = new Date(); let dateTimestr = currentDateTime.toLocaleString("en-US", { @@ -53,6 +53,7 @@ async function createICS() { }; }); + console.log("\nDetailed events:"); console.log(events); writeFileSync(`UFC.ics`, createEvents(events).value); } catch (error) { diff --git a/scrape.js b/scrape.js index 173454ac..dcc836c6 100644 --- a/scrape.js +++ b/scrape.js @@ -11,6 +11,8 @@ async function getEventLinks() { links = links.map( (html) => "https://www.ufc.com" + html.firstChild.getAttribute("href") ); + console.log("\nEvent links found:"); + console.log(links); return links; } catch (error) { console.error(error); @@ -74,14 +76,23 @@ async function getDetailsFromEventLink(url) { return fightStr; } + console.log("\nGetting details from url:", url); + if (mainCard.length) { - mainCard = mainCard.map(convertLiToStr); prelims = root.querySelectorAll("#prelims-card .l-listing__item"); + + console.log("Main card length:", mainCard.length); + console.log("Prelims length:", prelims.length); + + mainCard = mainCard.map(convertLiToStr); prelims = prelims.map(convertLiToStr); } else { fightCard = root.querySelectorAll( ".l-listing__group--bordered .l-listing__item" ); + + console.log("Fight card length:", fightCard.length); + fightCard = fightCard.map(convertLiToStr); } @@ -97,7 +108,7 @@ async function getDetailsFromEventLink(url) { }; return details; } catch (error) { - console.error(error); + throw new Error("Failed to retrieve event: " + url + "\n" + error); } } @@ -107,7 +118,6 @@ async function getAllDetailedEvents() { events = await getEventLinks(); events = events.map(getDetailsFromEventLink); events = await Promise.all(events); - if (events.some((event) => !event)) throw "Failed to retrieve an event"; return events; } catch (error) { console.error(error);