Update scripts

This commit is contained in:
freearhey 2023-11-01 05:38:07 +03:00
parent e0a2cb295a
commit 62fac80172
6 changed files with 27 additions and 5 deletions

View file

@ -13,7 +13,7 @@ async function main() {
let streams = await parser.parse(files)
streams = streams
.map(data => new Stream(data))
.orderBy((stream: Stream) => stream.channel)
.orderBy([(stream: Stream) => stream.channel, (stream: Stream) => stream.timeshift])
.map((stream: Stream) => stream.toJSON())
logger.info(`found ${streams.count()} streams`)

View file

@ -37,7 +37,7 @@ async function main() {
logger.info('loading streams...')
let streams = await loadStreams({ channels, categories, languages })
let totalStreams = streams.count()
streams = streams.uniqBy((stream: Stream) => stream.channel || _.uniqueId())
streams = streams.uniqBy((stream: Stream) => (stream.channel || _.uniqueId()) + stream.timeshift)
logger.info(`found ${totalStreams} streams (including ${streams.count()} unique)`)
const generatorsLogger = new Logger({
@ -104,7 +104,15 @@ async function loadStreams({
let streams = await parser.parse(files)
streams = streams
.orderBy([(stream: Stream) => stream.channel, (stream: Stream) => stream.url], ['asc', 'asc'])
.orderBy(
[
(stream: Stream) => stream.channel,
(stream: Stream) => stream.timeshift,
(stream: Stream) => parseInt(stream.quality.replace('p', '')),
(stream: Stream) => stream.label
],
['asc', 'asc', 'desc', 'asc']
)
.map((stream: Stream) => {
const channel: Channel | undefined = groupedChannels.get(stream.channel)

View file

@ -90,6 +90,7 @@ async function editStreams(loader: IssueLoader) {
if (data.has('channel_name')) stream.name = data.get('channel_name')
if (data.has('label')) stream.label = data.get('label')
if (data.has('quality')) stream.quality = data.get('quality')
if (data.has('timeshift')) stream.timeshift = data.get('timeshift')
if (data.has('user_agent')) stream.userAgent = data.get('user_agent')
if (data.has('http_referrer')) stream.httpReferrer = data.get('http_referrer')
if (data.has('channel_name')) stream.name = data.get('channel_name')
@ -114,6 +115,7 @@ async function addStreams(loader: IssueLoader) {
url: data.get('stream_url'),
label: data.get('label'),
quality: data.get('quality'),
timeshift: data.get('timeshift'),
userAgent: data.get('user_agent'),
httpReferrer: data.get('http_referrer'),
filepath: `${channel.country.toLowerCase()}.m3u`,