Update playlist/update.js

This commit is contained in:
Aleksandr Statciuk 2022-02-12 04:05:31 +03:00
parent 004a736297
commit e2046899e9
3 changed files with 17 additions and 13 deletions

View File

@ -5,15 +5,16 @@ const _ = require('lodash')
async function main() { async function main() {
await db.streams.load() await db.streams.load()
let items = await db.streams let streams = await db.streams.find({})
.find({}) streams = orderBy(
.sort({ name: 1, 'status.level': 1, 'resolution.height': -1, url: 1 }) streams,
const files = _.groupBy(items, 'filepath') ['channel_name', i => i.status.level, i => i.resolution.height, 'url'],
['asc', 'asc', 'desc', 'asc']
)
const files = _.groupBy(streams, 'filepath')
for (const filepath in files) { for (const filepath in files) {
let items = files[filepath] const playlist = createPlaylist(files[filepath], { public: false })
items = orderBy(items, ['channel_name'], ['asc'])
const playlist = createPlaylist(items, { public: false })
await file.create(filepath, playlist.toString()) await file.create(filepath, playlist.toString())
} }
} }

View File

@ -1,5 +1,5 @@
#EXTM3U #EXTM3U
#EXTINF:-1 tvg-id="AndorraTV.ad",Andorra TV (720p) [Not 24/7] #EXTINF:-1 tvg-id="BBCNews.uk",BBC News HD (480p) [Geo-blocked]
http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index.m3u8 http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/playlist.m3u8
#EXTINF:-1 tvg-id="BBCNews.uk",BBC News HD (720p) [Not 24/7] #EXTINF:-1 tvg-id="BBCNews.uk",BBC News HD (720p) [Not 24/7]
https://query-streamlink.herokuapp.com/iptv-query?streaming-ip=https://www.twitch.tv/absliveantigua3/ http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index.m3u8

View File

@ -1,13 +1,16 @@
const { execSync } = require('child_process')
const fs = require('fs-extra') const fs = require('fs-extra')
const path = require('path') const path = require('path')
const glob = require('glob') const glob = require('glob')
const { execSync } = require('child_process')
beforeEach(() => { beforeEach(() => {
fs.emptyDirSync('tests/__data__/output') fs.emptyDirSync('tests/__data__/output')
fs.copyFileSync('tests/__data__/input/database/streams.db', 'tests/__data__/output/streams.db') fs.copyFileSync(
'tests/__data__/input/database/playlist_update.streams.db',
'tests/__data__/output/streams.db'
)
const stdout = execSync('DB_DIR=tests/__data__/output node scripts/commands/playlist/update.js', { const stdout = execSync('DB_DIR=tests/__data__/output npm run playlist:update', {
encoding: 'utf8' encoding: 'utf8'
}) })
}) })