mirror of
https://github.com/iptv-org/iptv
synced 2026-09-09 05:17:04 -04:00
Restrict parsed stream quality suffixes (#49869)
* fix: restrict parsed stream quality suffixes * test: reuse playlist export fixture for quality suffix
This commit is contained in:
@@ -78,7 +78,7 @@ export class Stream extends sdk.Models.Stream {
|
|||||||
let title = name
|
let title = name
|
||||||
const [, label] = title.match(/ \[(.*)\]$/) || [null, '']
|
const [, label] = title.match(/ \[(.*)\]$/) || [null, '']
|
||||||
title = title.replace(new RegExp(` \\[${escapeRegExp(label)}\\]$`), '')
|
title = title.replace(new RegExp(` \\[${escapeRegExp(label)}\\]$`), '')
|
||||||
const [, quality] = title.match(/ \(([0-9]+[p|i])\)$/) || [null, '']
|
const [, quality] = title.match(/ \(([0-9]+[pi])\)$/) || [null, '']
|
||||||
title = title.replace(new RegExp(` \\(${quality}\\)$`), '')
|
title = title.replace(new RegExp(` \\(${quality}\\)$`), '')
|
||||||
|
|
||||||
return { title, label, quality }
|
return { title, label, quality }
|
||||||
|
|||||||
@@ -1,15 +1,25 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"channel": null,
|
"channel": null,
|
||||||
"feed": null,
|
"feed": null,
|
||||||
"title": "Daawah TV",
|
"title": "Daawah TV",
|
||||||
"url": "http://51.15.246.58:8081/daawahtv/daawahtv2/playlist.m3u8",
|
"url": "http://51.15.246.58:8081/daawahtv/daawahtv2/playlist.m3u8",
|
||||||
"referrer": null,
|
"referrer": null,
|
||||||
"user_agent": null,
|
"user_agent": null,
|
||||||
"quality": null,
|
"quality": null,
|
||||||
"label": null
|
"label": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"channel": null,
|
||||||
|
"feed": null,
|
||||||
|
"title": "Example (720|)",
|
||||||
|
"url": "https://example.com/live.m3u8",
|
||||||
|
"referrer": null,
|
||||||
|
"user_agent": null,
|
||||||
|
"quality": null,
|
||||||
|
"label": null
|
||||||
|
},
|
||||||
|
{
|
||||||
"channel": null,
|
"channel": null,
|
||||||
"feed": null,
|
"feed": null,
|
||||||
"title": "Andorra TV",
|
"title": "Andorra TV",
|
||||||
@@ -79,4 +89,4 @@
|
|||||||
"quality": "720p",
|
"quality": "720p",
|
||||||
"label": null
|
"label": null
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -1,9 +1,11 @@
|
|||||||
#EXTM3U
|
#EXTM3U
|
||||||
#EXTINF:-1 tvg-id="LDPRTV.ru",ЛДПР ТВ (1080p)
|
#EXTINF:-1 tvg-id="LDPRTV.ru",ЛДПР ТВ (1080p)
|
||||||
http://46.46.143.222:1935/live/mp4:ldpr.stream/blocked.m3u8
|
http://46.46.143.222:1935/live/mp4:ldpr.stream/blocked.m3u8
|
||||||
#EXTINF:-1 tvg-id="VisitXTV.nl",Visit-X TV
|
#EXTINF:-1 tvg-id="VisitXTV.nl",Visit-X TV
|
||||||
https://stream.visit-x.tv/vxtv/ngrp:live_all/30fps.m3u8
|
https://stream.visit-x.tv/vxtv/ngrp:live_all/30fps.m3u8
|
||||||
#EXTINF:-1 tvg-id="" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148",Andorra TV (720p) [Not 24/7]
|
#EXTINF:-1 tvg-id="",Example (720|)
|
||||||
|
https://example.com/live.m3u8
|
||||||
|
#EXTINF:-1 tvg-id="" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148",Andorra TV (720p) [Not 24/7]
|
||||||
#EXTVLCOPT:http-referrer=http://imn.iq
|
#EXTVLCOPT:http-referrer=http://imn.iq
|
||||||
#EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148
|
#EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148
|
||||||
http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index2.m3u8
|
http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index2.m3u8
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ describe('playlist:export', () => {
|
|||||||
content('tests/__data__/expected/playlist_export/.api/streams.json')
|
content('tests/__data__/expected/playlist_export/.api/streams.json')
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
|
|
||||||
})
|
})
|
||||||
|
|
||||||
function content(filepath: string) {
|
function content(filepath: string) {
|
||||||
|
|||||||
Reference in New Issue
Block a user