Update format.js

This commit is contained in:
Aleksandr Statciuk 2021-08-10 17:06:22 +03:00
parent 2a60612103
commit 270557388e
1 changed files with 15 additions and 4 deletions

View File

@ -1,4 +1,5 @@
const IPTVChecker = require('iptv-checker') const IPTVChecker = require('iptv-checker')
const normalize = require('normalize-url')
const { program } = require('commander') const { program } = require('commander')
const ProgressBar = require('progress') const ProgressBar = require('progress')
const parser = require('./helpers/parser') const parser = require('./helpers/parser')
@ -61,6 +62,9 @@ async function updatePlaylist(playlist) {
for (const channel of playlist.channels) { for (const channel of playlist.channels) {
addMissingData(channel) addMissingData(channel)
updateGroupTitle(channel)
normalizeUrl(channel)
const checkOnline = config.status || config.resolution const checkOnline = config.status || config.resolution
const skipChannel = const skipChannel =
channel.status && channel.status &&
@ -119,25 +123,32 @@ function updateStatus(channel, status) {
} }
function addMissingData(channel) { function addMissingData(channel) {
// add tvg-name // tvg-name
if (!channel.tvg.name && channel.name) { if (!channel.tvg.name && channel.name) {
channel.tvg.name = channel.name.replace(/\"/gi, '') channel.tvg.name = channel.name.replace(/\"/gi, '')
} }
// add tvg-id // tvg-id
if (!channel.tvg.id && channel.tvg.name) { if (!channel.tvg.id && channel.tvg.name) {
const id = utils.name2id(channel.tvg.name) const id = utils.name2id(channel.tvg.name)
channel.tvg.id = id ? `${id}.${code}` : '' channel.tvg.id = id ? `${id}.${code}` : ''
} }
// add country // country
if (!channel.countries.length) { if (!channel.countries.length) {
const name = utils.code2name(code) const name = utils.code2name(code)
channel.countries = name ? [{ code, name }] : [] channel.countries = name ? [{ code, name }] : []
channel.tvg.country = channel.countries.map(c => c.code.toUpperCase()).join(';') channel.tvg.country = channel.countries.map(c => c.code.toUpperCase()).join(';')
} }
// update group-title }
function updateGroupTitle(channel) {
channel.group.title = channel.category channel.group.title = channel.category
} }
function normalizeUrl(channel) {
const normalized = normalize(channel.url, { stripWWW: false })
channel.updateUrl(normalized)
}
function updateResolution(channel, metadata) { function updateResolution(channel, metadata) {
const streams = metadata ? metadata.streams.filter(stream => stream.codec_type === 'video') : [] const streams = metadata ? metadata.streams.filter(stream => stream.codec_type === 'video') : []
if (!channel.resolution.height && streams.length) { if (!channel.resolution.height && streams.length) {