mirror of
https://github.com/iptv-org/epg.git
synced 2025-05-10 09:00:07 -04:00
Merge pull request #237 from iptv-org/add-siba-com-co
Add guide from siba.com.co
This commit is contained in:
commit
fb5d1215fa
4 changed files with 228 additions and 1 deletions
|
@ -32,7 +32,7 @@ it('can get logo url', () => {
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
|
|
||||||
fit('can parse response', () => {
|
it('can parse response', () => {
|
||||||
const result = parser({ date, channel, content })
|
const result = parser({ date, channel, content })
|
||||||
expect(result).toMatchObject([
|
expect(result).toMatchObject([
|
||||||
{
|
{
|
||||||
|
|
60
sites/siba.com.co/siba.com.co.config.js
Normal file
60
sites/siba.com.co/siba.com.co.config.js
Normal file
|
@ -0,0 +1,60 @@
|
||||||
|
const dayjs = require('dayjs')
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
site: 'siba.com.co',
|
||||||
|
url: 'http://devportal.siba.com.co/index.php?action=grilla',
|
||||||
|
request: {
|
||||||
|
method: 'POST',
|
||||||
|
headers: {
|
||||||
|
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
|
||||||
|
},
|
||||||
|
data({ channel, date }) {
|
||||||
|
const params = new URLSearchParams()
|
||||||
|
params.append('servicio', '10')
|
||||||
|
params.append('ini', date.unix())
|
||||||
|
params.append('end', date.add(1, 'd').unix())
|
||||||
|
params.append('chn', channel.site_id)
|
||||||
|
|
||||||
|
return params
|
||||||
|
}
|
||||||
|
},
|
||||||
|
logo({ content, channel }) {
|
||||||
|
const data = parseContent(content, channel)
|
||||||
|
|
||||||
|
return data && data.logo ? `http://cdn-std-1.sibasa.netdna-cdn.com/co/${data.logo}` : null
|
||||||
|
},
|
||||||
|
parser: function ({ content, channel }) {
|
||||||
|
let programs = []
|
||||||
|
const items = parseItems(content, channel)
|
||||||
|
items.forEach(item => {
|
||||||
|
programs.push({
|
||||||
|
title: item.nom,
|
||||||
|
start: parseStart(item).toJSON(),
|
||||||
|
stop: parseStop(item).toJSON()
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
return programs
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function parseStart(item) {
|
||||||
|
return dayjs.unix(item.ini)
|
||||||
|
}
|
||||||
|
|
||||||
|
function parseStop(item) {
|
||||||
|
return dayjs.unix(item.fin)
|
||||||
|
}
|
||||||
|
|
||||||
|
function parseContent(content, channel) {
|
||||||
|
const data = JSON.parse(content)
|
||||||
|
if (!data || !Array.isArray(data.list)) return null
|
||||||
|
|
||||||
|
return data.list.find(i => i.id === channel.site_id)
|
||||||
|
}
|
||||||
|
|
||||||
|
function parseItems(content, channel) {
|
||||||
|
const data = parseContent(content, channel)
|
||||||
|
|
||||||
|
return data ? data.prog : []
|
||||||
|
}
|
59
sites/siba.com.co/siba.com.co.test.js
Normal file
59
sites/siba.com.co/siba.com.co.test.js
Normal file
|
@ -0,0 +1,59 @@
|
||||||
|
// npx epg-grabber --config=sites/siba.com.co/siba.com.co.config.js --channels=sites/siba.com.co/siba.com.co_co.channels.xml --output=.gh-pages/guides/co/siba.com.co.epg.xml --days=2
|
||||||
|
|
||||||
|
const { parser, url, request, logo } = require('./siba.com.co.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('2021-11-11', 'YYYY-MM-DD').startOf('d')
|
||||||
|
const channel = {
|
||||||
|
site_id: '395',
|
||||||
|
xmltv_id: 'CanalClaro.cl'
|
||||||
|
}
|
||||||
|
const content = `{"list":[{"id":"395","nom":"CANAL CLARO","num":"102","logo":"7c4b9e8566a6e867d1db4c7ce845f1f4.jpg","cat":"Exclusivos Claro","prog":[{"id":"665724465","nom":"Worst Cooks In America","ini":1636588800,"fin":1636592400}]}],"error":null}`
|
||||||
|
|
||||||
|
it('can generate valid url', () => {
|
||||||
|
expect(url).toBe('http://devportal.siba.com.co/index.php?action=grilla')
|
||||||
|
})
|
||||||
|
|
||||||
|
it('can generate valid request headers', () => {
|
||||||
|
expect(request.headers).toMatchObject({
|
||||||
|
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
it('can generate valid request data', () => {
|
||||||
|
const result = request.data({ channel, date })
|
||||||
|
expect(result.has('servicio')).toBe(true)
|
||||||
|
expect(result.has('ini')).toBe(true)
|
||||||
|
expect(result.has('end')).toBe(true)
|
||||||
|
expect(result.has('chn')).toBe(true)
|
||||||
|
})
|
||||||
|
|
||||||
|
it('can get logo url', () => {
|
||||||
|
expect(logo({ content, channel })).toBe(
|
||||||
|
'http://cdn-std-1.sibasa.netdna-cdn.com/co/7c4b9e8566a6e867d1db4c7ce845f1f4.jpg'
|
||||||
|
)
|
||||||
|
})
|
||||||
|
|
||||||
|
it('can parse response', () => {
|
||||||
|
const result = parser({ date, channel, content })
|
||||||
|
expect(result).toMatchObject([
|
||||||
|
{
|
||||||
|
start: '2021-11-11T00:00:00.000Z',
|
||||||
|
stop: '2021-11-11T01:00:00.000Z',
|
||||||
|
title: 'Worst Cooks In America'
|
||||||
|
}
|
||||||
|
])
|
||||||
|
})
|
||||||
|
|
||||||
|
it('can handle empty guide', () => {
|
||||||
|
const result = parser({
|
||||||
|
date,
|
||||||
|
channel,
|
||||||
|
content: `{"list":[],"error":null}`
|
||||||
|
})
|
||||||
|
expect(result).toMatchObject([])
|
||||||
|
})
|
108
sites/siba.com.co/siba.com.co_co.channels.xml
Normal file
108
sites/siba.com.co/siba.com.co_co.channels.xml
Normal file
|
@ -0,0 +1,108 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<site site="siba.com.co">
|
||||||
|
<channels>
|
||||||
|
<channel lang="es" xmltv_id="AEChile.us" site_id="380">A&E Chile</channel>
|
||||||
|
<channel lang="es" xmltv_id="AMCAndina.us" site_id="532">AMC Andina</channel>
|
||||||
|
<channel lang="es" xmltv_id="AnimalPlanetLatinoamerica.us" site_id="382">Animal Planet Latinoamérica</channel>
|
||||||
|
<channel lang="es" xmltv_id="AXNLatinoamerica.us" site_id="384">AXN Latinoamérica</channel>
|
||||||
|
<channel lang="es" xmltv_id="BrazzersTVXX.us" site_id="564">Brazzers TV XX</channel>
|
||||||
|
<channel lang="es" xmltv_id="Cablenoticias.co" site_id="391">Cablenoticias</channel>
|
||||||
|
<channel lang="es" xmltv_id="Canal1.co" site_id="401">Canal 1</channel>
|
||||||
|
<channel lang="es" xmltv_id="CanalCapital.co" site_id="393">Canal Capital</channel>
|
||||||
|
<channel lang="es" xmltv_id="CanalClaro.cl" site_id="395">Canal Claro</channel>
|
||||||
|
<channel lang="es" xmltv_id="CanalCongreso.co" site_id="397">Canal Congreso</channel>
|
||||||
|
<channel lang="es" xmltv_id="CanalInstitucional.co" site_id="398">Canal Institucional</channel>
|
||||||
|
<channel lang="es" xmltv_id="CanalTRO.co" site_id="591">Canal TRO</channel>
|
||||||
|
<channel lang="es" xmltv_id="CaracolTV.co" site_id="394">Caracol TV</channel>
|
||||||
|
<channel lang="es" xmltv_id="CartoonNetworkLatinAmerica.us" site_id="404">Cartoon Network Latin America</channel>
|
||||||
|
<channel lang="es" xmltv_id="CinecanalChile.us" site_id="407">Cinecanal Chile</channel>
|
||||||
|
<channel lang="es" xmltv_id="CineLatino.mx" site_id="408">CineLatino</channel>
|
||||||
|
<channel lang="es" xmltv_id="CinemaPlus.co" site_id="409">Cinema +</channel>
|
||||||
|
<channel lang="es" xmltv_id="CinemaxLatinoamerica.us" site_id="839">Cinemax Latinoamérica</channel>
|
||||||
|
<channel lang="es" xmltv_id="CityTV.co" site_id="412">City TV</channel>
|
||||||
|
<channel lang="es" xmltv_id="ClaroCinema.mx" site_id="985">Claro Cinema</channel>
|
||||||
|
<channel lang="es" xmltv_id="ClaromusicaTV.co" site_id="566">Claro música TV</channel>
|
||||||
|
<channel lang="es" xmltv_id="ClaroSportsChile.mx" site_id="602">Claro Sports Chile</channel>
|
||||||
|
<channel lang="es" xmltv_id="CNNenEspanol.us" site_id="413">CNN en Español</channel>
|
||||||
|
<channel lang="es" xmltv_id="ComedyCentralLatinoamericaSur.us" site_id="702">Comedy Central Latinoamérica Sur</channel>
|
||||||
|
<channel lang="es" xmltv_id="Cosmovision.co" site_id="417">Cosmovisión</channel>
|
||||||
|
<channel lang="es" xmltv_id="Cristovision.co" site_id="418">Cristovisión</channel>
|
||||||
|
<channel lang="es" xmltv_id="DiscoveryChannelLatinoamerica.us" site_id="423">Discovery Channel Latinoamérica</channel>
|
||||||
|
<channel lang="es" xmltv_id="DiscoveryHomeHealthLatinoamerica.us" site_id="425">Discovery Home & Health Latinoamérica</channel>
|
||||||
|
<channel lang="es" xmltv_id="DiscoveryKidsAmericaLatina.us" site_id="427">Discovery Kids América Latina</channel>
|
||||||
|
<channel lang="es" xmltv_id="DiscoveryTurboAmericaLatina.us" site_id="429">Discovery Turbo América Latina</channel>
|
||||||
|
<channel lang="es" xmltv_id="DisneyChannelSurPlus1.us" site_id="430">Disney Channel Sur +1</channel>
|
||||||
|
<channel lang="es" xmltv_id="DisneyJuniorSurPlus1.us" site_id="431">Disney Junior Sur +1</channel>
|
||||||
|
<channel lang="es" xmltv_id="DisneyXDSurPlus1.us" site_id="432">Disney XD Sur +1</channel>
|
||||||
|
<channel lang="es" xmltv_id="ELatinoamerica.us" site_id="484">E! Latinoamérica</channel>
|
||||||
|
<channel lang="es" xmltv_id="ElGourmetNorte.ar" site_id="485">El Gourmet Norte</channel>
|
||||||
|
<channel lang="es" xmltv_id="ElTiempoTV.co" site_id="497">El Tiempo TV</channel>
|
||||||
|
<channel lang="es" xmltv_id="Enlace.cr" site_id="493">Enlace</channel>
|
||||||
|
<channel lang="es" xmltv_id="ESNETV.us" site_id="486">ESNE TV</channel>
|
||||||
|
<channel lang="es" xmltv_id="ESPN2Colombia.us" site_id="494">ESPN 2 Colombia</channel>
|
||||||
|
<channel lang="es" xmltv_id="ESPN3Sur.us" site_id="1551">ESPN 3 Sur</channel>
|
||||||
|
<channel lang="es" xmltv_id="ESPNAmericaLatina.us" site_id="495">ESPN América Latina</channel>
|
||||||
|
<channel lang="es" xmltv_id="EWTNEspanaLatinoamerica.us" site_id="500">EWTN España - Latinoamérica</channel>
|
||||||
|
<channel lang="es" xmltv_id="FoodNetworkLatinoamerica.us" site_id="991">Food Network Latinoamérica</channel>
|
||||||
|
<channel lang="es" xmltv_id="FoxSports2LatinAmerica.us" site_id="701">Fox Sports 2 Latin America</channel>
|
||||||
|
<channel lang="es" xmltv_id="FoxSports3LatinAmerica.us" site_id="651">Fox Sports 3 Latin America</channel>
|
||||||
|
<channel lang="es" xmltv_id="FoxSportsLatinAmerica.us" site_id="506">Fox Sports Latin America</channel>
|
||||||
|
<channel lang="es" xmltv_id="FXChile.us" site_id="509">FX Chile</channel>
|
||||||
|
<channel lang="es" xmltv_id="FXMChile.us" site_id="586">FXM Chile</channel>
|
||||||
|
<channel lang="es" xmltv_id="GlitzLatinoamerica.us" site_id="510">Glitz Latinoamérica</channel>
|
||||||
|
<channel lang="es" xmltv_id="GoldenLatinoamerica.mx" site_id="513">Golden Latinoamérica</channel>
|
||||||
|
<channel lang="es" xmltv_id="History2Latinoamerica.us" site_id="894">History 2 Latinoamérica</channel>
|
||||||
|
<channel lang="es" xmltv_id="HistoryLatinoamerica.us" site_id="521">History Latinoamérica</channel>
|
||||||
|
<channel lang="es" xmltv_id="HTV.us" site_id="523">HTV</channel>
|
||||||
|
<channel lang="es" xmltv_id="InvestigationDiscoveryLatinoamerica.us" site_id="528">Investigation Discovery Latinoamérica</channel>
|
||||||
|
<channel lang="es" xmltv_id="LasEstrellasLatinoamerica.mx" site_id="396">Las Estrellas Latinoamérica</channel>
|
||||||
|
<channel lang="es" xmltv_id="LifetimeLatinoamerica.us" site_id="893">Lifetime Latinoamérica</channel>
|
||||||
|
<channel lang="es" xmltv_id="MeGusta.co" site_id="527">Me Gusta</channel>
|
||||||
|
<channel lang="es" xmltv_id="MTVLatinoSud.us" site_id="544">MTV Latino Sud</channel>
|
||||||
|
<channel lang="es" xmltv_id="MultiPremier.mx" site_id="547">MultiPremier</channel>
|
||||||
|
<channel lang="es" xmltv_id="NatGeoKids.us" site_id="1066">Nat Geo Kids</channel>
|
||||||
|
<channel lang="es" xmltv_id="NationalGeographicChile.us" site_id="550">National Geographic Chile</channel>
|
||||||
|
<channel lang="es" xmltv_id="NationalGeographicWildLatin.us" site_id="548">National Geographic Wild Latin</channel>
|
||||||
|
<channel lang="es" xmltv_id="NickelodeonCentro.us" site_id="552">Nickelodeon Centro</channel>
|
||||||
|
<channel lang="es" xmltv_id="NickJrLatinAmerica.us" site_id="551">Nick Jr Latin America</channel>
|
||||||
|
<channel lang="es" xmltv_id="NickMusic.us" site_id="745">NickMusic</channel>
|
||||||
|
<channel lang="es" xmltv_id="NTN24.co" site_id="554">NTN 24</channel>
|
||||||
|
<channel lang="es" xmltv_id="ParamountNetworkLatinAmerica.us" site_id="937">Paramount Network Latin America</channel>
|
||||||
|
<channel lang="es" xmltv_id="PasionesLatinoamerica.us" site_id="555">Pasiones Latinoamérica</channel>
|
||||||
|
<channel lang="es" xmltv_id="PenthouseTVLatinAmerica.us" site_id="626">Penthouse TV Latin América</channel>
|
||||||
|
<channel lang="es" xmltv_id="PlayboyTVLatinAmerica.us" site_id="556">Playboy TV Latin America</channel>
|
||||||
|
<channel lang="es" xmltv_id="RCNNovelas.co" site_id="859">RCN Novelas</channel>
|
||||||
|
<channel lang="es" xmltv_id="RCNTV.co" site_id="399">RCN TV</channel>
|
||||||
|
<channel lang="es" xmltv_id="RedPlus.co" site_id="421">Red+</channel>
|
||||||
|
<channel lang="es" xmltv_id="SenalColombia.co" site_id="570">Señal Colombia</channel>
|
||||||
|
<channel lang="es" xmltv_id="Sextreme.br" site_id="565">Sextreme</channel>
|
||||||
|
<channel lang="es" xmltv_id="SinLimites.co" site_id="526">Sin Límites</channel>
|
||||||
|
<channel lang="es" xmltv_id="SonyChannelAndes.us" site_id="571">Sony Channel Andes</channel>
|
||||||
|
<channel lang="es" xmltv_id="SpaceChile.ar" site_id="574">Space Chile</channel>
|
||||||
|
<channel lang="es" xmltv_id="StarChannelLatinAmerica.us" site_id="505">Star Channel Latin America</channel>
|
||||||
|
<channel lang="es" xmltv_id="StarLifeLatin.us" site_id="502">Star Life Latin</channel>
|
||||||
|
<channel lang="es" xmltv_id="StudioUniversalChile.us" site_id="577">Studio Universal Chile</channel>
|
||||||
|
<channel lang="es" xmltv_id="TBSAmericaLatina.us" site_id="578">TBS América Latina</channel>
|
||||||
|
<channel lang="es" xmltv_id="TeleAmiga.co" site_id="579">Tele Amiga</channel>
|
||||||
|
<channel lang="es" xmltv_id="Teleantioquia.co" site_id="580">Teleantioquia</channel>
|
||||||
|
<channel lang="es" xmltv_id="Telecafe.co" site_id="581">Telecafé</channel>
|
||||||
|
<channel lang="es" xmltv_id="Telecaribe.co" site_id="582">Telecaribe</channel>
|
||||||
|
<channel lang="es" xmltv_id="Teleislas.co" site_id="922">Teleislas</channel>
|
||||||
|
<channel lang="es" xmltv_id="TelemundoInternacional.us" site_id="697">Telemundo Internacional</channel>
|
||||||
|
<channel lang="es" xmltv_id="Telepacifico.co" site_id="585">Telepacífico</channel>
|
||||||
|
<channel lang="es" xmltv_id="TLCLatinoamerica.us" site_id="587">TLC Latinoamérica</channel>
|
||||||
|
<channel lang="es" xmltv_id="TlnovelasAmerica.mx" site_id="584">Tlnovelas América</channel>
|
||||||
|
<channel lang="es" xmltv_id="TNTChile.us" site_id="589">TNT Chile</channel>
|
||||||
|
<channel lang="es" xmltv_id="TNTSeriesColombia.us" site_id="524">TNT Series Colombia</channel>
|
||||||
|
<channel lang="es" xmltv_id="Trece.co" site_id="392">Trece</channel>
|
||||||
|
<channel lang="es" xmltv_id="TruTVAmericaLatina.us" site_id="592">Tru TV América Latina</channel>
|
||||||
|
<channel lang="es" xmltv_id="TVAgro.co" site_id="593">TV Agro</channel>
|
||||||
|
<channel lang="es" xmltv_id="TVFamilia.ve" site_id="1055">TV Familia</channel>
|
||||||
|
<channel lang="es" xmltv_id="UniversalTVAmericaLatina.us" site_id="598">Universal TV América Latina</channel>
|
||||||
|
<channel lang="es" xmltv_id="Venus.ar" site_id="601">Venus</channel>
|
||||||
|
<channel lang="es" xmltv_id="VePlusPanregional.ve" site_id="652">Ve Plus Panregional</channel>
|
||||||
|
<channel lang="es" xmltv_id="WarnerChannelPanregional.us" site_id="608">Warner Channel Panregional</channel>
|
||||||
|
<channel lang="es" xmltv_id="WinSports.co" site_id="828">Win Sports</channel>
|
||||||
|
<channel lang="es" xmltv_id="Zoom.co" site_id="611">Zoom</channel>
|
||||||
|
</channels>
|
||||||
|
</site>
|
Loading…
Add table
Add a link
Reference in a new issue