mirror of
https://github.com/iptv-org/epg.git
synced 2025-05-09 16:40:07 -04:00
Update update.js
This commit is contained in:
parent
1a8e256aab
commit
12ad4d2a58
1 changed files with 32 additions and 9 deletions
|
@ -9,13 +9,19 @@ const CURR_DATE = process.env.CURR_DATE || new Date()
|
||||||
|
|
||||||
const logPath = `${LOGS_DIR}/guides/update.log`
|
const logPath = `${LOGS_DIR}/guides/update.log`
|
||||||
|
|
||||||
|
let guides = []
|
||||||
|
let db_programs = []
|
||||||
|
|
||||||
async function main() {
|
async function main() {
|
||||||
logger.info(`starting...`)
|
logger.info(`starting...`)
|
||||||
|
|
||||||
logger.info('loading API data...')
|
logger.info('loading data/countries.json...')
|
||||||
await api.countries.load()
|
await api.countries.load()
|
||||||
|
logger.info('loading data/channels.json...')
|
||||||
await api.channels.load()
|
await api.channels.load()
|
||||||
|
logger.info('loading data/regions.json...')
|
||||||
await api.regions.load()
|
await api.regions.load()
|
||||||
|
logger.info('loading data/subdivisions.json...')
|
||||||
await api.subdivisions.load()
|
await api.subdivisions.load()
|
||||||
|
|
||||||
let countries = await api.countries.all()
|
let countries = await api.countries.all()
|
||||||
|
@ -31,7 +37,7 @@ async function main() {
|
||||||
|
|
||||||
logger.info('loading database/programs.db...')
|
logger.info('loading database/programs.db...')
|
||||||
await db.programs.load()
|
await db.programs.load()
|
||||||
let db_programs = await db.programs.find({})
|
db_programs = await db.programs.find({})
|
||||||
db_programs = db_programs
|
db_programs = db_programs
|
||||||
.map(p => {
|
.map(p => {
|
||||||
if (p.titles.length) {
|
if (p.titles.length) {
|
||||||
|
@ -45,9 +51,6 @@ async function main() {
|
||||||
.filter(Boolean)
|
.filter(Boolean)
|
||||||
logger.info(`found ${db_programs.length} programs`)
|
logger.info(`found ${db_programs.length} programs`)
|
||||||
|
|
||||||
logger.info(`creating ${logPath}...`)
|
|
||||||
await file.create(logPath)
|
|
||||||
|
|
||||||
for (let country of countries) {
|
for (let country of countries) {
|
||||||
let countryBroadcastCode = `c/${country.code}`
|
let countryBroadcastCode = `c/${country.code}`
|
||||||
let countryRegions = api_regions
|
let countryRegions = api_regions
|
||||||
|
@ -122,17 +125,20 @@ async function main() {
|
||||||
await file.create(jsonFilepath, JSON.stringify({ channels, programs }))
|
await file.create(jsonFilepath, JSON.stringify({ channels, programs }))
|
||||||
|
|
||||||
for (let channel of channels) {
|
for (let channel of channels) {
|
||||||
let result = {
|
guides.push({
|
||||||
country: country.code,
|
country: country.code,
|
||||||
lang: channel.lang,
|
lang: channel.lang,
|
||||||
site: channel.site,
|
site: channel.site,
|
||||||
channel: channel.id,
|
channel: channel.id,
|
||||||
filename
|
filename
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
await file.append(logPath, JSON.stringify(result) + '\r\n')
|
logger.info(`creating ${logPath}...`)
|
||||||
}
|
await file.create(logPath, guides.map(g => JSON.stringify(g)).join('\r\n'))
|
||||||
}
|
|
||||||
|
await makeReport()
|
||||||
}
|
}
|
||||||
|
|
||||||
main()
|
main()
|
||||||
|
@ -176,3 +182,20 @@ function calcScore(program) {
|
||||||
|
|
||||||
return score
|
return score
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async function makeReport() {
|
||||||
|
const errors = []
|
||||||
|
|
||||||
|
let programs = _.uniqBy(db_programs, p => p.site + p.channel)
|
||||||
|
for (let program of programs) {
|
||||||
|
if (!guides.find(g => g.channel === program.channel)) {
|
||||||
|
const channel = await api.channels.find({ id: program.channel })
|
||||||
|
errors.push({ type: 'no_guide', ...program, ...channel })
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
console.log()
|
||||||
|
logger.info(`report:`)
|
||||||
|
console.table(errors, ['type', 'site', 'lang', 'channel', 'broadcast_area', 'languages'])
|
||||||
|
logger.error(`found ${errors.length} error(s)`)
|
||||||
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue