From 3c425a5ac68164b1a21961c8c19e765bd0d49e9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B8rgen=20Sverre=20Lien=20Sell=C3=A6g?= Date: Sun, 8 Nov 2020 02:11:45 +0100 Subject: [PATCH] getting fairly clean now --- src/browse.js | 6 +++--- src/scrape.js | 12 +++++------- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/src/browse.js b/src/browse.js index 1ddfa17..698d4fd 100644 --- a/src/browse.js +++ b/src/browse.js @@ -20,7 +20,7 @@ const open_browser = async ({ headless }) => { const register_page_scraper = (endpoint, page, past_events = false) => { let responses = []; - return new Promise((resolve, reject) => { + return new Promise((resolve) => { page.on('response', async (response) => { if (endpoint === response.request().url()) { let json = {}; @@ -47,7 +47,7 @@ const register_page_scraper = (endpoint, page, past_events = false) => { }); }; -const get_page_events = async (page_id, opt) => { +const get_page_events = async (opt) => { const browser = await open_browser(opt); const facebook_page = await browser.newPage(); @@ -88,7 +88,7 @@ const get_page_events = async (page_id, opt) => { upcoming_events = Promise.resolve([]); } - await facebook_page.goto(page_id); + await facebook_page.goto(opt.page_id); await facebook_page.waitFor(2000); const accept_buttons = await facebook_page.$x( "//button[contains(text(), 'Accept All')]", diff --git a/src/scrape.js b/src/scrape.js index a6a2cc5..cb010eb 100644 --- a/src/scrape.js +++ b/src/scrape.js @@ -5,7 +5,6 @@ const { read_previous_events, to_unique_events, } = require('./logic'); - const { get_page_events } = require('./browse'); const options = parse_args(process.argv.slice(2)); @@ -17,17 +16,16 @@ const options = parse_args(process.argv.slice(2)); try { events = await get_page_events(options); prev_events = await read_previous_events(options.events); + events = events + .reduce(to_unique_events, prev_events) + .map(event_date_to_date_obj) + .sort(by_date); } catch (e) { console.error(e); } - let all_events = events - .reduce(to_unique_events, prev_events) - .map(event_date_to_date_obj) - .sort(by_date); - if (options.output === null) { - console.log(JSON.stringify(all_events)); + console.log(JSON.stringify(events)); process.exit(); } })();