mirror of
https://github.com/iptv-org/epg.git
synced 2025-05-10 00:50:09 -04:00
Update save-results.js
This commit is contained in:
parent
309294988b
commit
e6fbc34aab
3 changed files with 51 additions and 50 deletions
|
@ -6,7 +6,7 @@ const LOGS_DIR = process.env.LOGS_DIR || 'scripts/logs'
|
|||
async function main() {
|
||||
const errorsLog = `${LOGS_DIR}/errors.log`
|
||||
await file.create(errorsLog)
|
||||
await db.channels.load()
|
||||
await db.queue.load()
|
||||
await db.programs.load()
|
||||
await db.programs.reset()
|
||||
const files = await file.list(`${LOGS_DIR}/load-cluster/cluster_*.log`)
|
||||
|
@ -32,12 +32,10 @@ async function main() {
|
|||
})
|
||||
await db.programs.insert(programs)
|
||||
|
||||
if (result.channel.logo) {
|
||||
await db.channels.update(
|
||||
await db.queue.update(
|
||||
{ _id: result.channel._id },
|
||||
{ $set: { logo: result.channel.logo, programCount: result.programs.length } }
|
||||
{ $set: { programCount: result.programs.length } }
|
||||
)
|
||||
}
|
||||
|
||||
if (result.error) {
|
||||
await file.append(
|
||||
|
@ -48,7 +46,7 @@ async function main() {
|
|||
}
|
||||
}
|
||||
|
||||
await db.channels.compact()
|
||||
await db.queue.compact()
|
||||
}
|
||||
|
||||
main()
|
||||
|
|
23
tests/__data__/expected/database/programs.db
Normal file
23
tests/__data__/expected/database/programs.db
Normal file
|
@ -0,0 +1,23 @@
|
|||
{"title":"InfoNeu ","description":null,"category":null,"season":null,"episode":null,"icon":null,"channel":"AndorraTV.ad","lang":"ca","start":1641711600,"stop":1641715200,"site":"chaines-tv.orange.fr","_cid":"0Wefq0oMR3feCcuY","_id":"6AzYe7lqcSN05ZUq"}
|
||||
{"title":"Club Piolet","description":null,"category":null,"season":null,"episode":null,"icon":null,"channel":"AndorraTV.ad","lang":"ca","start":1641715200,"stop":1641718800,"site":"chaines-tv.orange.fr","_cid":"0Wefq0oMR3feCcuY","_id":"5vmbOpGwkj1Dc8FJ"}
|
||||
{"title":"InfoNeu ","description":null,"category":null,"season":null,"episode":null,"icon":null,"channel":"AndorraTV.ad","lang":"ca","start":1641718800,"stop":1641729600,"site":"chaines-tv.orange.fr","_cid":"0Wefq0oMR3feCcuY","_id":"ThxnjcPz8zOuRZuF"}
|
||||
{"title":"Andorra Actualitat (RNA)","description":null,"category":null,"season":null,"episode":null,"icon":null,"channel":"AndorraTV.ad","lang":"ca","start":1641729600,"stop":1641730800,"site":"chaines-tv.orange.fr","_cid":"0Wefq0oMR3feCcuY","_id":"p8kQkIzlX2ebpIfN"}
|
||||
{"title":"El Trànsit","description":null,"category":null,"season":null,"episode":null,"icon":null,"channel":"AndorraTV.ad","lang":"ca","start":1641730800,"stop":1641732000,"site":"chaines-tv.orange.fr","_cid":"0Wefq0oMR3feCcuY","_id":"DYZHd71eCvOl49jT"}
|
||||
{"title":"El Trànsit","description":null,"category":null,"season":null,"episode":null,"icon":null,"channel":"AndorraTV.ad","lang":"ca","start":1641732000,"stop":1641732300,"site":"chaines-tv.orange.fr","_cid":"0Wefq0oMR3feCcuY","_id":"EkIqGqryukUIkwLg"}
|
||||
{"title":"Informatiu migdia","description":null,"category":null,"season":null,"episode":null,"icon":null,"channel":"AndorraTV.ad","lang":"ca","start":1641732300,"stop":1641733800,"site":"chaines-tv.orange.fr","_cid":"0Wefq0oMR3feCcuY","_id":"ILpRjp36kwPoEG03"}
|
||||
{"title":"El Trànsit","description":null,"category":null,"season":null,"episode":null,"icon":null,"channel":"AndorraTV.ad","lang":"ca","start":1641733800,"stop":1641736200,"site":"chaines-tv.orange.fr","_cid":"0Wefq0oMR3feCcuY","_id":"dqKxildlF1bMGLrU"}
|
||||
{"title":"La Terre vue du Sport","description":null,"category":null,"season":null,"episode":null,"icon":null,"channel":"AndorraTV.ad","lang":"ca","start":1641736200,"stop":1641736800,"site":"chaines-tv.orange.fr","_cid":"0Wefq0oMR3feCcuY","_id":"gGgrefSDo9Gqlfy2"}
|
||||
{"title":"Informatiu migdia","description":null,"category":null,"season":null,"episode":null,"icon":null,"channel":"AndorraTV.ad","lang":"ca","start":1641736800,"stop":1641738300,"site":"chaines-tv.orange.fr","_cid":"0Wefq0oMR3feCcuY","_id":"LSDJTeJ2L9PUcgEM"}
|
||||
{"title":"Club Piolet","description":null,"category":null,"season":null,"episode":null,"icon":null,"channel":"AndorraTV.ad","lang":"ca","start":1641738300,"stop":1641741900,"site":"chaines-tv.orange.fr","_cid":"0Wefq0oMR3feCcuY","_id":"c5jmzbB2jGzY3aY3"}
|
||||
{"title":"Informatiu migdia","description":null,"category":null,"season":null,"episode":null,"icon":null,"channel":"AndorraTV.ad","lang":"ca","start":1641741900,"stop":1641743400,"site":"chaines-tv.orange.fr","_cid":"0Wefq0oMR3feCcuY","_id":"j9pYfk5wvqBTSFUf"}
|
||||
{"title":"El Trànsit","description":null,"category":null,"season":null,"episode":null,"icon":null,"channel":"AndorraTV.ad","lang":"ca","start":1641743400,"stop":1641750900,"site":"chaines-tv.orange.fr","_cid":"0Wefq0oMR3feCcuY","_id":"eb91kjF1CeJh52Oy"}
|
||||
{"title":"La rotonda","description":null,"category":null,"season":null,"episode":null,"icon":null,"channel":"AndorraTV.ad","lang":"ca","start":1641750900,"stop":1641753600,"site":"chaines-tv.orange.fr","_cid":"0Wefq0oMR3feCcuY","_id":"NTNNjmk2r6uTVIBz"}
|
||||
{"title":"Club Piolet","description":null,"category":null,"season":null,"episode":null,"icon":null,"channel":"AndorraTV.ad","lang":"ca","start":1641753600,"stop":1641757200,"site":"chaines-tv.orange.fr","_cid":"0Wefq0oMR3feCcuY","_id":"5ulSbWY45V6krNjX"}
|
||||
{"title":"El Trànsit","description":null,"category":null,"season":null,"episode":null,"icon":null,"channel":"AndorraTV.ad","lang":"ca","start":1641757200,"stop":1641757500,"site":"chaines-tv.orange.fr","_cid":"0Wefq0oMR3feCcuY","_id":"Eh3UMow3zKnqz8mq"}
|
||||
{"title":"Informatiu vespre","description":null,"category":null,"season":null,"episode":null,"icon":null,"channel":"AndorraTV.ad","lang":"ca","start":1641757500,"stop":1641759000,"site":"chaines-tv.orange.fr","_cid":"0Wefq0oMR3feCcuY","_id":"P3Fce8tELLKRN4Wu"}
|
||||
{"title":"Recull setmanal","description":null,"category":null,"season":null,"episode":null,"icon":null,"channel":"AndorraTV.ad","lang":"ca","start":1641759000,"stop":1641761100,"site":"chaines-tv.orange.fr","_cid":"0Wefq0oMR3feCcuY","_id":"BmcYIFHG15JCrdKs"}
|
||||
{"title":"Memòries d'arxiu: 10 anys d'ATV","description":null,"category":null,"season":null,"episode":null,"icon":null,"channel":"AndorraTV.ad","lang":"ca","start":1641761100,"stop":1641763800,"site":"chaines-tv.orange.fr","_cid":"0Wefq0oMR3feCcuY","_id":"1ZbtgoH47f297xyb"}
|
||||
{"title":"El cafè dels matins","description":null,"category":null,"season":null,"episode":null,"icon":null,"channel":"AndorraTV.ad","lang":"ca","start":1641763800,"stop":1641766800,"site":"chaines-tv.orange.fr","_cid":"0Wefq0oMR3feCcuY","_id":"Zrrg7bLwvjMe0jqb"}
|
||||
{"title":"La Terre vue du Sport","description":null,"category":null,"season":null,"episode":null,"icon":null,"channel":"AndorraTV.ad","lang":"ca","start":1641766800,"stop":1641767400,"site":"chaines-tv.orange.fr","_cid":"0Wefq0oMR3feCcuY","_id":"Q5qBBURrSryIIS2V"}
|
||||
{"title":"Informatiu vespre","description":null,"category":null,"season":null,"episode":null,"icon":null,"channel":"AndorraTV.ad","lang":"ca","start":1641767400,"stop":1641772800,"site":"chaines-tv.orange.fr","_cid":"0Wefq0oMR3feCcuY","_id":"yEMHeWXc4Si9sGb1"}
|
||||
{"title":"Àrea Andorra Difusió","description":null,"category":null,"season":null,"episode":null,"icon":null,"channel":"AndorraTV.ad","lang":"ca","start":1641772800,"stop":1641776400,"site":"chaines-tv.orange.fr","_cid":"0Wefq0oMR3feCcuY","_id":"vPe2XXH6Knru6zzL"}
|
|
@ -8,8 +8,8 @@ beforeEach(() => {
|
|||
fs.mkdirSync('tests/__data__/output/database', { recursive: true })
|
||||
|
||||
fs.copyFileSync(
|
||||
'tests/__data__/input/database/channels.db',
|
||||
'tests/__data__/output/database/channels.db'
|
||||
'tests/__data__/input/database/queue.db',
|
||||
'tests/__data__/output/database/queue.db'
|
||||
)
|
||||
|
||||
const stdout = execSync(
|
||||
|
@ -18,55 +18,35 @@ beforeEach(() => {
|
|||
)
|
||||
})
|
||||
|
||||
it('can save results', () => {
|
||||
const programs = content('tests/__data__/output/database/programs.db')
|
||||
it('can save programs to database', () => {
|
||||
let output = content('tests/__data__/output/database/programs.db')
|
||||
let expected = content('tests/__data__/expected/database/programs.db')
|
||||
|
||||
expect(Object.keys(programs[0]).sort()).toEqual([
|
||||
'_cid',
|
||||
'_id',
|
||||
'category',
|
||||
'channel',
|
||||
'description',
|
||||
'episode',
|
||||
'icon',
|
||||
'lang',
|
||||
'season',
|
||||
'site',
|
||||
'start',
|
||||
'stop',
|
||||
'title'
|
||||
])
|
||||
|
||||
expect(programs[0]).toMatchObject({
|
||||
_cid: '0Wefq0oMR3feCcuY'
|
||||
output = output.map(i => {
|
||||
i._id = null
|
||||
return i
|
||||
})
|
||||
expected = expected.map(i => {
|
||||
i._id = null
|
||||
return i
|
||||
})
|
||||
|
||||
const channels = content('tests/__data__/output/database/channels.db')
|
||||
expect(output).toEqual(expected)
|
||||
})
|
||||
|
||||
expect(Object.keys(channels[0]).sort()).toEqual([
|
||||
'_id',
|
||||
'channelsPath',
|
||||
'cluster_id',
|
||||
'configPath',
|
||||
'country',
|
||||
'groups',
|
||||
'lang',
|
||||
'logo',
|
||||
'name',
|
||||
'programCount',
|
||||
'site',
|
||||
'site_id',
|
||||
'xmltv_id'
|
||||
])
|
||||
it('can update queue', () => {
|
||||
const output = content('tests/__data__/output/database/queue.db')
|
||||
|
||||
expect(channels[1]).toMatchObject({
|
||||
expect(output[1]).toMatchObject({
|
||||
_id: '0Wefq0oMR3feCcuY',
|
||||
logo: 'https://example.com/logo.png'
|
||||
programCount: 23
|
||||
})
|
||||
})
|
||||
|
||||
const errors = content('tests/__data__/input/logs/errors.log')
|
||||
it('can save errors', () => {
|
||||
const output = content('tests/__data__/input/logs/errors.log')
|
||||
|
||||
expect(errors[0]).toMatchObject({
|
||||
expect(output[0]).toMatchObject({
|
||||
_id: '00AluKCrCnfgrl8W',
|
||||
site: 'directv.com',
|
||||
xmltv_id: 'BravoEast.us',
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue