fix(now-playing): Radio 7 главные каналы — slug не съедает '7'
Баг: strip /\d+$/ у маунта radio7128 резал '7128' → 'radio' (пусто в meta). Теперь slug = radio7(_слово)? без битрейта: radio7128→radio7, radio7_love64→radio7-love.
This commit is contained in:
@@ -103,13 +103,11 @@ export class EmgNowPlayingService {
|
|||||||
private extractSlug(streamUrl: string): string | null {
|
private extractSlug(streamUrl: string): string | null {
|
||||||
const emg = streamUrl.match(/hls-\d+-([a-z0-9-]+)\.emgsound\.ru/i);
|
const emg = streamUrl.match(/hls-\d+-([a-z0-9-]+)\.emgsound\.ru/i);
|
||||||
if (emg) return emg[1].toLowerCase();
|
if (emg) return emg[1].toLowerCase();
|
||||||
const r7 = streamUrl.match(/radio7\.hostingradio\.ru[:0-9]*\/([a-z0-9_]+)/i);
|
// Маунты radio7: radio7{br}, radio7_love{br}, radio7_happiness{br} (br=64/128/256).
|
||||||
if (r7) {
|
// ВАЖНО: нельзя резать цифры с конца «\d+$» — у «radio7128» это съест «7» (→radio).
|
||||||
return r7[1]
|
// Берём «radio7» + опциональный «_слово» (бренд), отбрасывая битрейт.
|
||||||
.toLowerCase()
|
const r7 = streamUrl.match(/radio7\.hostingradio\.ru[:0-9]*\/(radio7(?:_[a-z]+)?)/i);
|
||||||
.replace(/\d+$/, '')
|
if (r7) return r7[1].toLowerCase().replace(/_/g, '-');
|
||||||
.replace(/_/g, '-');
|
|
||||||
}
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user