mirror of
https://github.com/iptv-org/epg.git
synced 2025-05-10 00:50:09 -04:00
Merge branch 'patch-02.2022' into workflow-per-site
This commit is contained in:
commit
8d4e92370d
2 changed files with 15 additions and 6 deletions
|
@ -1,6 +1,6 @@
|
|||
const { db, file, parser, logger, date, api } = require('../core')
|
||||
const { program } = require('commander')
|
||||
const { shuffle } = require('lodash')
|
||||
const _ = require('lodash')
|
||||
|
||||
const options = program
|
||||
.option(
|
||||
|
@ -97,13 +97,18 @@ async function saveToDatabase(items = []) {
|
|||
logger.info('Saving to the database...')
|
||||
await db.queue.load()
|
||||
await db.queue.reset()
|
||||
const chunks = split(shuffle(items), options.maxClusters)
|
||||
let queue = []
|
||||
const chunks = split(_.shuffle(items), options.maxClusters)
|
||||
for (const [i, chunk] of chunks.entries()) {
|
||||
for (const item of chunk) {
|
||||
item.cluster_id = i + 1
|
||||
await db.queue.insert(item)
|
||||
queue.push(item)
|
||||
}
|
||||
}
|
||||
|
||||
queue = _.sortBy(queue, ['channel.xmltv_id', 'date'])
|
||||
|
||||
await db.queue.insert(queue)
|
||||
}
|
||||
|
||||
function split(arr, n) {
|
||||
|
|
|
@ -24,9 +24,11 @@ async function generateGuides() {
|
|||
for (const key in grouped) {
|
||||
const filepath = `${PUBLIC_DIR}/guides/${key}.epg.xml`
|
||||
const criticalErrors = []
|
||||
const channels = []
|
||||
let channels = {}
|
||||
let programs = []
|
||||
for (const item of grouped[key]) {
|
||||
if (channels[item.channel.xmltv_id]) continue
|
||||
|
||||
if (item.error) {
|
||||
const error = {
|
||||
xmltv_id: item.channel.xmltv_id,
|
||||
|
@ -65,17 +67,19 @@ async function generateGuides() {
|
|||
continue
|
||||
}
|
||||
|
||||
channels.push({
|
||||
channels[channel.id] = {
|
||||
xmltv_id: channel.id,
|
||||
name: channel.name,
|
||||
logo: channel.logo,
|
||||
site: item.channel.site
|
||||
})
|
||||
}
|
||||
|
||||
programs = programs.concat(itemPrograms)
|
||||
}
|
||||
}
|
||||
|
||||
channels = Object.values(channels)
|
||||
|
||||
logger.info(`Creating "${filepath}"...`)
|
||||
const output = grabber.convertToXMLTV({ channels, programs })
|
||||
await file.create(filepath, output)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue