Update meo.pt.config.js

This commit is contained in:
Aleksandr Statciuk 2022-12-01 21:30:39 +03:00
parent 1cb8832703
commit 0376ca99d9

View file

@ -24,30 +24,36 @@ module.exports = {
}, },
parser({ content }) { parser({ content }) {
let programs = [] let programs = []
const data = parseContent(content) const items = parseItems(content)
const items = data.d.channels[0] ? data.d.channels[0].programs : []
if (!items.length) return programs
items.forEach(item => { items.forEach(item => {
const title = item.name const start = parseStart(item)
const localStart = dayjs.utc(`${item.date}/${item.timeIni}`, 'D-M-YYYY/HH:mm') let stop = parseStop(item)
const start = dayjs.tz(localStart.toString(), 'Europe/Lisbon').toString() if (stop.isBefore(start)) {
const localStop = dayjs.utc(`${item.date}/${item.timeEnd}`, 'D-M-YYYY/HH:mm') stop = stop.add(1, 'd')
const stop = dayjs.tz(localStop.toString(), 'Europe/Lisbon').toString()
if (title && start && stop) {
programs.push({
title,
start,
stop
})
} }
programs.push({
title: item.name,
start,
stop
})
}) })
return programs return programs
} }
} }
function parseContent(content) { function parseStart(item) {
return JSON.parse(content) return dayjs.tz(`${item.date} ${item.timeIni}`, 'D-M-YYYY HH:mm', 'Europe/Lisbon')
}
function parseStop(item) {
return dayjs.tz(`${item.date} ${item.timeEnd}`, 'D-M-YYYY HH:mm', 'Europe/Lisbon')
}
function parseItems(content) {
if (!content) return []
const data = JSON.parse(content)
const programs = data?.d?.channels?.[0]?.programs
return Array.isArray(programs) ? programs : []
} }