mirror of
https://github.com/iptv-org/iptv
synced 2026-10-21 18:46:20 -04:00
fix: keep stream titles when playlist:edit saves the file
playlist:edit saved the playlist without the raw option, so every title
was rebuilt from the API channel name and country instead of being
written back as read. For a stream whose channel is not in the database,
that becomes "undefined (undefined)". playlist:format, playlist:update
and playlist:test already save with { public: false, raw: true }.
This commit is contained in:
2 files changed
+14
-1
No files matched your search
@@ -189,7 +189,7 @@ function getFeedChoises(feeds: Collection<sdk.Models.Feed>): Choice[] {
|
||||
|
||||
function save(filepath: string) {
|
||||
if (!storage.existsSync(filepath)) return
|
||||
const playlist = new Playlist(parsedStreams)
|
||||
const playlist = new Playlist(parsedStreams, { public: false, raw: true })
|
||||
storage.saveSync(filepath, playlist.toString())
|
||||
logger.info(`\nFile '${filepath}' successfully saved`)
|
||||
}
|
||||
@@ -30,6 +30,19 @@ describe('playlist:edit', () => {
|
||||
checkStdout((error as ExecError).stdout)
|
||||
}
|
||||
})
|
||||
|
||||
it('keeps the stream titles when saving the playlist', () => {
|
||||
const cmd = `${ENV_VAR} npm run playlist:edit --- tests/__data__/output/playlist.m3u`
|
||||
try {
|
||||
execSync(cmd, { encoding: 'utf8' })
|
||||
} catch {
|
||||
// NOTE: for Windows only
|
||||
}
|
||||
|
||||
const content = fs.readFileSync('tests/__data__/output/playlist.m3u', 'utf8')
|
||||
expect(content).toContain('tvg-id="HewadTV.af",Hewad TV (720p) [Not 24/7]')
|
||||
expect(content).toContain('tvg-id="",Télévision française 1 (480p)')
|
||||
})
|
||||
})
|
||||
|
||||
function checkStdout(stdout: string) {
|
||||
|
||||
Reference in new issue
Block a user