From 585e7ef434e45067ad2cd9fbdbfa6fd99483d7ac Mon Sep 17 00:00:00 2001 From: Aleksandr Statciuk Date: Mon, 29 Aug 2022 19:37:25 +0300 Subject: [PATCH] Update astro.com.my.config.js --- sites/astro.com.my/astro.com.my.config.js | 37 ++++++++++++++--------- 1 file changed, 22 insertions(+), 15 deletions(-) diff --git a/sites/astro.com.my/astro.com.my.config.js b/sites/astro.com.my/astro.com.my.config.js index da05dc49..5b448ae5 100644 --- a/sites/astro.com.my/astro.com.my.config.js +++ b/sites/astro.com.my/astro.com.my.config.js @@ -7,25 +7,32 @@ module.exports = { url: function ({ channel }) { return `https://contenthub-api.eco.astro.com.my/channel/${channel.site_id}.json` }, - parser: function ({ content }) { + parser: function ({ content, date }) { const programs = [] + const items = parseItems(content, date) + items.forEach(item => { + const start = dayjs.utc(item.datetimeInUtc) + const duration = parseDuration(item.duration) + const stop = start.add(duration, 's') + programs.push({ + title: item.title, + start: start, + stop: stop + }) + }) + + return programs + } +} + +function parseItems(content, date) { + try { const data = JSON.parse(content) const schedules = data.response.schedule - for(let items of Object.values(schedules)){ - items.forEach(item => { - const start = dayjs.utc(item.datetimeInUtc) - const duration = parseDuration(item.duration) - const stop = start.add(duration, 's') - programs.push({ - title: item.title, - start: start, - stop: stop - }) - }) - - } - return programs + return schedules[date.format('YYYY-MM-DD')] || [] + } catch (e) { + return [] } }