Fix jiotv.com program image URLs

This commit is contained in:
quepasaquepasa
2026-07-30 22:26:52 -04:00
parent 1344395e9e
commit b558a3b1bb
2 changed files with 33 additions and 6 deletions

View File

@@ -64,15 +64,19 @@ function parseList(string) {
}
function parseIcon(item) {
return item.episodeThumbnail
? `https://jiotvimages.cdn.jio.com/dare_images/shows/700/-/${item.episodeThumbnail}`
: null
return parseImageUrl(item.episodeThumbnail)
}
function parseImage(item) {
return item.episodePoster
? `https://jiotvimages.cdn.jio.com/dare_images/shows/700/-/${item.episodePoster}`
: null
return parseImageUrl(item.episodePoster)
}
function parseImageUrl(value) {
if (!value) return null
// paths like "epgdata/<hash>.jpg" are served from the CDN root, not from /dare_images/shows/<width>/-/
if (value.startsWith('epgdata/')) return `https://jiotvimages.cdn.jio.com/${value}`
return `https://jiotvimages.cdn.jio.com/dare_images/shows/700/-/${value}`
}
function parseItems(content) {

View File

@@ -79,6 +79,29 @@ it('can parse response', () => {
})
})
it('can parse images served from the epgdata path', () => {
const content = JSON.stringify({
epg: [
{
showname: 'Power Lunch',
director: '',
starCast: '',
episodeThumbnail: 'epgdata/0e9fd651fd47416d3308954342235146.jpg',
episodePoster: 'epgdata/0e9fd651fd47416d3308954342235146.jpg',
startEpoch: 1753641000000,
endEpoch: 1753642800000
}
]
})
const results = parser({ content })
expect(results[0]).toMatchObject({
icon: 'https://jiotvimages.cdn.jio.com/epgdata/0e9fd651fd47416d3308954342235146.jpg',
image: 'https://jiotvimages.cdn.jio.com/epgdata/0e9fd651fd47416d3308954342235146.jpg'
})
})
it('can handle empty guide', () => {
const results = parser({
content: ''