Merge pull request #2103 from iptv-org/fix-tvguide.com

Fix tvguide.com
This commit is contained in:
Ismaël Moret 2023-06-22 23:10:35 +02:00 committed by GitHub
commit cbc9df15e2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 18 additions and 18 deletions

View file

@ -24,7 +24,7 @@
"programId": 6060455538, "programId": 6060455538,
"title": "NWSL Soccer Playoff", "title": "NWSL Soccer Playoff",
"rating": null, "rating": null,
"programDetails": "https://cmg-prod.apigee.net/v1/xapi/tvschedules/tvguide/programdetails/6060455538/web" "programDetails": "https://fandom-prod.apigee.net/v1/xapi/tvschedules/tvguide/programdetails/6060455538/web"
}, },
{ {
"airingAttrib": 558098, "airingAttrib": 558098,
@ -34,7 +34,7 @@
"programId": 6060248599, "programId": 6060248599,
"title": "Young Sheldon", "title": "Young Sheldon",
"rating": "TV-PG", "rating": "TV-PG",
"programDetails": "https://cmg-prod.apigee.net/v1/xapi/tvschedules/tvguide/programdetails/6060248599/web" "programDetails": "https://fandom-prod.apigee.net/v1/xapi/tvschedules/tvguide/programdetails/6060248599/web"
}, },
{ {
"airingAttrib": 524288, "airingAttrib": 524288,
@ -44,7 +44,7 @@
"programId": 1030182907, "programId": 1030182907,
"title": "Local Programming", "title": "Local Programming",
"rating": "TV-G", "rating": "TV-G",
"programDetails": "https://cmg-prod.apigee.net/v1/xapi/tvschedules/tvguide/programdetails/1030182907/web" "programDetails": "https://fandom-prod.apigee.net/v1/xapi/tvschedules/tvguide/programdetails/1030182907/web"
}, },
{ {
"airingAttrib": 524288, "airingAttrib": 524288,
@ -54,7 +54,7 @@
"programId": 1030182907, "programId": 1030182907,
"title": "Local Programming", "title": "Local Programming",
"rating": "TV-G", "rating": "TV-G",
"programDetails": "https://cmg-prod.apigee.net/v1/xapi/tvschedules/tvguide/programdetails/1030182907/web" "programDetails": "https://fandom-prod.apigee.net/v1/xapi/tvschedules/tvguide/programdetails/1030182907/web"
}, },
{ {
"airingAttrib": 524288, "airingAttrib": 524288,
@ -64,7 +64,7 @@
"programId": 1030182907, "programId": 1030182907,
"title": "Local Programming", "title": "Local Programming",
"rating": "TV-G", "rating": "TV-G",
"programDetails": "https://cmg-prod.apigee.net/v1/xapi/tvschedules/tvguide/programdetails/1030182907/web" "programDetails": "https://fandom-prod.apigee.net/v1/xapi/tvschedules/tvguide/programdetails/1030182907/web"
}, },
{ {
"airingAttrib": 557588, "airingAttrib": 557588,
@ -74,7 +74,7 @@
"programId": 6060613824, "programId": 6060613824,
"title": "CBS Sunday Morning", "title": "CBS Sunday Morning",
"rating": "TV-PG", "rating": "TV-PG",
"programDetails": "https://cmg-prod.apigee.net/v1/xapi/tvschedules/tvguide/programdetails/6060613824/web" "programDetails": "https://fandom-prod.apigee.net/v1/xapi/tvschedules/tvguide/programdetails/6060613824/web"
}, },
{ {
"airingAttrib": 557588, "airingAttrib": 557588,
@ -84,7 +84,7 @@
"programId": 6060613861, "programId": 6060613861,
"title": "Face the Nation", "title": "Face the Nation",
"rating": "TV-PG", "rating": "TV-PG",
"programDetails": "https://cmg-prod.apigee.net/v1/xapi/tvschedules/tvguide/programdetails/6060613861/web" "programDetails": "https://fandom-prod.apigee.net/v1/xapi/tvschedules/tvguide/programdetails/6060613861/web"
}, },
{ {
"airingAttrib": 524288, "airingAttrib": 524288,
@ -94,7 +94,7 @@
"programId": 1030182907, "programId": 1030182907,
"title": "Local Programming", "title": "Local Programming",
"rating": "TV-G", "rating": "TV-G",
"programDetails": "https://cmg-prod.apigee.net/v1/xapi/tvschedules/tvguide/programdetails/1030182907/web" "programDetails": "https://fandom-prod.apigee.net/v1/xapi/tvschedules/tvguide/programdetails/1030182907/web"
}, },
{ {
"airingAttrib": 558097, "airingAttrib": 558097,
@ -104,7 +104,7 @@
"programId": 6003572942, "programId": 6003572942,
"title": "The NFL Today", "title": "The NFL Today",
"rating": null, "rating": null,
"programDetails": "https://cmg-prod.apigee.net/v1/xapi/tvschedules/tvguide/programdetails/6003572942/web" "programDetails": "https://fandom-prod.apigee.net/v1/xapi/tvschedules/tvguide/programdetails/6003572942/web"
}, },
{ {
"airingAttrib": 524817, "airingAttrib": 524817,
@ -114,7 +114,7 @@
"programId": 6000129053, "programId": 6000129053,
"title": "NFL Football", "title": "NFL Football",
"rating": null, "rating": null,
"programDetails": "https://cmg-prod.apigee.net/v1/xapi/tvschedules/tvguide/programdetails/6000129053/web" "programDetails": "https://fandom-prod.apigee.net/v1/xapi/tvschedules/tvguide/programdetails/6000129053/web"
}, },
{ {
"airingAttrib": 524817, "airingAttrib": 524817,
@ -124,7 +124,7 @@
"programId": 6000129053, "programId": 6000129053,
"title": "NFL Football", "title": "NFL Football",
"rating": null, "rating": null,
"programDetails": "https://cmg-prod.apigee.net/v1/xapi/tvschedules/tvguide/programdetails/6000129053/web" "programDetails": "https://fandom-prod.apigee.net/v1/xapi/tvschedules/tvguide/programdetails/6000129053/web"
}, },
{ {
"airingAttrib": 558100, "airingAttrib": 558100,
@ -134,7 +134,7 @@
"programId": 6003572892, "programId": 6003572892,
"title": "60 Minutes", "title": "60 Minutes",
"rating": "TV-PG", "rating": "TV-PG",
"programDetails": "https://cmg-prod.apigee.net/v1/xapi/tvschedules/tvguide/programdetails/6003572892/web" "programDetails": "https://fandom-prod.apigee.net/v1/xapi/tvschedules/tvguide/programdetails/6003572892/web"
} }
] ]
} }
@ -142,13 +142,13 @@
}, },
"links": { "links": {
"self": { "self": {
"href": "https://cmg-prod.apigee.net/v1/xapi/tvschedules/tvguide/9100001138/web?start=1667088000&duration=1440&channelSourceIds=9200018514" "href": "https://fandom-prod.apigee.net/v1/xapi/tvschedules/tvguide/9100001138/web?start=1667088000&duration=1440&channelSourceIds=9200018514"
}, },
"prev": { "prev": {
"href": null "href": null
}, },
"next": { "next": {
"href": "https://cmg-prod.apigee.net/v1/xapi/tvschedules/tvguide/9100001138/web?start=1667088000&duration=1440&channelSourceIds=9200018514&offset=1667089440&limit=1667088000" "href": "https://fandom-prod.apigee.net/v1/xapi/tvschedules/tvguide/9100001138/web?start=1667088000&duration=1440&channelSourceIds=9200018514&offset=1667089440&limit=1667088000"
} }
}, },
"meta": { "meta": {

View file

@ -11,7 +11,7 @@ module.exports = {
days: 2, days: 2,
url: function ({ date, channel }) { url: function ({ date, channel }) {
const [providerId, channelSourceIds] = channel.site_id.split('#') const [providerId, channelSourceIds] = channel.site_id.split('#')
const url = `https://cmg-prod.apigee.net/v1/xapi/tvschedules/tvguide/${providerId}/web?start=${date const url = `https://fandom-prod.apigee.net/v1/xapi/tvschedules/tvguide/${providerId}/web?start=${date
.startOf('d') .startOf('d')
.unix()}&duration=1440&channelSourceIds=${channelSourceIds}` .unix()}&duration=1440&channelSourceIds=${channelSourceIds}`

View file

@ -1,4 +1,4 @@
// npx epg-grabber --config=sites/tvguide.com/tvguide.com.config.js --channels=sites/tvguide.com/tvguide.com.channels.xml --output=guide.xml --days=2 // npx epg-grabber --config=sites/tvguide.com/tvguide.com.config.js --channels=sites/tvguide.com/tvguide.com.channels.xml --output=guide.xml
const { parser, url } = require('./tvguide.com.config.js') const { parser, url } = require('./tvguide.com.config.js')
const fs = require('fs') const fs = require('fs')
@ -20,7 +20,7 @@ const channel = {
it('can generate valid url', () => { it('can generate valid url', () => {
expect(url({ date, channel })).toBe( expect(url({ date, channel })).toBe(
'https://cmg-prod.apigee.net/v1/xapi/tvschedules/tvguide/9100001138/web?start=1667088000&duration=1440&channelSourceIds=9200018514' 'https://fandom-prod.apigee.net/v1/xapi/tvschedules/tvguide/9100001138/web?start=1667088000&duration=1440&channelSourceIds=9200018514'
) )
}) })
@ -30,7 +30,7 @@ it('can parse response', async () => {
axios.get.mockImplementation(url => { axios.get.mockImplementation(url => {
if ( if (
url === url ===
'https://cmg-prod.apigee.net/v1/xapi/tvschedules/tvguide/programdetails/6060613824/web' 'https://fandom-prod.apigee.net/v1/xapi/tvschedules/tvguide/programdetails/6060613824/web'
) { ) {
return Promise.resolve({ return Promise.resolve({
data: JSON.parse(fs.readFileSync(path.resolve(__dirname, '__data__/program.json'))) data: JSON.parse(fs.readFileSync(path.resolve(__dirname, '__data__/program.json')))