Files
epg/scripts/commands/save-results.js

44 lines
1.2 KiB
JavaScript
Raw Normal View History

2022-01-09 18:15:38 +03:00
const { db, logger, file, parser } = require('../core')
const _ = require('lodash')
2022-01-09 20:14:41 +03:00
const LOGS_DIR = process.env.LOGS_DIR || 'scripts/logs'
2022-01-09 18:15:38 +03:00
async function main() {
2022-01-16 15:31:06 +03:00
await db.channels.load()
2022-01-15 18:21:51 +03:00
await db.programs.load()
2022-01-10 15:00:35 +03:00
await db.programs.reset()
2022-01-09 20:14:41 +03:00
const files = await file.list(`${LOGS_DIR}/load-cluster/cluster_*.log`)
2022-01-09 18:15:38 +03:00
for (const filepath of files) {
2022-01-15 16:59:03 +03:00
logger.info(`Parsing "${filepath}"...`)
2022-01-09 18:15:38 +03:00
const results = await parser.parseLogs(filepath)
2022-01-15 16:59:03 +03:00
for (const result of results) {
2022-01-16 15:31:06 +03:00
await db.channels.update({ _id: result._id }, { $set: { logo: result.logo } })
2022-01-12 13:27:27 +03:00
const programs = result.programs.map(program => {
2022-01-19 02:41:56 +03:00
return {
title: program.title,
description: program.description || null,
category: program.category || [],
season: program.season || null,
episode: program.episode || null,
icon: program.icon || null,
channel: program.channel,
lang: program.lang,
start: program.start,
stop: program.stop,
site: result.site,
country: result.country,
gid: result.gid
}
2022-01-09 18:15:38 +03:00
})
2022-01-15 16:59:03 +03:00
await db.programs.insert(programs)
}
2022-01-09 18:15:38 +03:00
}
2022-01-16 15:31:06 +03:00
await db.channels.compact()
2022-01-09 18:15:38 +03:00
}
main()