mirror of
https://github.com/iptv-org/epg.git
synced 2025-05-10 00:50:09 -04:00
Merge pull request #102 from iptv-org/update-tvtv-us
Update tvtv.us.channels.xml
This commit is contained in:
commit
5429406248
8 changed files with 5755 additions and 6206 deletions
1
.github/workflows/auto-update.yml
vendored
1
.github/workflows/auto-update.yml
vendored
|
@ -39,7 +39,6 @@ jobs:
|
||||||
tvgid.ua,
|
tvgid.ua,
|
||||||
tvguide.com,
|
tvguide.com,
|
||||||
tvprofil.com,
|
tvprofil.com,
|
||||||
tvtv.ca,
|
|
||||||
tvtv.us,
|
tvtv.us,
|
||||||
vidio.com,
|
vidio.com,
|
||||||
znbc.co.zm
|
znbc.co.zm
|
||||||
|
|
|
@ -29,7 +29,7 @@ To load a program guide, all you need to do is copy the link to one of the guide
|
||||||
<tr><td align="left" nowrap>🇧🇦 Bosnia</td><td align="left" nowrap><code>https://iptv-org.github.io/epg/guides/tvprofil.com.guide.xml</code></td></tr>
|
<tr><td align="left" nowrap>🇧🇦 Bosnia</td><td align="left" nowrap><code>https://iptv-org.github.io/epg/guides/tvprofil.com.guide.xml</code></td></tr>
|
||||||
<tr><td align="left" nowrap>🇧🇷 Brasil</td><td align="left" nowrap><code>https://iptv-org.github.io/epg/guides/mi.tv.guide.xml</code></td></tr>
|
<tr><td align="left" nowrap>🇧🇷 Brasil</td><td align="left" nowrap><code>https://iptv-org.github.io/epg/guides/mi.tv.guide.xml</code></td></tr>
|
||||||
<tr><td align="left" nowrap>🇧🇬 Bulgaria</td><td align="left" nowrap><code>https://iptv-org.github.io/epg/guides/tvprofil.com.guide.xml</code></td></tr>
|
<tr><td align="left" nowrap>🇧🇬 Bulgaria</td><td align="left" nowrap><code>https://iptv-org.github.io/epg/guides/tvprofil.com.guide.xml</code></td></tr>
|
||||||
<tr><td align="left" nowrap>🇨🇦 Canada</td><td align="left" nowrap><code>https://iptv-org.github.io/epg/guides/tvtv.ca.guide.xml</code></td></tr>
|
<tr><td align="left" nowrap>🇨🇦 Canada</td><td align="left" nowrap><code>https://iptv-org.github.io/epg/guides/tvtv.us.guide.xml</code></td></tr>
|
||||||
<tr><td align="left" nowrap>🇨🇱 Chile</td><td align="left" nowrap><code>https://iptv-org.github.io/epg/guides/mi.tv.guide.xml</code></td></tr>
|
<tr><td align="left" nowrap>🇨🇱 Chile</td><td align="left" nowrap><code>https://iptv-org.github.io/epg/guides/mi.tv.guide.xml</code></td></tr>
|
||||||
<tr><td align="left" nowrap>🇨🇳 China</td><td align="left" nowrap><code>https://iptv-org.github.io/epg/guides/tv.cctv.com.guide.xml</code></td></tr>
|
<tr><td align="left" nowrap>🇨🇳 China</td><td align="left" nowrap><code>https://iptv-org.github.io/epg/guides/tv.cctv.com.guide.xml</code></td></tr>
|
||||||
<tr><td align="left" nowrap>🇨🇴 Colombia</td><td align="left" nowrap><code>https://iptv-org.github.io/epg/guides/mi.tv.guide.xml</code></td></tr>
|
<tr><td align="left" nowrap>🇨🇴 Colombia</td><td align="left" nowrap><code>https://iptv-org.github.io/epg/guides/mi.tv.guide.xml</code></td></tr>
|
||||||
|
|
26
package-lock.json
generated
26
package-lock.json
generated
|
@ -10,7 +10,7 @@
|
||||||
"axios": "^0.21.1",
|
"axios": "^0.21.1",
|
||||||
"cheerio": "^1.0.0-rc.10",
|
"cheerio": "^1.0.0-rc.10",
|
||||||
"dayjs": "^1.10.4",
|
"dayjs": "^1.10.4",
|
||||||
"epg-grabber": "^0.9.0",
|
"epg-grabber": "^0.9.1",
|
||||||
"epg-parser": "^0.1.3",
|
"epg-parser": "^0.1.3",
|
||||||
"form-data": "^4.0.0",
|
"form-data": "^4.0.0",
|
||||||
"html-to-text": "^7.0.0",
|
"html-to-text": "^7.0.0",
|
||||||
|
@ -551,9 +551,9 @@
|
||||||
"integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w=="
|
"integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w=="
|
||||||
},
|
},
|
||||||
"node_modules/epg-grabber": {
|
"node_modules/epg-grabber": {
|
||||||
"version": "0.9.0",
|
"version": "0.9.1",
|
||||||
"resolved": "https://registry.npmjs.org/epg-grabber/-/epg-grabber-0.9.0.tgz",
|
"resolved": "https://registry.npmjs.org/epg-grabber/-/epg-grabber-0.9.1.tgz",
|
||||||
"integrity": "sha512-dVJPJ3XlCJUneU0P68Zz7OtTG50YYeblRbyRRLGg+8trB/3ZLL8uZaphqDMDiZi2iR0icvXVbWJTll2SCnMidg==",
|
"integrity": "sha512-SogskTCvepDqe+NwfF5+88Rig5irs32pSxTnkovRrOwCY9ItoFynQNwV1UvxwMe94yGwF4l9+205d00ZwACojg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"axios": "^0.21.1",
|
"axios": "^0.21.1",
|
||||||
"axios-cookiejar-support": "^1.0.1",
|
"axios-cookiejar-support": "^1.0.1",
|
||||||
|
@ -637,9 +637,7 @@
|
||||||
"version": "1.3.0",
|
"version": "1.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
|
||||||
"integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
|
"integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
|
||||||
"engines": [
|
"engines": ["node >=0.6.0"]
|
||||||
"node >=0.6.0"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
"node_modules/fast-deep-equal": {
|
"node_modules/fast-deep-equal": {
|
||||||
"version": "3.1.3",
|
"version": "3.1.3",
|
||||||
|
@ -970,9 +968,7 @@
|
||||||
"version": "1.4.1",
|
"version": "1.4.1",
|
||||||
"resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
|
||||||
"integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
|
"integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
|
||||||
"engines": [
|
"engines": ["node >=0.6.0"],
|
||||||
"node >=0.6.0"
|
|
||||||
],
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"assert-plus": "1.0.0",
|
"assert-plus": "1.0.0",
|
||||||
"extsprintf": "1.3.0",
|
"extsprintf": "1.3.0",
|
||||||
|
@ -1488,9 +1484,7 @@
|
||||||
"version": "1.10.0",
|
"version": "1.10.0",
|
||||||
"resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
|
"resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
|
||||||
"integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
|
"integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
|
||||||
"engines": [
|
"engines": ["node >=0.6.0"],
|
||||||
"node >=0.6.0"
|
|
||||||
],
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"assert-plus": "^1.0.0",
|
"assert-plus": "^1.0.0",
|
||||||
"core-util-is": "1.0.2",
|
"core-util-is": "1.0.2",
|
||||||
|
@ -2015,9 +2009,9 @@
|
||||||
"integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w=="
|
"integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w=="
|
||||||
},
|
},
|
||||||
"epg-grabber": {
|
"epg-grabber": {
|
||||||
"version": "0.9.0",
|
"version": "0.9.1",
|
||||||
"resolved": "https://registry.npmjs.org/epg-grabber/-/epg-grabber-0.9.0.tgz",
|
"resolved": "https://registry.npmjs.org/epg-grabber/-/epg-grabber-0.9.1.tgz",
|
||||||
"integrity": "sha512-dVJPJ3XlCJUneU0P68Zz7OtTG50YYeblRbyRRLGg+8trB/3ZLL8uZaphqDMDiZi2iR0icvXVbWJTll2SCnMidg==",
|
"integrity": "sha512-SogskTCvepDqe+NwfF5+88Rig5irs32pSxTnkovRrOwCY9ItoFynQNwV1UvxwMe94yGwF4l9+205d00ZwACojg==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"axios": "^0.21.1",
|
"axios": "^0.21.1",
|
||||||
"axios-cookiejar-support": "^1.0.1",
|
"axios-cookiejar-support": "^1.0.1",
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
"axios": "^0.21.1",
|
"axios": "^0.21.1",
|
||||||
"cheerio": "^1.0.0-rc.10",
|
"cheerio": "^1.0.0-rc.10",
|
||||||
"dayjs": "^1.10.4",
|
"dayjs": "^1.10.4",
|
||||||
"epg-grabber": "^0.9.0",
|
"epg-grabber": "^0.9.1",
|
||||||
"epg-parser": "^0.1.3",
|
"epg-parser": "^0.1.3",
|
||||||
"form-data": "^4.0.0",
|
"form-data": "^4.0.0",
|
||||||
"html-to-text": "^7.0.0",
|
"html-to-text": "^7.0.0",
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,38 +0,0 @@
|
||||||
const dayjs = require('dayjs')
|
|
||||||
const utc = require('dayjs/plugin/utc')
|
|
||||||
|
|
||||||
dayjs.extend(utc)
|
|
||||||
|
|
||||||
module.exports = {
|
|
||||||
lang: 'en',
|
|
||||||
site: 'tvtv.ca',
|
|
||||||
channels: 'tvtv.ca.channels.xml',
|
|
||||||
output: '.gh-pages/guides/tvtv.ca.guide.xml',
|
|
||||||
url: function ({ date, channel }) {
|
|
||||||
return `https://www.tvtv.ca/tvm/t/tv/v4/stations/${
|
|
||||||
channel.site_id
|
|
||||||
}/listings?start=${date.format()}&end=${date.add(1, 'd').format()}`
|
|
||||||
},
|
|
||||||
parser: function ({ content }) {
|
|
||||||
let programs = []
|
|
||||||
const items = JSON.parse(content)
|
|
||||||
if (!items.length) return programs
|
|
||||||
items.forEach(item => {
|
|
||||||
const start = dayjs.utc(item.listDateTime)
|
|
||||||
const stop = start.add(item.duration, 'm')
|
|
||||||
const icon = item.showPicture
|
|
||||||
? `https://cdn.tvpassport.com/image/show/480x720/${item.showPicture}`
|
|
||||||
: null
|
|
||||||
programs.push({
|
|
||||||
title: item.showName,
|
|
||||||
description: item.description,
|
|
||||||
category: item.showType,
|
|
||||||
start: start.toString(),
|
|
||||||
stop: stop.toString(),
|
|
||||||
icon
|
|
||||||
})
|
|
||||||
})
|
|
||||||
|
|
||||||
return programs
|
|
||||||
}
|
|
||||||
}
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,3 +1,4 @@
|
||||||
|
const axios = require('axios')
|
||||||
const dayjs = require('dayjs')
|
const dayjs = require('dayjs')
|
||||||
const utc = require('dayjs/plugin/utc')
|
const utc = require('dayjs/plugin/utc')
|
||||||
|
|
||||||
|
@ -9,10 +10,20 @@ module.exports = {
|
||||||
channels: 'tvtv.us.channels.xml',
|
channels: 'tvtv.us.channels.xml',
|
||||||
output: '.gh-pages/guides/tvtv.us.guide.xml',
|
output: '.gh-pages/guides/tvtv.us.guide.xml',
|
||||||
url: function ({ date, channel }) {
|
url: function ({ date, channel }) {
|
||||||
return `https://www.tvtv.us/tvm/t/tv/v4/stations/${
|
return `https://tvtv.us/tvm/t/tv/v4/stations/${
|
||||||
channel.site_id
|
channel.site_id
|
||||||
}/listings?start=${date.format()}&end=${date.add(1, 'd').format()}`
|
}/listings?start=${date.format()}&end=${date.add(1, 'd').format()}`
|
||||||
},
|
},
|
||||||
|
logo: async function ({ channel }) {
|
||||||
|
return await axios
|
||||||
|
.get(`https://tvtv.us/tvm/t/tv/v4/stations/${channel.site_id}`)
|
||||||
|
.then(r =>
|
||||||
|
r.data && r.data.logoFilename
|
||||||
|
? `https://cdn.tvpassport.com/image/station/100x100/${r.data.logoFilename}`
|
||||||
|
: null
|
||||||
|
)
|
||||||
|
.catch(e => console.log)
|
||||||
|
},
|
||||||
parser: function ({ content }) {
|
parser: function ({ content }) {
|
||||||
let programs = []
|
let programs = []
|
||||||
const items = JSON.parse(content)
|
const items = JSON.parse(content)
|
||||||
|
@ -24,7 +35,7 @@ module.exports = {
|
||||||
? `https://cdn.tvpassport.com/image/show/480x720/${item.showPicture}`
|
? `https://cdn.tvpassport.com/image/show/480x720/${item.showPicture}`
|
||||||
: null
|
: null
|
||||||
let title = item.showName
|
let title = item.showName
|
||||||
if (title === "Movie") {
|
if (title === 'Movie') {
|
||||||
title = item.episodeTitle
|
title = item.episodeTitle
|
||||||
}
|
}
|
||||||
programs.push({
|
programs.push({
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue