mirror of
https://github.com/iptv-org/epg
synced 2026-09-12 14:56:51 -04:00
Add Freeview description
This commit is contained in:
@@ -14,21 +14,24 @@ module.exports = {
|
||||
|
||||
return `https://www.freeview.co.uk/api/tv-guide?nid=${networkId}&start=${startTimestamp}`
|
||||
},
|
||||
parser({ content, channel }) {
|
||||
async parser({ content, channel }) {
|
||||
let programs = []
|
||||
let items = parseItems(content, channel)
|
||||
items.forEach(item => {
|
||||
for (const item of items) {
|
||||
const start = parseStart(item)
|
||||
const duration = parseDuration(item.duration)
|
||||
const stop = start.add(duration, 'ms')
|
||||
const details = await loadProgramDetails(item)
|
||||
const synopsis = details?.synopsis
|
||||
programs.push({
|
||||
title: item.main_title,
|
||||
subtitle: item.secondary_title,
|
||||
description: synopsis?.long || synopsis?.medium || synopsis?.short || null,
|
||||
image: parseImage(item),
|
||||
start,
|
||||
stop
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
return programs
|
||||
},
|
||||
@@ -71,3 +74,15 @@ function parseItems(content, channel) {
|
||||
return []
|
||||
}
|
||||
}
|
||||
|
||||
async function loadProgramDetails(item) {
|
||||
const url = `https://www.freeview.co.uk/api/program?pid=${item.program_id}&start_time=${item.start_time}&duration=${item.duration}`
|
||||
const data = await axios
|
||||
.get(url)
|
||||
.then(r => {
|
||||
const programs = r?.data?.data?.programs
|
||||
return Array.isArray(programs) && programs.length > 0 ? programs[0] : {}
|
||||
})
|
||||
.catch(console.log)
|
||||
return data || {}
|
||||
}
|
||||
Reference in New Issue
Block a user