epg/sites/tv.cctv.com.config.js
2021-09-22 19:47:23 +03:00

47 lines
999 B
JavaScript

const dayjs = require('dayjs')
module.exports = {
lang: 'cn',
days: 3,
request: {
timeout: 10000
},
site: 'tv.cctv.com',
channels: 'tv.cctv.com.channels.xml',
output: '.gh-pages/guides/tv.cctv.com.guide.xml',
url({ channel, date }) {
return `https://api.cntv.cn/epg/getEpgInfoByChannelNew?serviceId=tvcctv&c=${
channel.site_id
}&d=${date.format('YYYYMMDD')}`
},
parser({ content, channel }) {
const programs = []
const items = parseItems(content, channel)
items.forEach(item => {
const title = item.title
const start = parseStart(item)
const stop = parseStop(item)
programs.push({
title,
start,
stop
})
})
return programs
}
}
function parseStop(item) {
return dayjs.unix(item.endTime)
}
function parseStart(item) {
return dayjs.unix(item.startTime)
}
function parseItems(content, channel) {
const data = JSON.parse(content)
return data.data[channel.site_id].list || []
}