1
0
mirror of https://github.com/comatory/fb2iCal synced 2025-06-05 22:09:25 +02:00

add specs for ICS retriever

This commit is contained in:
Ondřej Synáček
2020-07-16 16:37:20 +02:00
parent 8458ae0b69
commit 456eaa1fbc
3 changed files with 143 additions and 14 deletions

View File

@@ -5,22 +5,18 @@ const generateICS = require('./ics-generator')
const { createParserError, getNormalizedUrl } = require('../utils')
const retrieveICS = async (URLparameter, { logger }) => {
try {
const url = getNormalizedUrl(URLparameter)
const html = await crawl(url, { logger })
const LDJSONEventData = parseUsingLDJSONData(html, { logger })
const eventData = LDJSONEventData || parseUsingDOM(html, url, { logger })
const url = getNormalizedUrl(URLparameter)
const html = await crawl(url, { logger })
const LDJSONEventData = parseUsingLDJSONData(html, { logger })
const eventData = LDJSONEventData || parseUsingDOM(html, url, { logger })
if (!eventData) {
throw createParserError()
return
}
const icsFile = await generateICS(eventData)
return icsFile
} catch (err) {
throw err
if (!eventData) {
throw createParserError()
return
}
const icsContent = await generateICS(eventData)
return icsContent
}
module.exports = retrieveICS