Update update-guides.js

This commit is contained in:
Aleksandr Statciuk 2022-01-19 02:28:46 +03:00
parent 76b15335b1
commit 13c133b329
5 changed files with 73 additions and 48 deletions

View file

@ -77,6 +77,8 @@ async function loadPrograms() {
stop: program.stop,
site: program.site,
country: program.country,
season: program.season,
episode: program.episode,
gid: program.gid,
_id: program._id
}

View file

@ -1,3 +1,4 @@
const _ = require('lodash')
const dayjs = require('dayjs')
const utc = require('dayjs/plugin/utc')
dayjs.extend(utc)
@ -37,6 +38,17 @@ xml.create = function ({ channels, programs }) {
output += `<category lang="${category.lang}">${escapeString(category.value)}</category>`
})
if (program.season && program.episode) {
const episodeNum = {
xmltv_ns: createXMLTVNS(program.season, program.episode),
onscreen: createOnScreen(program.season, program.episode)
}
for (const [system, value] of Object.entries(episodeNum)) {
output += `<episode-num system="${system}">${value}</episode-num>`
}
}
if (program.image) output += `<icon src="${escapeString(program.image)}"/>`
output += '</programme>\n'
@ -77,3 +89,14 @@ function escapeString(string, defaultValue = '') {
.replace(/ +/g, ' ')
.trim()
}
function createXMLTVNS(s, e) {
return `${s - 1}.${e - 1}.0/1`
}
function createOnScreen(s, e) {
s = _.padStart(s, 2, '0')
e = _.padStart(e, 2, '0')
return `S${s}E${e}`
}