epg/scripts/commands/api/update.js
2022-11-06 07:20:16 +03:00

30 lines
809 B
JavaScript

const { file, parser, logger } = require('../../core')
const { program } = require('commander')
const _ = require('lodash')
const LOGS_DIR = process.env.LOGS_DIR || 'scripts/logs'
const OUTPUT_DIR = process.env.OUTPUT_DIR || '.api'
async function main() {
let guides = []
const logPath = `${LOGS_DIR}/guides/update.log`
const results = await parser.parseLogs(logPath)
for (const result of results) {
guides.push({
channel: result.channel,
site: result.site,
lang: result.lang,
url: `https://iptv-org.github.io/epg/guides/${result.filename}.xml`
})
}
guides = _.sortBy(guides, 'channel')
const outputFilepath = `${OUTPUT_DIR}/guides.json`
await file.create(outputFilepath, JSON.stringify(guides))
logger.info(`saved to "${outputFilepath}"...`)
}
main()