mirror of
https://github.com/comatory/fb2iCal
synced 2025-06-05 22:09:25 +02:00
add fallback time for unknown start date
This commit is contained in:
@ -2,23 +2,18 @@ const cheerio = require('cheerio')
|
|||||||
const dayjs = require('dayjs')
|
const dayjs = require('dayjs')
|
||||||
const { parseDates } = require('../parser-utils')
|
const { parseDates } = require('../parser-utils')
|
||||||
|
|
||||||
const parseDate = (timeText) => {
|
const parseDate = (timeText = '') => {
|
||||||
const parts = timeText.split('at')
|
const parts = timeText.split('at')
|
||||||
const datePart = parts[0] || null
|
const datePart = parts[0] || null
|
||||||
const timePart = parts[1] || null
|
const timePart = parts[1] || null
|
||||||
|
|
||||||
if (!datePart) {
|
|
||||||
return {
|
|
||||||
start: null,
|
|
||||||
duration: null,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
const rangeTimeParts = timePart ? timePart.split('–') : []
|
const rangeTimeParts = timePart ? timePart.split('–') : []
|
||||||
const startTimePart = `${datePart || ''}${rangeTimeParts[0] || ''}`
|
const startTimePart = `${datePart || ''}${rangeTimeParts[0] || ''}`
|
||||||
const endTimePart = `${datePart || ''}${rangeTimeParts[1] || ''}`
|
const endTimePart = `${datePart || ''}${rangeTimeParts[1] || ''}`
|
||||||
|
|
||||||
const startTime = dayjs(startTimePart)
|
const startTime = startTimePart ?
|
||||||
|
dayjs(startTimePart) :
|
||||||
|
dayjs(new Date())
|
||||||
const endTime = dayjs(endTimePart)
|
const endTime = dayjs(endTimePart)
|
||||||
|
|
||||||
const normalizedStartTime = startTime.isValid() ? startTime : dayjs(new Date())
|
const normalizedStartTime = startTime.isValid() ? startTime : dayjs(new Date())
|
||||||
|
@ -3,7 +3,9 @@ const dayjs = require('dayjs')
|
|||||||
const { parseDates } = require('../parser-utils')
|
const { parseDates } = require('../parser-utils')
|
||||||
|
|
||||||
const parseEventData = (eventData) => {
|
const parseEventData = (eventData) => {
|
||||||
const startDate = eventData.startDate && dayjs(eventData.startDate)
|
const startDate = eventData.startDate ?
|
||||||
|
dayjs(eventData.startDate) :
|
||||||
|
dayjs(new Date())
|
||||||
const endDate = eventData.endDate && dayjs(eventData.endDate)
|
const endDate = eventData.endDate && dayjs(eventData.endDate)
|
||||||
const { start, duration } = parseDates(startDate, endDate)
|
const { start, duration } = parseDates(startDate, endDate)
|
||||||
const { location } = eventData || {}
|
const { location } = eventData || {}
|
||||||
|
Reference in New Issue
Block a user