mirror of
https://github.com/iptv-org/epg.git
synced 2025-05-09 08:30:06 -04:00
Fixes channels:editor script
This commit is contained in:
parent
11856161c2
commit
6e2cc42bc6
5 changed files with 23 additions and 7 deletions
|
@ -17,7 +17,6 @@ const programOptions = program.opts()
|
|||
const defaultCountry = programOptions.country.toLowerCase()
|
||||
const newLabel = ` [new]`
|
||||
|
||||
let site: string
|
||||
let options = new Collection()
|
||||
|
||||
async function main() {
|
||||
|
@ -119,7 +118,7 @@ function save() {
|
|||
.filter((option: { channel: Channel; delete: boolean }) => !option.delete)
|
||||
.map((option: { channel: Channel; delete: boolean }) => option.channel)
|
||||
|
||||
const xml = new XML(channels, site)
|
||||
const xml = new XML(channels)
|
||||
|
||||
storage.saveSync(filepath, xml.toString())
|
||||
|
||||
|
|
|
@ -50,6 +50,11 @@ async function main() {
|
|||
if (isPromise(parsedChannels)) {
|
||||
parsedChannels = await parsedChannels
|
||||
}
|
||||
parsedChannels = parsedChannels.map((channel: Channel) => {
|
||||
channel.site = config.site
|
||||
|
||||
return channel
|
||||
})
|
||||
|
||||
channels = channels
|
||||
.mergeBy(
|
||||
|
@ -62,7 +67,7 @@ async function main() {
|
|||
(channel: Channel) => channel.site_id
|
||||
])
|
||||
|
||||
const xml = new XML(channels, config.site)
|
||||
const xml = new XML(channels)
|
||||
|
||||
await storage.save(outputFilepath, xml.toString())
|
||||
|
||||
|
|
|
@ -3,11 +3,9 @@ import { Channel } from 'epg-grabber'
|
|||
|
||||
export class XML {
|
||||
items: Collection
|
||||
site: string
|
||||
|
||||
constructor(items: Collection, site: string) {
|
||||
constructor(items: Collection) {
|
||||
this.items = items
|
||||
this.site = site
|
||||
}
|
||||
|
||||
toString() {
|
||||
|
@ -18,7 +16,7 @@ export class XML {
|
|||
const xmltv_id = channel.xmltv_id || ''
|
||||
const lang = channel.lang || ''
|
||||
const site_id = channel.site_id || ''
|
||||
output += ` <channel site="${this.site}" lang="${lang}" xmltv_id="${escapeString(
|
||||
output += ` <channel site="${channel.site}" lang="${lang}" xmltv_id="${escapeString(
|
||||
xmltv_id
|
||||
)}" site_id="${site_id}"${logo}>${escapeString(channel.name)}</channel>\r\n`
|
||||
})
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<channels>
|
||||
<channel site="example.com" lang="" xmltv_id="" site_id="140">CNN International</channel>
|
||||
</channels>
|
|
@ -1,6 +1,7 @@
|
|||
import fs from 'fs-extra'
|
||||
import { execSync } from 'child_process'
|
||||
import os from 'os'
|
||||
import path from 'path'
|
||||
|
||||
beforeEach(() => {
|
||||
fs.emptyDirSync('tests/__data__/output')
|
||||
|
@ -25,5 +26,14 @@ describe('channels:editor', () => {
|
|||
expect(stdout).toContain('Overwrite')
|
||||
expect(stdout).toContain('Skip')
|
||||
expect(stdout).toContain("File 'tests/__data__/output/channels.xml' successfully saved")
|
||||
expect(content('tests/__data__/output/channels.xml')).toEqual(
|
||||
content('tests/__data__/expected/sites/channels-editor/channels-editor.channels.xml')
|
||||
)
|
||||
})
|
||||
})
|
||||
|
||||
function content(filepath: string) {
|
||||
return fs.readFileSync(path.resolve(filepath), {
|
||||
encoding: 'utf8'
|
||||
})
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue