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
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')))