mirror of
https://github.com/iptv-org/epg
synced 2026-06-04 23:49:21 -04:00
Generated
+8
-9
@@ -1103,12 +1103,11 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@eslint/plugin-kit": {
|
"node_modules/@eslint/plugin-kit": {
|
||||||
"version": "0.3.2",
|
"version": "0.3.4",
|
||||||
"resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.3.2.tgz",
|
"resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.3.4.tgz",
|
||||||
"integrity": "sha512-4SaFZCNfJqvk/kenHpI8xvN42DMaoycy4PzKc5otHxRswww1kAt82OlBuwRVLofCACCTZEcla2Ydxv8scMXaTg==",
|
"integrity": "sha512-Ul5l+lHEcw3L5+k8POx6r74mxEYKG5kOb6Xpy2gCRW6zweT6TEhAf8vhxGgjhqrd/VO/Dirhsb+1hNpD1ue9hw==",
|
||||||
"license": "Apache-2.0",
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@eslint/core": "^0.15.0",
|
"@eslint/core": "^0.15.1",
|
||||||
"levn": "^0.4.1"
|
"levn": "^0.4.1"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
@@ -11156,11 +11155,11 @@
|
|||||||
"integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA=="
|
"integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA=="
|
||||||
},
|
},
|
||||||
"@eslint/plugin-kit": {
|
"@eslint/plugin-kit": {
|
||||||
"version": "0.3.2",
|
"version": "0.3.4",
|
||||||
"resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.3.2.tgz",
|
"resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.3.4.tgz",
|
||||||
"integrity": "sha512-4SaFZCNfJqvk/kenHpI8xvN42DMaoycy4PzKc5otHxRswww1kAt82OlBuwRVLofCACCTZEcla2Ydxv8scMXaTg==",
|
"integrity": "sha512-Ul5l+lHEcw3L5+k8POx6r74mxEYKG5kOb6Xpy2gCRW6zweT6TEhAf8vhxGgjhqrd/VO/Dirhsb+1hNpD1ue9hw==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@eslint/core": "^0.15.0",
|
"@eslint/core": "^0.15.1",
|
||||||
"levn": "^0.4.1"
|
"levn": "^0.4.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -32,6 +32,7 @@ async function main() {
|
|||||||
|
|
||||||
let totalFiles = 0
|
let totalFiles = 0
|
||||||
let totalErrors = 0
|
let totalErrors = 0
|
||||||
|
let totalWarnings = 0
|
||||||
|
|
||||||
const storage = new Storage()
|
const storage = new Storage()
|
||||||
const files = program.args.length ? program.args : await storage.list('sites/**/*.channels.xml')
|
const files = program.args.length ? program.args : await storage.list('sites/**/*.channels.xml')
|
||||||
@@ -63,14 +64,14 @@ async function main() {
|
|||||||
const foundChannel = channelsKeyById.get(channelId)
|
const foundChannel = channelsKeyById.get(channelId)
|
||||||
if (!foundChannel) {
|
if (!foundChannel) {
|
||||||
errors.push({ type: 'wrong_channel_id', ...channel })
|
errors.push({ type: 'wrong_channel_id', ...channel })
|
||||||
totalErrors++
|
totalWarnings++
|
||||||
}
|
}
|
||||||
|
|
||||||
if (feedId) {
|
if (feedId) {
|
||||||
const foundFeed = feedsKeyByStreamId.get(channel.xmltv_id)
|
const foundFeed = feedsKeyByStreamId.get(channel.xmltv_id)
|
||||||
if (!foundFeed) {
|
if (!foundFeed) {
|
||||||
errors.push({ type: 'wrong_feed_id', ...channel })
|
errors.push({ type: 'wrong_feed_id', ...channel })
|
||||||
totalErrors++
|
totalWarnings++
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@@ -83,9 +84,16 @@ async function main() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (totalErrors > 0) {
|
const totalProblems = totalWarnings + totalErrors
|
||||||
console.log(chalk.red(`${totalErrors} error(s) in ${totalFiles} file(s)`))
|
if (totalProblems > 0) {
|
||||||
process.exit(1)
|
console.log(
|
||||||
|
chalk.red(
|
||||||
|
`${totalProblems} problems (${totalErrors} errors, ${totalWarnings} warnings) in ${totalFiles} file(s)`
|
||||||
|
)
|
||||||
|
)
|
||||||
|
if (totalErrors > 0) {
|
||||||
|
process.exit(1)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -23,48 +23,36 @@ describe('channels:validate', () => {
|
|||||||
│ 0 │ 'duplicate' │ 'en' │ 'Bravo.us@East' │ '140' │ 'Bravo' │
|
│ 0 │ 'duplicate' │ 'en' │ 'Bravo.us@East' │ '140' │ 'Bravo' │
|
||||||
└─────────┴─────────────┴──────┴─────────────────┴─────────┴─────────┘
|
└─────────┴─────────────┴──────┴─────────────────┴─────────┴─────────┘
|
||||||
|
|
||||||
1 error(s) in 1 file(s)
|
1 problems (1 errors, 0 warnings) in 1 file(s)
|
||||||
`)
|
`)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
it('will show a message if the file contains a channel with wrong channel id', () => {
|
it('will show a message if the file contains a channel with wrong channel id', () => {
|
||||||
try {
|
const cmd = `${ENV_VAR} npm run channels:validate --- tests/__data__/input/channels_validate/wrong_channel_id.channels.xml`
|
||||||
const cmd = `${ENV_VAR} npm run channels:validate --- tests/__data__/input/channels_validate/wrong_channel_id.channels.xml`
|
const stdout = execSync(cmd, { encoding: 'utf8' })
|
||||||
const stdout = execSync(cmd, { encoding: 'utf8' })
|
expect(stdout).toContain(`
|
||||||
if (process.env.DEBUG === 'true') console.log(cmd, stdout)
|
|
||||||
process.exit(1)
|
|
||||||
} catch (error) {
|
|
||||||
expect((error as ExecError).status).toBe(1)
|
|
||||||
expect((error as ExecError).stdout).toContain(`
|
|
||||||
┌─────────┬────────────────────┬──────┬────────────────────┬─────────┬─────────────────────┐
|
┌─────────┬────────────────────┬──────┬────────────────────┬─────────┬─────────────────────┐
|
||||||
│ (index) │ type │ lang │ xmltv_id │ site_id │ name │
|
│ (index) │ type │ lang │ xmltv_id │ site_id │ name │
|
||||||
├─────────┼────────────────────┼──────┼────────────────────┼─────────┼─────────────────────┤
|
├─────────┼────────────────────┼──────┼────────────────────┼─────────┼─────────────────────┤
|
||||||
│ 0 │ 'wrong_channel_id' │ 'en' │ 'CNNInternational' │ '140' │ 'CNN International' │
|
│ 0 │ 'wrong_channel_id' │ 'en' │ 'CNNInternational' │ '140' │ 'CNN International' │
|
||||||
└─────────┴────────────────────┴──────┴────────────────────┴─────────┴─────────────────────┘
|
└─────────┴────────────────────┴──────┴────────────────────┴─────────┴─────────────────────┘
|
||||||
|
|
||||||
1 error(s) in 1 file(s)
|
1 problems (0 errors, 1 warnings) in 1 file(s)
|
||||||
`)
|
`)
|
||||||
}
|
|
||||||
})
|
})
|
||||||
|
|
||||||
it('will show a message if the file contains a channel with wrong feed id', () => {
|
it('will show a message if the file contains a channel with wrong feed id', () => {
|
||||||
try {
|
const cmd = `${ENV_VAR} npm run channels:validate --- tests/__data__/input/channels_validate/wrong_feed_id.channels.xml`
|
||||||
const cmd = `${ENV_VAR} npm run channels:validate --- tests/__data__/input/channels_validate/wrong_feed_id.channels.xml`
|
const stdout = execSync(cmd, { encoding: 'utf8' })
|
||||||
const stdout = execSync(cmd, { encoding: 'utf8' })
|
expect(stdout).toContain(`
|
||||||
if (process.env.DEBUG === 'true') console.log(cmd, stdout)
|
|
||||||
process.exit(1)
|
|
||||||
} catch (error) {
|
|
||||||
expect((error as ExecError).status).toBe(1)
|
|
||||||
expect((error as ExecError).stdout).toContain(`
|
|
||||||
┌─────────┬─────────────────┬──────┬─────────────────┬─────────┬─────────┐
|
┌─────────┬─────────────────┬──────┬─────────────────┬─────────┬─────────┐
|
||||||
│ (index) │ type │ lang │ xmltv_id │ site_id │ name │
|
│ (index) │ type │ lang │ xmltv_id │ site_id │ name │
|
||||||
├─────────┼─────────────────┼──────┼─────────────────┼─────────┼─────────┤
|
├─────────┼─────────────────┼──────┼─────────────────┼─────────┼─────────┤
|
||||||
│ 0 │ 'wrong_feed_id' │ 'en' │ 'Bravo.us@West' │ '150' │ 'Bravo' │
|
│ 0 │ 'wrong_feed_id' │ 'en' │ 'Bravo.us@West' │ '150' │ 'Bravo' │
|
||||||
└─────────┴─────────────────┴──────┴─────────────────┴─────────┴─────────┘
|
└─────────┴─────────────────┴──────┴─────────────────┴─────────┴─────────┘
|
||||||
|
|
||||||
1 error(s) in 1 file(s)
|
1 problems (0 errors, 1 warnings) in 1 file(s)
|
||||||
`)
|
`)
|
||||||
}
|
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user