Replace LF line endings with CRLF

This commit is contained in:
freearhey
2025-09-28 17:55:05 +03:00
parent efc74efcf8
commit b6a589c62a
1192 changed files with 445631 additions and 445631 deletions

View File

@@ -1,15 +1,15 @@
# siba.com.co
https://web.siba.com.co/
### Download the guide
```sh
npm run grab --- --site=siba.com.co
```
### Test
```sh
npm test --- siba.com.co
```
# siba.com.co
https://web.siba.com.co/
### Download the guide
```sh
npm run grab --- --site=siba.com.co
```
### Test
```sh
npm test --- siba.com.co
```

View File

@@ -1,101 +1,101 @@
<?xml version="1.0" encoding="UTF-8"?>
<channels>
<channel site="siba.com.co" lang="es" xmltv_id="" site_id="564">Brazzers TV XX</channel>
<channel site="siba.com.co" lang="es" xmltv_id="AELatinAmerica.us@Chile" site_id="380">A&amp;E Chile</channel>
<channel site="siba.com.co" lang="es" xmltv_id="AMCLatinAmerica.us" site_id="532">AMC</channel>
<channel site="siba.com.co" lang="es" xmltv_id="AnimalPlanetLatinAmerica.us" site_id="382">Animal Planet</channel>
<channel site="siba.com.co" lang="es" xmltv_id="AXNLatinAmerica.us@Andes" site_id="384">AXN</channel>
<channel site="siba.com.co" lang="es" xmltv_id="Cablenoticias.co" site_id="391">Cablenoticias</channel>
<channel site="siba.com.co" lang="es" xmltv_id="Canal1.co" site_id="401">Canal 1</channel>
<channel site="siba.com.co" lang="es" xmltv_id="CanalCapital.co" site_id="393">Canal Capital</channel>
<channel site="siba.com.co" lang="es" xmltv_id="CanalClaro.cl" site_id="395">Canal Claro</channel>
<channel site="siba.com.co" lang="es" xmltv_id="CanalCongreso.co" site_id="397">Canal Congreso</channel>
<channel site="siba.com.co" lang="es" xmltv_id="CanalInstitucional.co" site_id="398">Canal Institucional</channel>
<channel site="siba.com.co" lang="es" xmltv_id="CanalRCN.co" site_id="399">RCN TV</channel>
<channel site="siba.com.co" lang="es" xmltv_id="CanalTRO.co" site_id="591">Canal TRO</channel>
<channel site="siba.com.co" lang="es" xmltv_id="CaracolTV.co" site_id="394">Caracol TV</channel>
<channel site="siba.com.co" lang="es" xmltv_id="CartoonNetworkLatinAmerica.us@NorthAtlantic" site_id="404">Cartoon Network</channel>
<channel site="siba.com.co" lang="es" xmltv_id="Cinecanal.us@Pacific" site_id="407">Cinecanal Chile</channel>
<channel site="siba.com.co" lang="es" xmltv_id="CineLatino.mx" site_id="408">CineLatino</channel>
<channel site="siba.com.co" lang="es" xmltv_id="CinemaPlus.co" site_id="409">Cinema +</channel>
<channel site="siba.com.co" lang="es" xmltv_id="CinemaxLatinAmerica.us" site_id="839">Cinemax Latinoamérica</channel>
<channel site="siba.com.co" lang="es" xmltv_id="CitytvBogota.co" site_id="412">City TV</channel>
<channel site="siba.com.co" lang="es" xmltv_id="ClaroCinema.mx" site_id="985">Claro Cinema</channel>
<channel site="siba.com.co" lang="es" xmltv_id="ClaroMusicaTV.co" site_id="566">Claro música TV</channel>
<channel site="siba.com.co" lang="es" xmltv_id="ClaroSportsChile.cl" site_id="602">Claro Sports Chile</channel>
<channel site="siba.com.co" lang="es" xmltv_id="CNNenEspanol.us" site_id="413">CNN en Español</channel>
<channel site="siba.com.co" lang="es" xmltv_id="ComedyCentralLatinAmerica.us@Panregional" site_id="702">Comedy Central</channel>
<channel site="siba.com.co" lang="es" xmltv_id="Cosmovision.co" site_id="417">Cosmovisión</channel>
<channel site="siba.com.co" lang="es" xmltv_id="Cristovision.co" site_id="418">Cristovisión</channel>
<channel site="siba.com.co" lang="es" xmltv_id="DiscoveryChannelLatinAmerica.us@Panregional" site_id="423">Discovery Channel</channel>
<channel site="siba.com.co" lang="es" xmltv_id="DiscoveryHomeHealthLatinAmerica.mx@Panregional" site_id="425">Discovery Home &amp; Health</channel>
<channel site="siba.com.co" lang="es" xmltv_id="DiscoveryKidsLatinAmerica.us@Panregional" site_id="427">Discovery Kids</channel>
<channel site="siba.com.co" lang="es" xmltv_id="DiscoveryTurboLatinAmerica.us@Panregional" site_id="429">Discovery Turbo</channel>
<channel site="siba.com.co" lang="es" xmltv_id="DisneyChannelLatinAmerica.ar@Center" site_id="430">Disney Channel</channel>
<channel site="siba.com.co" lang="es" xmltv_id="ELatinAmerica.us@Andes" site_id="484">E!</channel>
<channel site="siba.com.co" lang="es" xmltv_id="ElGourmet.ar@Panregional" site_id="485">El Gourmet Norte</channel>
<channel site="siba.com.co" lang="es" xmltv_id="ElTiempoTV.co" site_id="497">El Tiempo TV</channel>
<channel site="siba.com.co" lang="es" xmltv_id="Enlace.cr" site_id="493">Enlace</channel>
<channel site="siba.com.co" lang="es" xmltv_id="ESNETV.us" site_id="486">ESNE TV</channel>
<channel site="siba.com.co" lang="es" xmltv_id="EWTNEspana.es@LatinAmerica" site_id="500">EWTN España - Latinoamérica</channel>
<channel site="siba.com.co" lang="es" xmltv_id="FoodNetworkLatinAmerica.us@Panregional" site_id="991">Food Network Latinoamérica</channel>
<channel site="siba.com.co" lang="es" xmltv_id="FoxSports2LatinAmerica.us@South" site_id="701">Fox Sports 2 Latin America</channel>
<channel site="siba.com.co" lang="es" xmltv_id="FoxSports3LatinAmerica.us@Panregional" site_id="651">Fox Sports 3 Latin America</channel>
<channel site="siba.com.co" lang="es" xmltv_id="FoxSportsLatinAmerica.us@South" site_id="506">Fox Sports Latin America</channel>
<channel site="siba.com.co" lang="es" xmltv_id="FX.cl" site_id="509">FX Chile</channel>
<channel site="siba.com.co" lang="es" xmltv_id="FXMLatinAmerica.us@SD" site_id="586">FXM Chile</channel>
<channel site="siba.com.co" lang="es" xmltv_id="Glitz.ar@Panregional" site_id="510">Glitz</channel>
<channel site="siba.com.co" lang="es" xmltv_id="Golden.mx@Panregional" site_id="513">Golden</channel>
<channel site="siba.com.co" lang="es" xmltv_id="History2LatinAmerica.us@Panregional" site_id="894">History 2</channel>
<channel site="siba.com.co" lang="es" xmltv_id="HistoryLatinAmerica.us@Panregional" site_id="521">History</channel>
<channel site="siba.com.co" lang="es" xmltv_id="HTV.us" site_id="523">HTV</channel>
<channel site="siba.com.co" lang="es" xmltv_id="InvestigationDiscoveryLatinAmerica.us@Panregional" site_id="528">Investigation Discovery</channel>
<channel site="siba.com.co" lang="es" xmltv_id="LasEstrellasLatinAmerica.mx" site_id="396">Las Estrellas</channel>
<channel site="siba.com.co" lang="es" xmltv_id="LifetimeLatinAmerica.us@Panregional" site_id="893">Lifetime</channel>
<channel site="siba.com.co" lang="es" xmltv_id="" site_id="527">Me Gusta</channel>
<channel site="siba.com.co" lang="es" xmltv_id="MTVLatinAmerica.us@Panregional" site_id="544">MTV Latino Sud</channel>
<channel site="siba.com.co" lang="es" xmltv_id="MultiPremier.mx" site_id="547">MultiPremier</channel>
<channel site="siba.com.co" lang="es" xmltv_id="NatGeoKidsLatinAmerica.us@Panregional" site_id="1066">Nat Geo Kids</channel>
<channel site="siba.com.co" lang="es" xmltv_id="NationalGeographicLatinAmerica.us@Panregional" site_id="550">National Geographic</channel>
<channel site="siba.com.co" lang="es" xmltv_id="NationalGeographicWildLatinAmerica.us@Panregional" site_id="548">National Geographic Wild</channel>
<channel site="siba.com.co" lang="es" xmltv_id="NickelodeonLatinAmerica.us@Panregional" site_id="552">Nickelodeon</channel>
<channel site="siba.com.co" lang="es" xmltv_id="NickJrLatinAmerica.us@Panregional" site_id="551">Nick Jr</channel>
<channel site="siba.com.co" lang="es" xmltv_id="NickMusic.us" site_id="745">NickMusic</channel>
<channel site="siba.com.co" lang="es" xmltv_id="NTN24.co" site_id="554">NTN 24</channel>
<channel site="siba.com.co" lang="es" xmltv_id="ParamountNetworkLatinAmerica.us@Panregional" site_id="937">Paramount Network</channel>
<channel site="siba.com.co" lang="es" xmltv_id="PasionesLatinAmerica.us" site_id="555">Pasiones</channel>
<channel site="siba.com.co" lang="es" xmltv_id="PenthouseTV.us" site_id="626">Penthouse TV</channel>
<channel site="siba.com.co" lang="es" xmltv_id="PlayboyTVLatinAmerica.us" site_id="556">Playboy TV</channel>
<channel site="siba.com.co" lang="es" xmltv_id="RCNNovelas.co" site_id="859">RCN Novelas</channel>
<channel site="siba.com.co" lang="es" xmltv_id="RedPlus.co" site_id="421">Red+</channel>
<channel site="siba.com.co" lang="es" xmltv_id="SenalColombia.co" site_id="570">Señal Colombia</channel>
<channel site="siba.com.co" lang="es" xmltv_id="Sextreme.br" site_id="565">Sextreme</channel>
<channel site="siba.com.co" lang="es" xmltv_id="SinLimites.co" site_id="526">Sin Límites</channel>
<channel site="siba.com.co" lang="es" xmltv_id="SonyChannelAndes.us" site_id="571">Sony Channel Andes</channel>
<channel site="siba.com.co" lang="es" xmltv_id="Space.ar@Alternate" site_id="574">Space Chile</channel>
<channel site="siba.com.co" lang="es" xmltv_id="StarChannel.co" site_id="505">Star Channel</channel>
<channel site="siba.com.co" lang="es" xmltv_id="StarLifeLatinAmerica.us@Panregional" site_id="502">Star Life</channel>
<channel site="siba.com.co" lang="es" xmltv_id="StudioUniversalLatinAmerica.us@Chile" site_id="577">Studio Universal Chile</channel>
<channel site="siba.com.co" lang="es" xmltv_id="TBSLatinAmerica.us@Panregional" site_id="578">TBS</channel>
<channel site="siba.com.co" lang="es" xmltv_id="TeleAmiga.co" site_id="579">Tele Amiga</channel>
<channel site="siba.com.co" lang="es" xmltv_id="Teleantioquia.co" site_id="580">Teleantioquia</channel>
<channel site="siba.com.co" lang="es" xmltv_id="Telecafe.co" site_id="581">Telecafé</channel>
<channel site="siba.com.co" lang="es" xmltv_id="Telecaribe.co" site_id="582">Telecaribe</channel>
<channel site="siba.com.co" lang="es" xmltv_id="Teleislas.co" site_id="922">Teleislas</channel>
<channel site="siba.com.co" lang="es" xmltv_id="TelemundoInternacional.us@CentralAmerica" site_id="697">Telemundo</channel>
<channel site="siba.com.co" lang="es" xmltv_id="Telepacifico.co" site_id="585">Telepacífico</channel>
<channel site="siba.com.co" lang="es" xmltv_id="TLCLatinAmerica.us" site_id="587">TLC</channel>
<channel site="siba.com.co" lang="es" xmltv_id="TlnovelasLatinAmerica.mx" site_id="584">Tlnovelas</channel>
<channel site="siba.com.co" lang="es" xmltv_id="TNTLatinAmerica.us@Chile" site_id="589">TNT Chile</channel>
<channel site="siba.com.co" lang="es" xmltv_id="TNTSeriesLatinAmerica.us@Panregional" site_id="524">TNT Series</channel>
<channel site="siba.com.co" lang="es" xmltv_id="Trece.co" site_id="392">Trece</channel>
<channel site="siba.com.co" lang="es" xmltv_id="truTVLatinAmerica.us" site_id="592">Tru TV</channel>
<channel site="siba.com.co" lang="es" xmltv_id="TVAgro.co" site_id="593">TV Agro</channel>
<channel site="siba.com.co" lang="es" xmltv_id="TVFamilia.ve" site_id="1055">TV Familia</channel>
<channel site="siba.com.co" lang="es" xmltv_id="UniversalTVLatinAmerica.us@Colombia" site_id="598">Universal TV</channel>
<channel site="siba.com.co" lang="es" xmltv_id="Venus.ar" site_id="601">Venus</channel>
<channel site="siba.com.co" lang="es" xmltv_id="VePlus.ve@Panregional" site_id="652">Ve Plus Panregional</channel>
<channel site="siba.com.co" lang="es" xmltv_id="WarnerChannel.us@Panregional" site_id="608">Warner Channel Panregional</channel>
<channel site="siba.com.co" lang="es" xmltv_id="WinSports.co" site_id="828">Win Sports</channel>
<channel site="siba.com.co" lang="es" xmltv_id="Zoom.co" site_id="611">Zoom</channel>
<?xml version="1.0" encoding="UTF-8"?>
<channels>
<channel site="siba.com.co" lang="es" xmltv_id="" site_id="564">Brazzers TV XX</channel>
<channel site="siba.com.co" lang="es" xmltv_id="AELatinAmerica.us@Chile" site_id="380">A&amp;E Chile</channel>
<channel site="siba.com.co" lang="es" xmltv_id="AMCLatinAmerica.us" site_id="532">AMC</channel>
<channel site="siba.com.co" lang="es" xmltv_id="AnimalPlanetLatinAmerica.us" site_id="382">Animal Planet</channel>
<channel site="siba.com.co" lang="es" xmltv_id="AXNLatinAmerica.us@Andes" site_id="384">AXN</channel>
<channel site="siba.com.co" lang="es" xmltv_id="Cablenoticias.co" site_id="391">Cablenoticias</channel>
<channel site="siba.com.co" lang="es" xmltv_id="Canal1.co" site_id="401">Canal 1</channel>
<channel site="siba.com.co" lang="es" xmltv_id="CanalCapital.co" site_id="393">Canal Capital</channel>
<channel site="siba.com.co" lang="es" xmltv_id="CanalClaro.cl" site_id="395">Canal Claro</channel>
<channel site="siba.com.co" lang="es" xmltv_id="CanalCongreso.co" site_id="397">Canal Congreso</channel>
<channel site="siba.com.co" lang="es" xmltv_id="CanalInstitucional.co" site_id="398">Canal Institucional</channel>
<channel site="siba.com.co" lang="es" xmltv_id="CanalRCN.co" site_id="399">RCN TV</channel>
<channel site="siba.com.co" lang="es" xmltv_id="CanalTRO.co" site_id="591">Canal TRO</channel>
<channel site="siba.com.co" lang="es" xmltv_id="CaracolTV.co" site_id="394">Caracol TV</channel>
<channel site="siba.com.co" lang="es" xmltv_id="CartoonNetworkLatinAmerica.us@NorthAtlantic" site_id="404">Cartoon Network</channel>
<channel site="siba.com.co" lang="es" xmltv_id="Cinecanal.us@Pacific" site_id="407">Cinecanal Chile</channel>
<channel site="siba.com.co" lang="es" xmltv_id="CineLatino.mx" site_id="408">CineLatino</channel>
<channel site="siba.com.co" lang="es" xmltv_id="CinemaPlus.co" site_id="409">Cinema +</channel>
<channel site="siba.com.co" lang="es" xmltv_id="CinemaxLatinAmerica.us" site_id="839">Cinemax Latinoamérica</channel>
<channel site="siba.com.co" lang="es" xmltv_id="CitytvBogota.co" site_id="412">City TV</channel>
<channel site="siba.com.co" lang="es" xmltv_id="ClaroCinema.mx" site_id="985">Claro Cinema</channel>
<channel site="siba.com.co" lang="es" xmltv_id="ClaroMusicaTV.co" site_id="566">Claro música TV</channel>
<channel site="siba.com.co" lang="es" xmltv_id="ClaroSportsChile.cl" site_id="602">Claro Sports Chile</channel>
<channel site="siba.com.co" lang="es" xmltv_id="CNNenEspanol.us" site_id="413">CNN en Español</channel>
<channel site="siba.com.co" lang="es" xmltv_id="ComedyCentralLatinAmerica.us@Panregional" site_id="702">Comedy Central</channel>
<channel site="siba.com.co" lang="es" xmltv_id="Cosmovision.co" site_id="417">Cosmovisión</channel>
<channel site="siba.com.co" lang="es" xmltv_id="Cristovision.co" site_id="418">Cristovisión</channel>
<channel site="siba.com.co" lang="es" xmltv_id="DiscoveryChannelLatinAmerica.us@Panregional" site_id="423">Discovery Channel</channel>
<channel site="siba.com.co" lang="es" xmltv_id="DiscoveryHomeHealthLatinAmerica.mx@Panregional" site_id="425">Discovery Home &amp; Health</channel>
<channel site="siba.com.co" lang="es" xmltv_id="DiscoveryKidsLatinAmerica.us@Panregional" site_id="427">Discovery Kids</channel>
<channel site="siba.com.co" lang="es" xmltv_id="DiscoveryTurboLatinAmerica.us@Panregional" site_id="429">Discovery Turbo</channel>
<channel site="siba.com.co" lang="es" xmltv_id="DisneyChannelLatinAmerica.ar@Center" site_id="430">Disney Channel</channel>
<channel site="siba.com.co" lang="es" xmltv_id="ELatinAmerica.us@Andes" site_id="484">E!</channel>
<channel site="siba.com.co" lang="es" xmltv_id="ElGourmet.ar@Panregional" site_id="485">El Gourmet Norte</channel>
<channel site="siba.com.co" lang="es" xmltv_id="ElTiempoTV.co" site_id="497">El Tiempo TV</channel>
<channel site="siba.com.co" lang="es" xmltv_id="Enlace.cr" site_id="493">Enlace</channel>
<channel site="siba.com.co" lang="es" xmltv_id="ESNETV.us" site_id="486">ESNE TV</channel>
<channel site="siba.com.co" lang="es" xmltv_id="EWTNEspana.es@LatinAmerica" site_id="500">EWTN España - Latinoamérica</channel>
<channel site="siba.com.co" lang="es" xmltv_id="FoodNetworkLatinAmerica.us@Panregional" site_id="991">Food Network Latinoamérica</channel>
<channel site="siba.com.co" lang="es" xmltv_id="FoxSports2LatinAmerica.us@South" site_id="701">Fox Sports 2 Latin America</channel>
<channel site="siba.com.co" lang="es" xmltv_id="FoxSports3LatinAmerica.us@Panregional" site_id="651">Fox Sports 3 Latin America</channel>
<channel site="siba.com.co" lang="es" xmltv_id="FoxSportsLatinAmerica.us@South" site_id="506">Fox Sports Latin America</channel>
<channel site="siba.com.co" lang="es" xmltv_id="FX.cl" site_id="509">FX Chile</channel>
<channel site="siba.com.co" lang="es" xmltv_id="FXMLatinAmerica.us@SD" site_id="586">FXM Chile</channel>
<channel site="siba.com.co" lang="es" xmltv_id="Glitz.ar@Panregional" site_id="510">Glitz</channel>
<channel site="siba.com.co" lang="es" xmltv_id="Golden.mx@Panregional" site_id="513">Golden</channel>
<channel site="siba.com.co" lang="es" xmltv_id="History2LatinAmerica.us@Panregional" site_id="894">History 2</channel>
<channel site="siba.com.co" lang="es" xmltv_id="HistoryLatinAmerica.us@Panregional" site_id="521">History</channel>
<channel site="siba.com.co" lang="es" xmltv_id="HTV.us" site_id="523">HTV</channel>
<channel site="siba.com.co" lang="es" xmltv_id="InvestigationDiscoveryLatinAmerica.us@Panregional" site_id="528">Investigation Discovery</channel>
<channel site="siba.com.co" lang="es" xmltv_id="LasEstrellasLatinAmerica.mx" site_id="396">Las Estrellas</channel>
<channel site="siba.com.co" lang="es" xmltv_id="LifetimeLatinAmerica.us@Panregional" site_id="893">Lifetime</channel>
<channel site="siba.com.co" lang="es" xmltv_id="" site_id="527">Me Gusta</channel>
<channel site="siba.com.co" lang="es" xmltv_id="MTVLatinAmerica.us@Panregional" site_id="544">MTV Latino Sud</channel>
<channel site="siba.com.co" lang="es" xmltv_id="MultiPremier.mx" site_id="547">MultiPremier</channel>
<channel site="siba.com.co" lang="es" xmltv_id="NatGeoKidsLatinAmerica.us@Panregional" site_id="1066">Nat Geo Kids</channel>
<channel site="siba.com.co" lang="es" xmltv_id="NationalGeographicLatinAmerica.us@Panregional" site_id="550">National Geographic</channel>
<channel site="siba.com.co" lang="es" xmltv_id="NationalGeographicWildLatinAmerica.us@Panregional" site_id="548">National Geographic Wild</channel>
<channel site="siba.com.co" lang="es" xmltv_id="NickelodeonLatinAmerica.us@Panregional" site_id="552">Nickelodeon</channel>
<channel site="siba.com.co" lang="es" xmltv_id="NickJrLatinAmerica.us@Panregional" site_id="551">Nick Jr</channel>
<channel site="siba.com.co" lang="es" xmltv_id="NickMusic.us" site_id="745">NickMusic</channel>
<channel site="siba.com.co" lang="es" xmltv_id="NTN24.co" site_id="554">NTN 24</channel>
<channel site="siba.com.co" lang="es" xmltv_id="ParamountNetworkLatinAmerica.us@Panregional" site_id="937">Paramount Network</channel>
<channel site="siba.com.co" lang="es" xmltv_id="PasionesLatinAmerica.us" site_id="555">Pasiones</channel>
<channel site="siba.com.co" lang="es" xmltv_id="PenthouseTV.us" site_id="626">Penthouse TV</channel>
<channel site="siba.com.co" lang="es" xmltv_id="PlayboyTVLatinAmerica.us" site_id="556">Playboy TV</channel>
<channel site="siba.com.co" lang="es" xmltv_id="RCNNovelas.co" site_id="859">RCN Novelas</channel>
<channel site="siba.com.co" lang="es" xmltv_id="RedPlus.co" site_id="421">Red+</channel>
<channel site="siba.com.co" lang="es" xmltv_id="SenalColombia.co" site_id="570">Señal Colombia</channel>
<channel site="siba.com.co" lang="es" xmltv_id="Sextreme.br" site_id="565">Sextreme</channel>
<channel site="siba.com.co" lang="es" xmltv_id="SinLimites.co" site_id="526">Sin Límites</channel>
<channel site="siba.com.co" lang="es" xmltv_id="SonyChannelAndes.us" site_id="571">Sony Channel Andes</channel>
<channel site="siba.com.co" lang="es" xmltv_id="Space.ar@Alternate" site_id="574">Space Chile</channel>
<channel site="siba.com.co" lang="es" xmltv_id="StarChannel.co" site_id="505">Star Channel</channel>
<channel site="siba.com.co" lang="es" xmltv_id="StarLifeLatinAmerica.us@Panregional" site_id="502">Star Life</channel>
<channel site="siba.com.co" lang="es" xmltv_id="StudioUniversalLatinAmerica.us@Chile" site_id="577">Studio Universal Chile</channel>
<channel site="siba.com.co" lang="es" xmltv_id="TBSLatinAmerica.us@Panregional" site_id="578">TBS</channel>
<channel site="siba.com.co" lang="es" xmltv_id="TeleAmiga.co" site_id="579">Tele Amiga</channel>
<channel site="siba.com.co" lang="es" xmltv_id="Teleantioquia.co" site_id="580">Teleantioquia</channel>
<channel site="siba.com.co" lang="es" xmltv_id="Telecafe.co" site_id="581">Telecafé</channel>
<channel site="siba.com.co" lang="es" xmltv_id="Telecaribe.co" site_id="582">Telecaribe</channel>
<channel site="siba.com.co" lang="es" xmltv_id="Teleislas.co" site_id="922">Teleislas</channel>
<channel site="siba.com.co" lang="es" xmltv_id="TelemundoInternacional.us@CentralAmerica" site_id="697">Telemundo</channel>
<channel site="siba.com.co" lang="es" xmltv_id="Telepacifico.co" site_id="585">Telepacífico</channel>
<channel site="siba.com.co" lang="es" xmltv_id="TLCLatinAmerica.us" site_id="587">TLC</channel>
<channel site="siba.com.co" lang="es" xmltv_id="TlnovelasLatinAmerica.mx" site_id="584">Tlnovelas</channel>
<channel site="siba.com.co" lang="es" xmltv_id="TNTLatinAmerica.us@Chile" site_id="589">TNT Chile</channel>
<channel site="siba.com.co" lang="es" xmltv_id="TNTSeriesLatinAmerica.us@Panregional" site_id="524">TNT Series</channel>
<channel site="siba.com.co" lang="es" xmltv_id="Trece.co" site_id="392">Trece</channel>
<channel site="siba.com.co" lang="es" xmltv_id="truTVLatinAmerica.us" site_id="592">Tru TV</channel>
<channel site="siba.com.co" lang="es" xmltv_id="TVAgro.co" site_id="593">TV Agro</channel>
<channel site="siba.com.co" lang="es" xmltv_id="TVFamilia.ve" site_id="1055">TV Familia</channel>
<channel site="siba.com.co" lang="es" xmltv_id="UniversalTVLatinAmerica.us@Colombia" site_id="598">Universal TV</channel>
<channel site="siba.com.co" lang="es" xmltv_id="Venus.ar" site_id="601">Venus</channel>
<channel site="siba.com.co" lang="es" xmltv_id="VePlus.ve@Panregional" site_id="652">Ve Plus Panregional</channel>
<channel site="siba.com.co" lang="es" xmltv_id="WarnerChannel.us@Panregional" site_id="608">Warner Channel Panregional</channel>
<channel site="siba.com.co" lang="es" xmltv_id="WinSports.co" site_id="828">Win Sports</channel>
<channel site="siba.com.co" lang="es" xmltv_id="Zoom.co" site_id="611">Zoom</channel>
</channels>

View File

@@ -1,56 +1,56 @@
const dayjs = require('dayjs')
module.exports = {
site: 'siba.com.co',
days: 2,
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
}
},
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 : []
}
const dayjs = require('dayjs')
module.exports = {
site: 'siba.com.co',
days: 2,
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
}
},
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 : []
}

View File

@@ -1,54 +1,54 @@
const { parser, url, request } = require('./siba.com.co.config.js')
const fs = require('fs')
const path = require('path')
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'
}
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 parse response', () => {
const content = fs.readFileSync(path.resolve(__dirname, '__data__/content.json'))
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: fs.readFileSync(path.resolve(__dirname, '__data__/no_content.json'))
})
expect(result).toMatchObject([])
})
const { parser, url, request } = require('./siba.com.co.config.js')
const fs = require('fs')
const path = require('path')
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'
}
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 parse response', () => {
const content = fs.readFileSync(path.resolve(__dirname, '__data__/content.json'))
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: fs.readFileSync(path.resolve(__dirname, '__data__/no_content.json'))
})
expect(result).toMatchObject([])
})