mirror of
https://github.com/iptv-org/epg.git
synced 2025-05-09 16:40:07 -04:00
Merge pull request #789 from iptv-org/add-starhubtvplus.com
Add guide from starhubtvplus.com
This commit is contained in:
commit
fab22610ae
4 changed files with 291 additions and 0 deletions
17
.github/workflows/starhubtvplus.com.yml
vendored
Normal file
17
.github/workflows/starhubtvplus.com.yml
vendored
Normal file
|
@ -0,0 +1,17 @@
|
|||
name: starhubtvplus.com
|
||||
on:
|
||||
schedule:
|
||||
- cron: '0 0 * * *'
|
||||
workflow_dispatch:
|
||||
workflow_run:
|
||||
workflows: [_trigger]
|
||||
types:
|
||||
- completed
|
||||
jobs:
|
||||
load:
|
||||
uses: ./.github/workflows/_load.yml
|
||||
with:
|
||||
site: ${{github.workflow}}
|
||||
secrets:
|
||||
APP_ID: ${{ secrets.APP_ID }}
|
||||
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}
|
83
sites/starhubtvplus.com/starhubtvplus.com.config.js
Normal file
83
sites/starhubtvplus.com/starhubtvplus.com.config.js
Normal file
|
@ -0,0 +1,83 @@
|
|||
const axios = require('axios')
|
||||
const dayjs = require('dayjs')
|
||||
|
||||
const APP_KEY = '5ee2ef931de1c4001b2e7fa3_5ee2ec25a0e845001c1783dc'
|
||||
const SESSION_KEY = '01G2QG0N3RWDNCBA1S5MK1MD2K17CE4431A2'
|
||||
|
||||
module.exports = {
|
||||
site: 'starhubtvplus.com',
|
||||
request: {
|
||||
headers: {
|
||||
'x-application-key': APP_KEY,
|
||||
'x-application-session': SESSION_KEY
|
||||
},
|
||||
cache: {
|
||||
ttl: 60 * 60 * 1000 // 1h
|
||||
}
|
||||
},
|
||||
url: function ({ date }) {
|
||||
const variables = JSON.stringify({
|
||||
category: '',
|
||||
dateFrom: date.format('YYYY-MM-DD'),
|
||||
dateTo: date.add(1, 'd').format('YYYY-MM-DD')
|
||||
})
|
||||
const query = `query webFilteredEpg($category: String, $dateFrom: DateWithoutTime, $dateTo: DateWithoutTime!) { nagraEpg(category: $category) { items { id: tvChannel image name: longName programs: programsByDate(dateFrom: $dateFrom, dateTo: $dateTo) { id title description Categories startTime endTime }}}}`
|
||||
|
||||
const params = `operationName=webFilteredEpg&variables=${encodeURIComponent(
|
||||
variables
|
||||
)}&query=${encodeURIComponent(query)}`
|
||||
|
||||
return `https://api.starhubtvplus.com/epg?${params}`
|
||||
},
|
||||
parser: function ({ content, channel, cached }) {
|
||||
let programs = []
|
||||
const items = parseItems(content, channel)
|
||||
items.forEach(item => {
|
||||
programs.push({
|
||||
title: item.title,
|
||||
description: item.description,
|
||||
category: item.Categories,
|
||||
start: parseStart(item),
|
||||
stop: parseStop(item)
|
||||
})
|
||||
})
|
||||
|
||||
return programs
|
||||
},
|
||||
async channels() {
|
||||
const items = await axios
|
||||
.get(
|
||||
`https://api.starhubtvplus.com/epg?operationName=webFilteredEpg&variables=%7B%22category%22%3A%22%22,%22dateFrom%22%3A%222022-05-10%22,%22dateTo%22%3A%222022-05-11%22%7D&query=query%20webFilteredEpg(%24category%3A%20String)%20%7B%20nagraEpg(category%3A%20%24category)%20%7B%20items%20%7B%20id%3A%20tvChannel%20image%20name%3A%20longName%20%7D%7D%7D`,
|
||||
{
|
||||
headers: {
|
||||
'x-application-key': APP_KEY,
|
||||
'x-application-session': SESSION_KEY
|
||||
}
|
||||
}
|
||||
)
|
||||
.then(r => r.data.data.nagraEpg.items)
|
||||
.catch(console.log)
|
||||
|
||||
return items.map(item => ({
|
||||
site_id: item.id,
|
||||
name: item.name.replace('_DASH', '')
|
||||
}))
|
||||
}
|
||||
}
|
||||
|
||||
function parseStart(item) {
|
||||
return dayjs(item.startTime)
|
||||
}
|
||||
|
||||
function parseStop(item) {
|
||||
return dayjs(item.endTime)
|
||||
}
|
||||
|
||||
function parseItems(content, channel) {
|
||||
const data = JSON.parse(content)
|
||||
if (!data || !data.data || !data.data.nagraEpg || !Array.isArray(data.data.nagraEpg.items))
|
||||
return []
|
||||
const ch = data.data.nagraEpg.items.find(ch => ch.id == channel.site_id)
|
||||
|
||||
return ch && Array.isArray(ch.programs) ? ch.programs : []
|
||||
}
|
61
sites/starhubtvplus.com/starhubtvplus.com.test.js
Normal file
61
sites/starhubtvplus.com/starhubtvplus.com.test.js
Normal file
|
@ -0,0 +1,61 @@
|
|||
// npm run channels:parse -- --config=sites/starhubtvplus.com/starhubtvplus.com.config.js --output=sites/starhubtvplus.com/starhubtvplus.com_sg.channels.xml
|
||||
// npx epg-grabber --config=sites/starhubtvplus.com/starhubtvplus.com.config.js --channels=sites/starhubtvplus.com/starhubtvplus.com_sg.channels.xml --output=guide.xml --days=2
|
||||
|
||||
const { parser, url, request } = require('./starhubtvplus.com.config.js')
|
||||
const dayjs = require('dayjs')
|
||||
const utc = require('dayjs/plugin/utc')
|
||||
const customParseFormat = require('dayjs/plugin/customParseFormat')
|
||||
dayjs.extend(customParseFormat)
|
||||
dayjs.extend(utc)
|
||||
|
||||
const date = dayjs.utc('2022-05-10', 'YYYY-MM-DD').startOf('d')
|
||||
const channel = {
|
||||
site_id: '102',
|
||||
xmltv_id: 'Channel5Singapore.sg'
|
||||
}
|
||||
|
||||
it('can generate valid url', () => {
|
||||
expect(url({ channel, date })).toBe(
|
||||
'https://api.starhubtvplus.com/epg?operationName=webFilteredEpg&variables=%7B%22category%22%3A%22%22%2C%22dateFrom%22%3A%222022-05-10%22%2C%22dateTo%22%3A%222022-05-11%22%7D&query=query%20webFilteredEpg(%24category%3A%20String%2C%20%24dateFrom%3A%20DateWithoutTime%2C%20%24dateTo%3A%20DateWithoutTime!)%20%7B%20nagraEpg(category%3A%20%24category)%20%7B%20items%20%7B%20id%3A%20tvChannel%20image%20name%3A%20longName%20programs%3A%20programsByDate(dateFrom%3A%20%24dateFrom%2C%20dateTo%3A%20%24dateTo)%20%7B%20id%20title%20description%20Categories%20startTime%20endTime%20%7D%7D%7D%7D'
|
||||
)
|
||||
})
|
||||
|
||||
it('can generate valid request headers', () => {
|
||||
expect(request.headers).toMatchObject({
|
||||
'x-application-key': '5ee2ef931de1c4001b2e7fa3_5ee2ec25a0e845001c1783dc',
|
||||
'x-application-session': '01G2QG0N3RWDNCBA1S5MK1MD2K17CE4431A2'
|
||||
})
|
||||
})
|
||||
|
||||
it('can generate valid cache settings', () => {
|
||||
expect(request.cache).toMatchObject({
|
||||
ttl: 60 * 60 * 1000
|
||||
})
|
||||
})
|
||||
|
||||
it('can parse response', () => {
|
||||
const content = `{"data":{"nagraEpg":{"items":[{"id":102,"name":"Channel 5 HD_DASH","programs":[{"id":"GLOBAL_TC0021650123","title":"Luke Nguyen's Vietnam","description":"Luke leaves the hustle and bustle of Hanoi behind for the mystical mountains of Sapa. There, he prepares some black chicken in and amongst the local streets. He cooks buffalo for a salad in the busy Sapa markets, as well as a tofu-and-tomato dish high up in the rice paddy fields with the most spectacular backdrop.","Categories":["Others"],"startTime":1652110200000,"endTime":1652112000000}]}]}}}`
|
||||
const result = parser({ content, channel }).map(p => {
|
||||
p.start = p.start.toJSON()
|
||||
p.stop = p.stop.toJSON()
|
||||
return p
|
||||
})
|
||||
|
||||
expect(result).toMatchObject([
|
||||
{
|
||||
start: '2022-05-09T15:30:00.000Z',
|
||||
stop: '2022-05-09T16:00:00.000Z',
|
||||
title: "Luke Nguyen's Vietnam",
|
||||
description:
|
||||
'Luke leaves the hustle and bustle of Hanoi behind for the mystical mountains of Sapa. There, he prepares some black chicken in and amongst the local streets. He cooks buffalo for a salad in the busy Sapa markets, as well as a tofu-and-tomato dish high up in the rice paddy fields with the most spectacular backdrop.',
|
||||
category: ['Others']
|
||||
}
|
||||
])
|
||||
})
|
||||
|
||||
it('can handle empty guide', () => {
|
||||
const result = parser({
|
||||
content: `{"errors":[{"code":"A9999","message":"Syntax, request headers or server error","extendedLogging":{"message":"Cannot read property 'operation' of undefined"}}]}`
|
||||
})
|
||||
expect(result).toMatchObject([])
|
||||
})
|
130
sites/starhubtvplus.com/starhubtvplus.com_sg.channels.xml
Normal file
130
sites/starhubtvplus.com/starhubtvplus.com_sg.channels.xml
Normal file
|
@ -0,0 +1,130 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<site site="starhubtvplus.com">
|
||||
<channels>
|
||||
<channel lang="en" xmltv_id="ABCAustraliaAsia.au" site_id="447">ABC Australia</channel>
|
||||
<channel lang="en" xmltv_id="AdithyaTV.in" site_id="158">ADITHYA TV</channel>
|
||||
<channel lang="en" xmltv_id="ANC.ph" site_id="143">ANC</channel>
|
||||
<channel lang="en" xmltv_id="AnimaxAsia.sg" site_id="532">Animax HD</channel>
|
||||
<channel lang="en" xmltv_id="ArirangTV.kr" site_id="817">Arirang TV</channel>
|
||||
<channel lang="en" xmltv_id="Asianet.in" site_id="139">Asianet</channel>
|
||||
<channel lang="en" xmltv_id="AsianetMovies.in" site_id="140">Asianet Movies</channel>
|
||||
<channel lang="en" xmltv_id="AsiaTravel.tw" site_id="833">Asia Travel HD</channel>
|
||||
<channel lang="en" xmltv_id="AstroSensasi.sg" site_id="123">Hub Sensasi HD</channel>
|
||||
<channel lang="en" xmltv_id="AstroWarna.my" site_id="118">Astro Warna</channel>
|
||||
<channel lang="en" xmltv_id="AXNEastAsia.us" site_id="511">AXN HD</channel>
|
||||
<channel lang="en" xmltv_id="BabyFirst.us" site_id="301">BabyFirst TV</channel>
|
||||
<channel lang="en" xmltv_id="BBCEarthAsia.uk" site_id="407">BBC Earth HD</channel>
|
||||
<channel lang="en" xmltv_id="BBCLifestyleAsia.uk" site_id="432">BBC Lifestyle HD</channel>
|
||||
<channel lang="en" xmltv_id="BBCWorldNewsAsiaPacific.uk" site_id="701">BBC World News HD</channel>
|
||||
<channel lang="en" xmltv_id="BeINSports.qa" site_id="213">beIN SPORTS HD</channel>
|
||||
<channel lang="en" xmltv_id="BeINSports2.qa" site_id="211">beIN SPORTS 2 HD</channel>
|
||||
<channel lang="en" xmltv_id="BeINSports3.qa" site_id="214">beIN Sports 3 HD</channel>
|
||||
<channel lang="en" xmltv_id="BeINSports4.qa" site_id="215">beIN Sports 4 HD</channel>
|
||||
<channel lang="en" xmltv_id="BeINSports5.qa" site_id="216">beIN Sports 5 HD</channel>
|
||||
<channel lang="en" xmltv_id="BloombergTVAsia.us" site_id="708">Bloomberg Television HD</channel>
|
||||
<channel lang="en" xmltv_id="BoomerangAsia.us" site_id="317">Boomerang HD</channel>
|
||||
<channel lang="en" xmltv_id="CartoonNetworkAsia.sg" site_id="316">Cartoon Network</channel>
|
||||
<channel lang="en" xmltv_id="CBeebiesAsia.uk" site_id="303">Cbeebies HD</channel>
|
||||
<channel lang="en" xmltv_id="CCTV4Asia.cn" site_id="801">CCTV-4</channel>
|
||||
<channel lang="en" xmltv_id="CelestialClassicMovies.hk" site_id="869">CCM</channel>
|
||||
<channel lang="en" xmltv_id="CelestialMovies.hk" site_id="868">Celestial Movies HD</channel>
|
||||
<channel lang="en" xmltv_id="CGTN.cn" site_id="722">CGTN</channel>
|
||||
<channel lang="en" xmltv_id="Channel5Singapore.sg" site_id="102">Channel 5 HD</channel>
|
||||
<channel lang="en" xmltv_id="Channel8Singapore.sg" site_id="103">Channel 8 HD</channel>
|
||||
<channel lang="en" xmltv_id="ChannelUSingapore.sg" site_id="107">Channel U HD</channel>
|
||||
<channel lang="en" xmltv_id="CinemaOneGlobal.ph" site_id="145">Cinema One Global</channel>
|
||||
<channel lang="en" xmltv_id="CinemaWorld.my" site_id="613">CinemaWorld HD</channel>
|
||||
<channel lang="en" xmltv_id="CinemaxAsia.us" site_id="611">Cinemax HD</channel>
|
||||
<channel lang="en" xmltv_id="CitraEntertainment.id" site_id="115">Citra Entertainment</channel>
|
||||
<channel lang="en" xmltv_id="CNA.sg" site_id="106">Channel NewsAsia HD</channel>
|
||||
<channel lang="en" xmltv_id="CNBCAsia.sg" site_id="707">CNBC HD</channel>
|
||||
<channel lang="en" xmltv_id="CNNInternationalAsiaPacific.hk" site_id="711">CNN HD</channel>
|
||||
<channel lang="en" xmltv_id="Colors.in" site_id="128">COLORS</channel>
|
||||
<channel lang="en" xmltv_id="ColorsTamil.in" site_id="132">COLORS Tamil HD</channel>
|
||||
<channel lang="en" xmltv_id="CrimePlusInvestigationAsia.us" site_id="403">Crime + Investigation HD</channel>
|
||||
<channel lang="en" xmltv_id="CTiTV.tw" site_id="827">CTI TV HD</channel>
|
||||
<channel lang="en" xmltv_id="CuriosityChannel.us" site_id="422">CuriosityStream HD</channel>
|
||||
<channel lang="en" xmltv_id="DragonTVInternational.cn" site_id="832">Dragon TV</channel>
|
||||
<channel lang="en" xmltv_id="DreamWorksChannelAsia.us" site_id="307">DreamWorks Channel HD</channel>
|
||||
<channel lang="en" xmltv_id="DWEnglish.de" site_id="153">DW (Deutsch)</channel>
|
||||
<channel lang="en" xmltv_id="EuronewsEnglish.fr" site_id="704">Euronews HD</channel>
|
||||
<channel lang="en" xmltv_id="FashionTVAsia.fr" site_id="443">FashionTV HD</channel>
|
||||
<channel lang="en" xmltv_id="FightSports.us" site_id="212">FIGHT SPORTS HD</channel>
|
||||
<channel lang="en" xmltv_id="FoxNewsChannel.us" site_id="702">Fox News Channel HD</channel>
|
||||
<channel lang="en" xmltv_id="Gem.in" site_id="814">GEM HD</channel>
|
||||
<channel lang="en" xmltv_id="GMALifeTV.ph" site_id="147">GMA Life TV</channel>
|
||||
<channel lang="en" xmltv_id="GMAPinoyTV.ph" site_id="146">GMA Pinoy TV</channel>
|
||||
<channel lang="en" xmltv_id="HBOAsia.us" site_id="601">HBO HD</channel>
|
||||
<channel lang="en" xmltv_id="HBOFamilyAsia.us" site_id="604">HBO Family HD</channel>
|
||||
<channel lang="en" xmltv_id="HBOHits.sg" site_id="605">HBO Hits HD</channel>
|
||||
<channel lang="en" xmltv_id="HBOSignatureAsia.us" site_id="603">HBO Signature HD</channel>
|
||||
<channel lang="en" xmltv_id="HistoryAsia.us" site_id="401">HISTORY HD</channel>
|
||||
<channel lang="en" xmltv_id="Hits.sg" site_id="519">Hits HD</channel>
|
||||
<channel lang="en" xmltv_id="HitsMovies.sg" site_id="512">HITS MOVIES HD</channel>
|
||||
<channel lang="en" xmltv_id="HubECity.sg" site_id="111">Hub E City HD</channel>
|
||||
<channel lang="en" xmltv_id="HubSports1.sg" site_id="201">Hub Sports 1 HD</channel>
|
||||
<channel lang="en" xmltv_id="HubSports2.sg" site_id="202">Hub Sports 2 HD</channel>
|
||||
<channel lang="en" xmltv_id="HubSports3.sg" site_id="204">Hub Sports 3 HD</channel>
|
||||
<channel lang="en" xmltv_id="HubVVDrama.sg" site_id="855">Hub VVDrama HD</channel>
|
||||
<channel lang="en" xmltv_id="Kalaignar.in" site_id="141">Kalaignar TV</channel>
|
||||
<channel lang="en" xmltv_id="Karisma.id" site_id="116">Karisma</channel>
|
||||
<channel lang="en" xmltv_id="KBSWorld.kr" site_id="815">KBS World HD</channel>
|
||||
<channel lang="en" xmltv_id="KTVHD.in" site_id="159">KTV HD</channel>
|
||||
<channel lang="en" xmltv_id="LifetimeAsia.us" site_id="514">Lifetime HD</channel>
|
||||
<channel lang="en" xmltv_id="LoveNature.ca" site_id="416">Love Nature HD</channel>
|
||||
<channel lang="en" xmltv_id="Makeful.ca" site_id="436">Makeful HD</channel>
|
||||
<channel lang="en" xmltv_id="mioStadium102.sg" site_id="227">mio Stadium 102 (HD)</channel>
|
||||
<channel lang="en" xmltv_id="mioStadium103.sg" site_id="228">mio Stadium 103 (HD)</channel>
|
||||
<channel lang="en" xmltv_id="mioStadium104.sg" site_id="229">mio Stadium 104 (HD)</channel>
|
||||
<channel lang="en" xmltv_id="mioStadium105.sg" site_id="230">mio Stadium 105 (HD)</channel>
|
||||
<channel lang="en" xmltv_id="mioStadium106.sg" site_id="231">mio Stadium 106 (HD)</channel>
|
||||
<channel lang="en" xmltv_id="mioStadium107.sg" site_id="232">mio Stadium 107 (HD)</channel>
|
||||
<channel lang="en" xmltv_id="mioStadium108.sg" site_id="233">mio Stadium 108 (HD)</channel>
|
||||
<channel lang="en" xmltv_id="MTVAsia.sg" site_id="533">MTV Asia HD</channel>
|
||||
<channel lang="en" xmltv_id="NationalGeographicAsia.us" site_id="411">National Geographic HD</channel>
|
||||
<channel lang="en" xmltv_id="NationalGeographicWildAsia.hk" site_id="413">Nat Geo Wild HD</channel>
|
||||
<channel lang="en" xmltv_id="NBATVInternational.us" site_id="217">NBA TV HD</channel>
|
||||
<channel lang="en" xmltv_id="NDTV24x7.in" site_id="162">NDTV 24x7</channel>
|
||||
<channel lang="en" xmltv_id="NHKWorldJapan.jp" site_id="812">NHK WORLD - JAPAN</channel>
|
||||
<channel lang="en" xmltv_id="NHKWorldPremium.jp" site_id="811">NHK World Premium HD</channel>
|
||||
<channel lang="en" xmltv_id="NickelodeonAsia.sg" site_id="314">Nickelodeon HD</channel>
|
||||
<channel lang="en" xmltv_id="NickJrAsia.sg" site_id="304">Nick Jr HD</channel>
|
||||
<channel lang="en" xmltv_id="NowJelli.hk" site_id="821">Now Jelli HD</channel>
|
||||
<channel lang="en" xmltv_id="OhK.sg" site_id="816">Oh!K HD</channel>
|
||||
<channel lang="en" xmltv_id="OneTVAsia.sg" site_id="124">ONE (Malay)</channel>
|
||||
<channel lang="en" xmltv_id="ParamountNetworkAsia.us" site_id="620">Paramount Network</channel>
|
||||
<channel lang="en" xmltv_id="PhoenixChineseChannel.hk" site_id="805">Phoenix Chinese Channel HD</channel>
|
||||
<channel lang="en" xmltv_id="PhoenixInfoNewsChannel.hk" site_id="806">Phoenix InfoNews Channel HD</channel>
|
||||
<channel lang="en" xmltv_id="PremierSportsAsia.ie" site_id="207">Premier Sports TV</channel>
|
||||
<channel lang="en" xmltv_id="PreviewChannel.sg" site_id="101">Preview Channel</channel>
|
||||
<channel lang="en" xmltv_id="RockEntertainment.sg" site_id="509">Blue Ant Entertainment HD</channel>
|
||||
<channel lang="en" xmltv_id="RTNews.ru" site_id="151">Russia Today</channel>
|
||||
<channel lang="en" xmltv_id="SEAToday.id" site_id="720">SEA Today</channel>
|
||||
<channel lang="en" xmltv_id="SkyNewsHDAustralia.au" site_id="703">Sky News HD</channel>
|
||||
<channel lang="en" xmltv_id="SmithsonianChannelAsia.us" site_id="415">Smithsonian Channel HD</channel>
|
||||
<channel lang="en" xmltv_id="SonyEntertainmentTelevision.in" site_id="127">Sony Entertainment Television</channel>
|
||||
<channel lang="en" xmltv_id="SonyMax.in" site_id="131">SONY MAX</channel>
|
||||
<channel lang="en" xmltv_id="SPOTV.kr" site_id="205">SPOTV</channel>
|
||||
<channel lang="en" xmltv_id="SPOTV2.kr" site_id="206">SPOTV2</channel>
|
||||
<channel lang="en" xmltv_id="StarChineseChannelInternational.hk" site_id="822">Star Chinese Channel HD</channel>
|
||||
<channel lang="en" xmltv_id="StarChineseMoviesSouthEastAsia.hk" site_id="866">SCM HD</channel>
|
||||
<channel lang="en" xmltv_id="SunMusic.in" site_id="134">Sun Music</channel>
|
||||
<channel lang="en" xmltv_id="SunTV.in" site_id="133">Sun TV</channel>
|
||||
<channel lang="en" xmltv_id="Suria.sg" site_id="104">Suria HD</channel>
|
||||
<channel lang="en" xmltv_id="TheFilipinoChannelAsia.us" site_id="144">The Filipino Channel</channel>
|
||||
<channel lang="en" xmltv_id="TravelxpHD.in" site_id="427">Travelxp HD</channel>
|
||||
<channel lang="en" xmltv_id="TV5MondeAsie.fr" site_id="152">TV5MONDE HD</channel>
|
||||
<channel lang="en" xmltv_id="TVBJade.hk" site_id="838">TVB Jade HD</channel>
|
||||
<channel lang="en" xmltv_id="TVBSAsia.tw" site_id="828">TVBS Asia</channel>
|
||||
<channel lang="en" xmltv_id="TVBSNews.tw" site_id="808">TVBS-NEWS</channel>
|
||||
<channel lang="en" xmltv_id="TVBXingHe.hk" site_id="859">TVB Xing He HD</channel>
|
||||
<channel lang="en" xmltv_id="TVNAsia.hk" site_id="824">tvN HD</channel>
|
||||
<channel lang="en" xmltv_id="Vannathirai.sg" site_id="136">Vannathirai</channel>
|
||||
<channel lang="en" xmltv_id="Vasantham.sg" site_id="105">Vasantham HD</channel>
|
||||
<channel lang="en" xmltv_id="WarnerTVAsia.us" site_id="515">WarnerTV HD</channel>
|
||||
<channel lang="en" xmltv_id="ZeeCinema.in" site_id="130">Zee Cinema</channel>
|
||||
<channel lang="en" xmltv_id="ZeeTamilHD.in" site_id="138">Zee Tamil HD</channel>
|
||||
<channel lang="en" xmltv_id="ZeeThirai.in" site_id="137">Zee Thirai</channel>
|
||||
<channel lang="en" xmltv_id="ZeeTV.in" site_id="125">Zee TV</channel>
|
||||
</channels>
|
||||
</site>
|
Loading…
Add table
Add a link
Reference in a new issue