Merge pull request #738 from iptv-org/add-melita.com

Add guide from melita.com
This commit is contained in:
Aleksandr Statciuk 2022-04-21 20:56:17 +03:00 committed by GitHub
commit a2cc96c09c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 283 additions and 0 deletions

17
.github/workflows/melita.com.yml vendored Normal file
View file

@ -0,0 +1,17 @@
name: melita.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 }}

View file

@ -0,0 +1,87 @@
const axios = require('axios')
const dayjs = require('dayjs')
module.exports = {
site: 'melita.com',
url: function ({ channel, date }) {
return `https://androme.melitacable.com/api/epg/v1/schedule/channel/${
channel.site_id
}/from/${date.format('YYYY-MM-DDTHH:mmZ')}/until/${date
.add(1, 'd')
.format('YYYY-MM-DDTHH:mmZ')}`
},
parser: function ({ content }) {
let programs = []
const items = parseItems(content)
items.forEach(item => {
programs.push({
title: item.title,
description: item.shortSynopsis,
icon: parseIcon(item),
category: item.tags,
season: item.season,
episode: item.episode,
start: parseStart(item),
stop: parseStop(item)
})
})
return programs
},
async channels() {
const channels = await axios
.get('https://androme.melitacable.com/api/epg/v2/channel')
.then(r => r.data)
.catch(console.log)
return channels
.filter(i => !i.audioOnly && i.enabled)
.map(i => {
return {
name: i.name,
site_id: i.id
}
})
}
}
function parseStart(item) {
if (!item.published || !item.published.start) return null
return dayjs(item.published.start)
}
function parseStop(item) {
if (!item.published || !item.published.end) return null
return dayjs(item.published.end)
}
function parseIcon(item) {
return item.posterImage ? item.posterImage + '?form=epg-card-6' : null
}
function parseItems(content) {
const data = JSON.parse(content)
if (
!data ||
!data.schedules ||
!data.programs ||
!data.seasons ||
!data.series ||
!Array.isArray(data.schedules)
)
return []
return data.schedules
.map(i => {
const program = data.programs.find(p => p.id === i.program) || {}
if (!program.season) return null
const season = data.seasons.find(s => s.id === program.season) || {}
if (!season.series) return null
const series = data.series.find(s => s.id === season.series)
return { ...i, ...program, ...season, ...series }
})
.filter(i => i)
}

View file

@ -0,0 +1,51 @@
// npm run channels:parse -- --config=./sites/melita.com/melita.com.config.js --output=./sites/melita.com/melita.com_mt.channels.xml
// npx epg-grabber --config=sites/melita.com/melita.com.config.js --channels=sites/melita.com/melita.com_mt.channels.xml --output=guide.xml --days=2
const { parser, url } = require('./melita.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-04-20', 'YYYY-MM-DD').startOf('d')
const channel = {
site_id: '4d40a9f9-12fd-4f03-8072-61c637ff6995',
xmltv_id: 'TVM.mt'
}
it('can generate valid url', () => {
expect(url({ channel, date })).toBe(
'https://androme.melitacable.com/api/epg/v1/schedule/channel/4d40a9f9-12fd-4f03-8072-61c637ff6995/from/2022-04-20T00:00+00:00/until/2022-04-21T00:00+00:00'
)
})
it('can parse response', () => {
const content = `{"schedules":[{"id":"138dabff-131a-42a0-9373-203545933dd0","published":{"start":"2022-04-20T06:25:00Z","end":"2022-04-20T06:45:00Z"},"program":"ae52299a-3c99-4d34-9932-e21d383f9800","live":false,"blackouts":[]}],"programs":[{"id":"ae52299a-3c99-4d34-9932-e21d383f9800","title":"How I Met Your Mother","shortSynopsis":"Symphony of Illumination - Robin gets some bad news and decides to keep it to herself. Marshall decorates the house.","posterImage":"https://androme.melitacable.com/media/images/epg/bc/07/p8953134_e_h10_ad.jpg","episode":12,"episodeTitle":"Symphony of Illumination","season":"fdd6e42c-97f9-4d7a-aaca-78b53378f960","genres":["3.5.7.3"],"tags":["comedy"],"adult":false}],"seasons":[{"id":"fdd6e42c-97f9-4d7a-aaca-78b53378f960","title":"How I Met Your Mother","adult":false,"season":7,"series":"858c535a-abbb-451b-807a-94196997ea2d"}],"series":[{"id":"858c535a-abbb-451b-807a-94196997ea2d","title":"How I Met Your Mother","adult":false}]}`
const result = parser({ content }).map(p => {
p.start = p.start.toJSON()
p.stop = p.stop.toJSON()
return p
})
expect(result).toMatchObject([
{
start: '2022-04-20T06:25:00.000Z',
stop: '2022-04-20T06:45:00.000Z',
title: 'How I Met Your Mother',
description:
'Symphony of Illumination - Robin gets some bad news and decides to keep it to herself. Marshall decorates the house.',
season: 7,
episode: 12,
icon: 'https://androme.melitacable.com/media/images/epg/bc/07/p8953134_e_h10_ad.jpg?form=epg-card-6',
category: ['comedy']
}
])
})
it('can handle empty guide', () => {
const result = parser({
content: `{}`
})
expect(result).toMatchObject([])
})

View file

@ -0,0 +1,128 @@
<?xml version="1.0" encoding="UTF-8"?>
<site site="melita.com">
<channels>
<channel lang="en" xmltv_id="AlJazeeraChannel.qa" site_id="786fa95a-4988-4c02-8daa-6d352cc31073">Al Jazeera Arabic</channel>
<channel lang="en" xmltv_id="AlJazeeraEnglish.qa" site_id="6981b50c-5b06-4a9e-891e-1c1e979be554">Al Jazeera English</channel>
<channel lang="en" xmltv_id="AMCCentralEurope.hu" site_id="ec88d11a-46e7-4182-a7c9-167e97f927f0">AMC HD</channel>
<channel lang="en" xmltv_id="AnimalPlanetAfrica.us" site_id="100b35e6-bd16-40c9-bde9-32184e3ab560">Animal Planet HD</channel>
<channel lang="en" xmltv_id="BabyTVEurope.uk" site_id="0bf046ac-c11d-47ba-a5de-bddba08820f8">Baby TV</channel>
<channel lang="en" xmltv_id="BBCEarthGreece.gr" site_id="8de17b4d-1798-402f-927e-cac7e1d38103">BBC Earth HD</channel>
<channel lang="en" xmltv_id="BBCEntertainmentEurope.uk" site_id="42226fcd-6032-4c80-aaa6-8ae8cccda900">BBC Entertainment</channel>
<channel lang="en" xmltv_id="BBCWorldNewsEurope.uk" site_id="9b3f6254-4f89-4a4b-9046-dc4c4f03b928">BBC World News HD</channel>
<channel lang="en" xmltv_id="BloombergTVEurope.us" site_id="913609ee-157a-49c1-8d8b-bc73872ff9a5">Bloomberg</channel>
<channel lang="en" xmltv_id="BoingItalia.it" site_id="9d2651e6-1f1f-4cc7-9d9c-6c37f7cfed5f">Boing</channel>
<channel lang="en" xmltv_id="BoomerangCentralEasternEurope.us" site_id="dac0cc07-c3f1-4753-a1b6-fd9465ba2e20">Boomerang</channel>
<channel lang="en" xmltv_id="BVNEuropa.nl" site_id="ae0d9a54-dc53-43ac-88e4-0abb68b778d2">BVN Europa</channel>
<channel lang="en" xmltv_id="CacciaePesca.it" site_id="1f928a93-fa7f-45ad-ba3e-9ad0fc4e6bc6">Caccia e Pesca</channel>
<channel lang="en" xmltv_id="Canale5HD.it" site_id="dcd6ade6-f76c-4ba9-b9c4-588f53645e92">Canale 5 HD</channel>
<channel lang="en" xmltv_id="CanaleItalia.it" site_id="0101fb27-ba8e-4ab3-94fb-31bebe5cc594">Canale Italia</channel>
<channel lang="en" xmltv_id="CartoonitoItaly.it" site_id="1bf0f7db-9320-4a5a-b465-c033bbf10be8">Cartoonito</channel>
<channel lang="en" xmltv_id="CartoonNetworkMENA.uk" site_id="4cc8d963-e42b-431e-b4d0-730da5505f21">Cartoon Network</channel>
<channel lang="en" xmltv_id="CBeebiesMiddleEast.uk" site_id="8a2323cc-73de-4824-b6a7-98aaee0cfdc5">CBeeBies HD</channel>
<channel lang="en" xmltv_id="CBSRealityEurope.us" site_id="f016f052-c772-4e33-bcbf-51e4061b672c">CBS Reality</channel>
<channel lang="en" xmltv_id="CGTNEnglish.cn" site_id="aa9aa3c5-8858-4b69-b152-d41ec3ed030b">CGTN</channel>
<channel lang="en" xmltv_id="ChannelOne.ru" site_id="8359fcc6-7ff7-4ae1-b98b-d33a13ae11ee">Channel One Russia</channel>
<channel lang="en" xmltv_id="Cielo.it" site_id="49a21374-7172-460e-a781-848ee49e4857">Cielo</channel>
<channel lang="en" xmltv_id="ClassTVModa.it" site_id="80429c96-4a21-43a5-8380-ce83e3c42153">TV Moda</channel>
<channel lang="en" xmltv_id="ClubMTVEurope.uk" site_id="77cd57a0-ede3-49c1-81b7-c94731d83aab">Club MTV</channel>
<channel lang="en" xmltv_id="CMusicTV.uk" site_id="1e973c21-a4de-4fd8-9130-3a554f33e345">C Music TV</channel>
<channel lang="en" xmltv_id="CNBCEurope.uk" site_id="562b19ba-feb2-47a9-ad43-edde262e3d7a">CNBC</channel>
<channel lang="en" xmltv_id="CNNInternationalEurope.us" site_id="66675e6f-942d-4789-96fd-49a06d43a1d1">CNN International</channel>
<channel lang="en" xmltv_id="CrimePlusInvestigationUK.uk" site_id="7a34bac0-f2dd-4c51-830d-52560dbd5520">Crime + Investigation</channel>
<channel lang="en" xmltv_id="DaystarTV.us" site_id="c71c545c-f9b4-42f7-9d9f-3fe8861a4b19">Daystar Network HD</channel>
<channel lang="en" xmltv_id="DiscoveryChannelEurope.us" site_id="e5e0148d-ca55-4ab5-a0f3-fb303fd39ee9">Discovery Channel</channel>
<channel lang="en" xmltv_id="DiscoveryChannelHDItalia.it" site_id="40210ac8-89e1-40ad-9dc2-8f905ef1fab1">Discovery HD</channel>
<channel lang="en" xmltv_id="DiscoveryScienceItalia.it" site_id="ea7aaadc-6667-4d97-93a0-a927de332814">Discovery Science</channel>
<channel lang="en" xmltv_id="DisneyChannelMENA.uk" site_id="3e2db904-efad-4904-ab64-7d1ddabb251f">Disney Channel</channel>
<channel lang="en" xmltv_id="DisneyJuniorGreece.gr" site_id="b21b88e9-159f-49e3-911a-40b442fbb95c">Disney Junior</channel>
<channel lang="en" xmltv_id="DTXEastEurope.us" site_id="f4554e89-1dc7-4086-bd62-7891b7dfb79f">Discovery Turbo Xtra HD</channel>
<channel lang="en" xmltv_id="DubaiOne.ae" site_id="b41afdcb-2204-48ee-b40a-a0db64e4bd91">Dubai One</channel>
<channel lang="en" xmltv_id="DuckTVSD.sk" site_id="aeb3011d-9106-4621-b5e8-693dec45f33e">Duck TV</channel>
<channel lang="en" xmltv_id="DWEnglish.de" site_id="8a1ea95b-49fb-4fe8-9fc9-06d0f7567f76">Deutsche Welle HD</channel>
<channel lang="en" xmltv_id="EEurope.us" site_id="60338dfb-5bf1-4824-a1f9-92ff5f78d105">E! Entertainment HD</channel>
<channel lang="en" xmltv_id="EuronewsEnglish.fr" site_id="aa11df2b-37b0-442d-a7d6-fab4ef03e48f">Euronews HD</channel>
<channel lang="en" xmltv_id="Eurosport1HD.fr" site_id="9b2ff2da-b9d9-4ef7-be19-c16f7b6981f3">Eurosport HD</channel>
<channel lang="en" xmltv_id="Eurosport2.fr" site_id="ddd38bf4-0324-4a46-9174-b7023c632c60">Eurosport 2</channel>
<channel lang="en" xmltv_id="EWTNEurope.us" site_id="f3ff65cf-ac72-42e1-bb2d-438f4c77590e">EWTN</channel>
<channel lang="en" xmltv_id="ExtremeSportsChannel.nl" site_id="b17bc110-1dce-40bd-80e1-53716927776d">Extreme Sports</channel>
<channel lang="en" xmltv_id="FashionTVHDEurope.fr" site_id="b99f05b1-f4c9-4a23-a2fe-f891a9a95cee">FTV HD</channel>
<channel lang="en" xmltv_id="FLivingChannel.mt" site_id="00144de1-557a-418f-90ce-f518aa195f35">f Living</channel>
<channel lang="en" xmltv_id="FoodNetworkEMEA.us" site_id="f18b81d1-e948-47a6-94d2-73ae397c34bd">Food Network HD</channel>
<channel lang="en" xmltv_id="FoxGreece.gr" site_id="d85ef97b-4075-4d0d-bcb1-d740554b95e6">FOX HD</channel>
<channel lang="en" xmltv_id="FoxLifeGreece.gr" site_id="603f6712-f7bf-47b6-8143-b9380cab4586">FOX LIFE HD</channel>
<channel lang="en" xmltv_id="France2.fr" site_id="a990d4ab-1a2b-47ec-b622-b28075d1f1ba">France 2 HD</channel>
<channel lang="en" xmltv_id="France24English.fr" site_id="3e7cac2b-4039-4d6d-8be4-6305458a2798">France 24 in English</channel>
<channel lang="en" xmltv_id="France24French.fr" site_id="bce83c2d-b975-41cc-b863-ff53dc7fab9f">France 24 in French</channel>
<channel lang="en" xmltv_id="GinxeSportsTVGreece.gr" site_id="1365ad29-e9af-4d6e-8229-ac18b12d6db1">Ginx TV</channel>
<channel lang="en" xmltv_id="GodTVUK.uk" site_id="024900dd-988d-4875-b86d-b1615556dfe4">GOD TV</channel>
<channel lang="en" xmltv_id="GreatMoviesAction.uk" site_id="3d095c1b-5747-431d-a40c-b16d5d1f2b68">GREAT! Movies Action</channel>
<channel lang="en" xmltv_id="HGTVHDItaly.it" site_id="6d7fbb66-a86a-46ef-9cb4-bee3594bfc39">HGTV HD</channel>
<channel lang="en" xmltv_id="HistoryHDItaly.it" site_id="16034351-a5d1-47c8-8b35-f39b333ec507">HISTORY HD</channel>
<channel lang="en" xmltv_id="InvestigationDiscoveryEurope.us" site_id="214cf4b1-2b21-4da7-90d1-a5bf2f288d7b">ID HD</channel>
<channel lang="en" xmltv_id="Iris.it" site_id="4936e818-26b5-4179-8cd1-48a241ac38ea">Iris</channel>
<channel lang="en" xmltv_id="Italia1HD.it" site_id="9cae1f6f-9783-49e9-8a25-32cd47ffe217">Italia 1 HD</channel>
<channel lang="en" xmltv_id="Italia2.it" site_id="d3aeada1-455f-4305-b696-fdcb9b463733">Italia 2</channel>
<channel lang="en" xmltv_id="ITVShopping.mt" site_id="98be3ea0-cb90-4f5c-b256-fbdf33816bd8">ITV Shopping</channel>
<channel lang="en" xmltv_id="JimJamEurope.uk" site_id="ea43081b-08a5-41e8-ba9a-3f22e4c0535a">JimJam</channel>
<channel lang="en" xmltv_id="La5.it" site_id="b3730b38-fe5a-48e6-8a3d-51931629e19d">La 5</channel>
<channel lang="en" xmltv_id="LBCEurope.lb" site_id="4b3f81e6-066b-4764-9f2f-6d4444d27130">LBC Europe</channel>
<channel lang="en" xmltv_id="LuxeTVHD.lu" site_id="5942c46e-144d-4c57-916e-bba9fe3c3196">Luxe TV HD</channel>
<channel lang="en" xmltv_id="MediasetExtra.it" site_id="0bbea33e-4491-464b-ab89-ab1526e127a1">Mediaset Extra</channel>
<channel lang="en" xmltv_id="MediasetItalia.it" site_id="90461a04-aae7-4dc8-9447-8ff6b19205c3">Mediaset Italia</channel>
<channel lang="en" xmltv_id="MelitaMore.mt" site_id="53973351-44ad-4b4f-8584-5b511279b268">Melita More</channel>
<channel lang="en" xmltv_id="MelitaMoreHD.mt" site_id="ff10cb21-d45d-46dc-8b98-6d9cf5abd9aa">Melita More HD</channel>
<channel lang="en" xmltv_id="Mezzo.fr" site_id="6705d6b4-cc73-4476-93f1-4c9660334f68">Mezzo HD</channel>
<channel lang="en" xmltv_id="MTV00s.uk" site_id="5dc08648-2b3f-417b-994e-2fea48f02191">MTV 00s</channel>
<channel lang="en" xmltv_id="MTV80s.uk" site_id="b2201b62-9cdd-4771-9a59-457db2f6dacc">MTV 80s</channel>
<channel lang="en" xmltv_id="MTV90s.uk" site_id="b45b2117-f41b-46b3-9fb0-3ef4551c4902">MTV 90s</channel>
<channel lang="en" xmltv_id="MTVGlobal.cz" site_id="e9aa65aa-50b3-4045-abb7-edd2c876d593">MTV</channel>
<channel lang="en" xmltv_id="MTVHitsEurope.uk" site_id="7226a8a4-3089-4389-bf33-b5fe0766582b">MTV Hits</channel>
<channel lang="en" xmltv_id="MTVLive.uk" site_id="5fed883e-153c-4fe7-adf3-040e1320a66a">MTV Live HD</channel>
<channel lang="en" xmltv_id="NationalGeographicHDGreece.gr" site_id="b4db31cc-61e9-4395-aa2f-0d3559b8c9e2">National Geographic HD</channel>
<channel lang="en" xmltv_id="NationalGeographicWildEurope.us" site_id="64d5b3ca-4ffa-42ba-8dee-452c1c57aa40">Nat Geo Wild HD</channel>
<channel lang="en" xmltv_id="NetHD.mt" site_id="9a077164-80c8-473b-b97f-9e7c4f749fa1">NET HD</channel>
<channel lang="en" xmltv_id="NickelodeonHDGreece.gr" site_id="6c626f5e-f6c1-41f9-ae7d-15063fee3320">Nickelodeon HD</channel>
<channel lang="en" xmltv_id="NickJrGreece.gr" site_id="53f8981c-e277-446a-bb72-37fd046f3376">Nick Junior Global</channel>
<channel lang="en" xmltv_id="One.mt" site_id="ae5f3788-e956-47a3-ad49-cff84b9d3dfd">ONE HD</channel>
<channel lang="en" xmltv_id="ParliamentofMalta.mt" site_id="f1d6d64f-30b8-49c2-b8f4-67ce789b002f">Parliament Channel</channel>
<channel lang="en" xmltv_id="Rai1.it" site_id="1cc6023f-b92a-4f5d-9fb8-29420bb8a42f">Rai Uno</channel>
<channel lang="en" xmltv_id="Rai1HD.it" site_id="e9b2cec6-22e1-4056-9cb5-460c6cad3f84">Rai Uno HD</channel>
<channel lang="en" xmltv_id="Rai2.it" site_id="65b21f89-b737-441f-b889-32fe2e91c66b">Rai Due</channel>
<channel lang="en" xmltv_id="Rai2HD.it" site_id="06d3bf63-23e2-4d1c-bdf8-9fac367d8343">Rai Due HD</channel>
<channel lang="en" xmltv_id="Rai3.it" site_id="aa30a37e-b5de-42fd-ad35-c6587b6f80db">Rai Tre</channel>
<channel lang="en" xmltv_id="Rai3HD.it" site_id="13753d1a-e123-41f8-8144-748737450630">Rai Tre HD</channel>
<channel lang="en" xmltv_id="RaiNews24.it" site_id="d47d3ca9-4d06-4805-9833-351cc69a0395">Rai News</channel>
<channel lang="en" xmltv_id="RaiScuola.it" site_id="1183193d-7954-4b3f-9141-732541eedca9">Rai Scuola</channel>
<channel lang="en" xmltv_id="RaiStoria.it" site_id="80717cdc-bad4-40e1-92e3-55ff3bd7e633">Rai Storia</channel>
<channel lang="en" xmltv_id="Rete4HD.it" site_id="20408161-5fbf-4ab2-bf31-f6869b9f85c2">Rete 4 HD</channel>
<channel lang="en" xmltv_id="RTL1025Radiovisione.it" site_id="256ddb92-cdb4-4069-8fc1-5d4fec608adc">Radio TV</channel>
<channel lang="en" xmltv_id="RTLGermany.de" site_id="38de6f81-d9ff-49ba-aa33-b147166ca454">RTL</channel>
<channel lang="en" xmltv_id="RTLZweiGermany.de" site_id="ef81f5fd-d6ac-4464-92f3-2474735aa6d3">RTL II</channel>
<channel lang="en" xmltv_id="RTNews.ru" site_id="b5d93ab3-e36d-4531-9a4a-0596116ed792">Russia Today</channel>
<channel lang="en" xmltv_id="RTRPlaneta.ru" site_id="74d4a913-2475-4ed8-b017-bd1ff333a846">RTR Planeta</channel>
<channel lang="en" xmltv_id="SkyNewsHD.uk" site_id="818b8ffe-5a9d-4b73-9463-6783fa2217db">Sky News HD</channel>
<channel lang="en" xmltv_id="SmashTV.mt" site_id="90866e92-bb52-4842-b00d-ae2bad9dfec6">Smash TV</channel>
<channel lang="en" xmltv_id="StingrayIConcerts.ca" site_id="f47884ed-751b-4656-99a7-26dc294476de">iConcerts HD</channel>
<channel lang="en" xmltv_id="TGCom24.it" site_id="8f5204cc-d20e-4f8f-a463-b9f6a50adf1e">TGCOM 24</channel>
<channel lang="en" xmltv_id="TLCPanRegional.us" site_id="a81f5b50-a9d0-488a-bd11-0c4eb83b3b54">TLC</channel>
<channel lang="en" xmltv_id="TopCrime.it" site_id="0e016746-ecf8-4924-bb29-b18ade45b4ea">Top Crime</channel>
<channel lang="en" xmltv_id="TraceUrban.fr" site_id="9e3f35f3-a5d7-473c-bb5d-669682145d1c">TRACE Urban HD</channel>
<channel lang="en" xmltv_id="TravelChannelEMEA.uk" site_id="20a97618-b583-4c7c-8e16-df68d0a6384e">Travel HD</channel>
<channel lang="en" xmltv_id="TRTTurk.tr" site_id="84ef1fa2-9f15-40d8-a6d7-0c4e2f379cfe">TRT Turk</channel>
<channel lang="en" xmltv_id="TRTWorld.tr" site_id="523104c0-8d4b-40e4-b63b-bfb5b3883a4c">TRT World HD</channel>
<channel lang="en" xmltv_id="TSN1.mt" site_id="d71d5637-86da-4c38-a434-ed119cf0e83c">TSN1</channel>
<channel lang="en" xmltv_id="TSN2.mt" site_id="b6034786-587f-47c3-b9df-5ccfa21e332d">TSN2</channel>
<channel lang="en" xmltv_id="TSN3.mt" site_id="38e2074b-bc4c-4a8d-9ca1-6832ed4f10b0">TSN3</channel>
<channel lang="en" xmltv_id="TSN4.mt" site_id="97fb934d-3a63-424d-b039-9f7bc3103c12">TSN4</channel>
<channel lang="en" xmltv_id="TSN5.mt" site_id="602bdebf-5207-4d96-a1b7-6574ad4c66b4">TSN5</channel>
<channel lang="en" xmltv_id="TSN6.mt" site_id="6891f553-a872-4752-afc9-9d044ed47dd6">TSN6</channel>
<channel lang="en" xmltv_id="TSN7.mt" site_id="3e27b252-a70f-467c-8384-712a83762688">TSN7</channel>
<channel lang="en" xmltv_id="TSN8.mt" site_id="7de33233-5eec-4418-8928-1c6f9fc21f8c">TSN8</channel>
<channel lang="en" xmltv_id="TV2000.va" site_id="3a4bec42-1d34-42f7-80d9-f3b7d3c148f7">TV 2000</channel>
<channel lang="en" xmltv_id="TV5MondeEurope.fr" site_id="3287b927-3407-4b26-80e0-37044474b8b0">TV5 Monde</channel>
<channel lang="en" xmltv_id="TVEInternacionalEuropa.es" site_id="fb8b9877-9af9-449e-9e6d-ee5cb1e2d417">TVE Internacional</channel>
<channel lang="en" xmltv_id="TVM.mt" site_id="4d40a9f9-12fd-4f03-8072-61c637ff6995">TVM HD</channel>
<channel lang="en" xmltv_id="TVMNewsPlus.mt" site_id="b346e5a5-49e9-428a-a56a-2394d1c611ce">TVMNEWS+</channel>
<channel lang="en" xmltv_id="Xejk.mt" site_id="ec7636e2-6ef7-4c23-9c06-9ed4067fae1f">Xejk</channel>
</channels>
</site>