Update ziggogo.tv guide.

Signed-off-by: Toha <tohenk@yahoo.com>
This commit is contained in:
Toha 2024-12-28 10:45:24 +07:00
parent 08a6e61f3f
commit d9c8e20a24
No known key found for this signature in database
GPG key ID: 2D7AA6389D44DCAB
15 changed files with 1284 additions and 252 deletions

View file

@ -0,0 +1,191 @@
{
"duration": 21600,
"entries": [
{
"channelId": "NL_000001_019401",
"events": [
{
"audioLanguages": [
{
"lang": "nl"
}
],
"endTime": 1734394200,
"id": "crid:~~2F~~2Fgn.tv~~2F817615~~2FSH010806510000~~2F333413456,imi:a0504c22d2d2eaae392ca8d6c806526535f187ec",
"isPlaceHolder": true,
"mergedId": "817615|nl",
"minimumAge": 0,
"replayTVMinAge": 0,
"startTime": 1734392400,
"title": "NOS Journaal"
},
{
"audioLanguages": [
{
"lang": "nl"
}
],
"endTime": 1734395700,
"id": "crid:~~2F~~2Fgn.tv~~2F28844562~~2FEP027607161610,imi:1d49feeb2ef4e3db0bde030e7cf6e55e06d56fed",
"mergedId": "663871|nl",
"minimumAge": 0,
"replayTVMinAge": 0,
"seriesPremiereAirings": true,
"startTime": 1734394200,
"title": "EenVandaag"
},
{
"audioLanguages": [
{
"lang": "nl"
}
],
"endTime": 1734397500,
"id": "crid:~~2F~~2Fgn.tv~~2F817617~~2FSH041384110000~~2F333413458,imi:a45af34ab01a669d19ed3f20f79281e85e8c7556",
"isPlaceHolder": true,
"mergedId": "817617|nl",
"minimumAge": 0,
"replayTVMinAge": 0,
"startTime": 1734395700,
"title": "NOS Journaal met gebarentaal"
},
{
"audioLanguages": [
{
"lang": "nl"
}
],
"endTime": 1734398700,
"id": "crid:~~2F~~2Fgn.tv~~2F817615~~2FSH010806510000~~2F333413459,imi:e2509236b7e476d832d9085ff2e7a46db40e0776",
"isPlaceHolder": true,
"mergedId": "817615|nl",
"minimumAge": 0,
"replayTVMinAge": 0,
"startTime": 1734397500,
"title": "NOS Journaal"
},
{
"audioLanguages": [
{
"lang": "nl"
}
],
"endTime": 1734411000,
"id": "crid:~~2F~~2Fgn.tv~~2F817615~~2FSH010806510000~~2F333413460,imi:be9930e1b595db9fc0cd740faf7e3004bd7020f1",
"isPlaceHolder": true,
"mergedId": "817615|nl",
"minimumAge": 0,
"replayTVMinAge": 0,
"startTime": 1734398700,
"title": "NOS Journaal"
},
{
"audioLanguages": [
{
"lang": "nl"
}
],
"endTime": 1734411900,
"id": "crid:~~2F~~2Fgn.tv~~2F28645536~~2FEP010806490672,imi:a9453a6db561ecfd43adbdc434f4e1834ec6612b",
"mergedId": "821488|nl",
"minimumAge": 0,
"replayTVMinAge": 0,
"seriesPremiereAirings": true,
"startTime": 1734411000,
"title": "Nederland in Beweging"
},
{
"audioLanguages": [
{
"lang": "nl"
}
],
"endTime": 1734413400,
"id": "crid:~~2F~~2Fgn.tv~~2F28645433~~2FEP010806470906,imi:ec82288a988385e263549f045d36dcdfef4377ec",
"mergedId": "786032|nl",
"minimumAge": 0,
"replayTVMinAge": 0,
"seriesPremiereAirings": true,
"startTime": 1734411900,
"title": "MAX Geheugentrainer"
},
{
"audioLanguages": [
{
"lang": "nl"
}
],
"endTime": 1734413700,
"id": "crid:~~2F~~2Fgn.tv~~2F817615~~2FSH010806510000~~2F333413660,imi:395ca534be4476badd448c053670ee03f61bfcb3",
"isPlaceHolder": true,
"mergedId": "817615|nl",
"minimumAge": 0,
"replayTVMinAge": 0,
"startTime": 1734413400,
"title": "NOS Journaal"
},
{
"audioLanguages": [
{
"lang": "nl"
}
],
"endTime": 1734414000,
"id": "crid:~~2F~~2Fgn.tv~~2F817615~~2FSH010806510000~~2F333413661,imi:a246acc1f3d7db9b2096f4d40cb159ccf3b1b6b4",
"isPlaceHolder": true,
"mergedId": "817615|nl",
"minimumAge": 0,
"replayTVMinAge": 0,
"startTime": 1734413700,
"title": "NOS Journaal"
},
{
"audioLanguages": [
{
"lang": "nl"
}
],
"endTime": 1734414300,
"id": "crid:~~2F~~2Fgn.tv~~2F817615~~2FSH010806510000~~2F333413662,imi:11d60a95d0fcb4c217dd1f5ab7a252826b3d600f",
"isPlaceHolder": true,
"mergedId": "817615|nl",
"minimumAge": 0,
"replayTVMinAge": 0,
"startTime": 1734414000,
"title": "NOS Journaal"
},
{
"audioLanguages": [
{
"lang": "nl"
}
],
"endTime": 1734414600,
"id": "crid:~~2F~~2Fgn.tv~~2F817615~~2FSH010806510000~~2F333413663,imi:aa3f0552f0037cc2e436b17647895a007a457356",
"isPlaceHolder": true,
"mergedId": "817615|nl",
"minimumAge": 0,
"replayTVMinAge": 0,
"startTime": 1734414300,
"title": "NOS Journaal"
},
{
"audioLanguages": [
{
"lang": "nl"
}
],
"endTime": 1734415200,
"id": "crid:~~2F~~2Fgn.tv~~2F817615~~2FSH010806510000~~2F333413664,imi:b45f9715e889373939df0124fdff8f6701997538",
"isPlaceHolder": true,
"mergedId": "817615|nl",
"minimumAge": 0,
"replayTVMinAge": 0,
"startTime": 1734414600,
"title": "NOS Journaal"
}
]
}
],
"time": 1734393600
}

View file

@ -0,0 +1,319 @@
{
"duration": 21600,
"entries": [
{
"channelId": "NL_000001_019401",
"events": [
{
"audioLanguages": [
{
"lang": "nl"
}
],
"endTime": 1734415800,
"id": "crid:~~2F~~2Fgn.tv~~2F817615~~2FSH010806510000~~2F333413665,imi:46496381d6785ef439fd92e074892b5cb070fe21",
"isPlaceHolder": true,
"mergedId": "817615|nl",
"minimumAge": 0,
"replayTVMinAge": 0,
"startTime": 1734415200,
"title": "NOS Journaal"
},
{
"audioLanguages": [
{
"lang": "nl"
}
],
"endTime": 1734417000,
"id": "crid:~~2F~~2Fgn.tv~~2F28842707~~2FEP022675661065,imi:33138a61bfa639696f386a5b8da9052e98cffdf8",
"mergedId": "12128152|nl",
"minimumAge": 0,
"premiere": true,
"replayTVMinAge": 0,
"seriesPremiereAirings": true,
"startTime": 1734415800,
"title": "Goedemorgen Nederland"
},
{
"audioLanguages": [
{
"lang": "nl"
}
],
"endTime": 1734417600,
"id": "crid:~~2F~~2Fgn.tv~~2F817615~~2FSH010806510000~~2F333413667,imi:74a097f412459db55e23f372e3e08273a9a43253",
"isPlaceHolder": true,
"mergedId": "817615|nl",
"minimumAge": 0,
"replayTVMinAge": 0,
"startTime": 1734417000,
"title": "NOS Journaal"
},
{
"audioLanguages": [
{
"lang": "nl"
}
],
"endTime": 1734418800,
"id": "crid:~~2F~~2Fgn.tv~~2F28842707~~2FEP022675661065,imi:b5527231adbc68b104e5c514aa5d61ae56cea41a",
"mergedId": "12128152|nl",
"minimumAge": 0,
"premiere": true,
"replayTVMinAge": 0,
"seriesPremiereAirings": true,
"startTime": 1734417600,
"title": "Goedemorgen Nederland"
},
{
"audioLanguages": [
{
"lang": "nl"
}
],
"endTime": 1734419400,
"id": "crid:~~2F~~2Fgn.tv~~2F817615~~2FSH010806510000~~2F333413669,imi:b7a6a4e860273a4b563d1f758cc7b24135df6193",
"isPlaceHolder": true,
"mergedId": "817615|nl",
"minimumAge": 0,
"replayTVMinAge": 0,
"startTime": 1734418800,
"title": "NOS Journaal"
},
{
"audioLanguages": [
{
"lang": "nl"
}
],
"endTime": 1734420600,
"id": "crid:~~2F~~2Fgn.tv~~2F28842707~~2FEP022675661065,imi:76ffed0a0f6a59b6c811ed2bfd1dac9da02a4548",
"mergedId": "12128152|nl",
"minimumAge": 0,
"premiere": true,
"replayTVMinAge": 0,
"seriesPremiereAirings": true,
"startTime": 1734419400,
"title": "Goedemorgen Nederland"
},
{
"audioLanguages": [
{
"lang": "nl"
}
],
"endTime": 1734421200,
"id": "crid:~~2F~~2Fgn.tv~~2F817615~~2FSH010806510000~~2F333413671,imi:6c3e0a8b37f17f4410753f49b7325c0b0ca79eb0",
"isPlaceHolder": true,
"mergedId": "817615|nl",
"minimumAge": 0,
"replayTVMinAge": 0,
"startTime": 1734420600,
"title": "NOS Journaal"
},
{
"audioLanguages": [
{
"lang": "nl"
}
],
"endTime": 1734422400,
"id": "crid:~~2F~~2Fgn.tv~~2F28842707~~2FEP022675661065,imi:b7fe978e6460a5d8664b70c8c70ea8b4aa1117b2",
"mergedId": "12128152|nl",
"minimumAge": 0,
"premiere": true,
"replayTVMinAge": 0,
"seriesPremiereAirings": true,
"startTime": 1734421200,
"title": "Goedemorgen Nederland"
},
{
"audioLanguages": [
{
"lang": "nl"
}
],
"endTime": 1734423000,
"id": "crid:~~2F~~2Fgn.tv~~2F817615~~2FSH010806510000~~2F333413673,imi:2ec3c65d6b0aabed2c9ea68006713b8490894492",
"isPlaceHolder": true,
"mergedId": "817615|nl",
"minimumAge": 0,
"replayTVMinAge": 0,
"startTime": 1734422400,
"title": "NOS Journaal"
},
{
"audioLanguages": [
{
"lang": "nl"
}
],
"endTime": 1734424200,
"id": "crid:~~2F~~2Fgn.tv~~2F28842707~~2FEP022675661065,imi:3350fb9d91eb36333f5b4a8794e7ab07168e7aeb",
"mergedId": "12128152|nl",
"minimumAge": 0,
"premiere": true,
"replayTVMinAge": 0,
"seriesPremiereAirings": true,
"startTime": 1734423000,
"title": "Goedemorgen Nederland"
},
{
"audioLanguages": [
{
"lang": "nl"
}
],
"endTime": 1734424800,
"id": "crid:~~2F~~2Fgn.tv~~2F817615~~2FSH010806510000~~2F333413675,imi:70abb3e9240138e35b33a86efa4aa2564503f5bc",
"isPlaceHolder": true,
"mergedId": "817615|nl",
"minimumAge": 0,
"replayTVMinAge": 0,
"startTime": 1734424200,
"title": "NOS Journaal"
},
{
"audioLanguages": [
{
"lang": "nl"
}
],
"endTime": 1734426000,
"id": "crid:~~2F~~2Fgn.tv~~2F28842707~~2FEP022675661065,imi:b61742994e35a7fb669464766ca6353b834a4638",
"mergedId": "12128152|nl",
"minimumAge": 0,
"premiere": true,
"replayTVMinAge": 0,
"seriesPremiereAirings": true,
"startTime": 1734424800,
"title": "Goedemorgen Nederland"
},
{
"audioLanguages": [
{
"lang": "nl"
}
],
"endTime": 1734426900,
"id": "crid:~~2F~~2Fgn.tv~~2F817615~~2FSH010806510000~~2F333413677,imi:98b233497245982f8721031d596bd06d908bdb85",
"isPlaceHolder": true,
"mergedId": "817615|nl",
"minimumAge": 0,
"replayTVMinAge": 0,
"startTime": 1734426000,
"title": "NOS Journaal"
},
{
"audioLanguages": [
{
"lang": "nl"
}
],
"endTime": 1734427800,
"id": "crid:~~2F~~2Fgn.tv~~2F28645537~~2FEP010806490673,imi:bc3d2319315c92a500de44ed03eafd5af056d30b",
"mergedId": "821488|nl",
"minimumAge": 0,
"premiere": true,
"replayTVMinAge": 0,
"seriesPremiereAirings": true,
"startTime": 1734426900,
"title": "Nederland in Beweging"
},
{
"audioLanguages": [
{
"lang": "nl"
}
],
"endTime": 1734428700,
"id": "crid:~~2F~~2Fgn.tv~~2F28645434~~2FEP010806470907,imi:f9acadb3f35154fd8a334db2613ac32b9242e770",
"mergedId": "786032|nl",
"minimumAge": 0,
"premiere": true,
"replayTVMinAge": 0,
"seriesPremiereAirings": true,
"startTime": 1734427800,
"title": "MAX Geheugentrainer"
},
{
"audioLanguages": [
{
"lang": "nl"
}
],
"endTime": 1734429600,
"id": "crid:~~2F~~2Fgn.tv~~2F817615~~2FSH010806510000~~2F333413680,imi:29737cafa9ff10b3123209deb20d92ce1d55c7ac",
"isPlaceHolder": true,
"mergedId": "817615|nl",
"minimumAge": 0,
"replayTVMinAge": 0,
"startTime": 1734428700,
"title": "NOS Journaal"
},
{
"audioLanguages": [
{
"lang": "nl"
}
],
"endTime": 1734430500,
"id": "crid:~~2F~~2Fgn.tv~~2F817615~~2FSH010806510000~~2F333413681,imi:1e9a8d2d36ea83195ebc6f039852b2360dc80dd8",
"isPlaceHolder": true,
"mergedId": "817615|nl",
"minimumAge": 0,
"replayTVMinAge": 0,
"startTime": 1734429600,
"title": "NOS Journaal"
},
{
"audioLanguages": [
{
"lang": "nl"
}
],
"endTime": 1734433200,
"id": "crid:~~2F~~2Fgn.tv~~2F28844051~~2FEP021727633057,imi:80799296d5cb1ed1376736d52275c589cf0b2173",
"mergedId": "959050|nl",
"minimumAge": 0,
"replayTVMinAge": 0,
"seriesPremiereAirings": true,
"startTime": 1734430500,
"title": "Tijd voor MAX And Hallo Nederland"
},
{
"audioLanguages": [
{
"lang": "nl"
}
],
"endTime": 1734434100,
"id": "crid:~~2F~~2Fgn.tv~~2F817615~~2FSH010806510000~~2F333413683,imi:444cdc571581dbaf2115a96b3dfc19fcab173a75",
"isPlaceHolder": true,
"mergedId": "817615|nl",
"minimumAge": 0,
"replayTVMinAge": 0,
"startTime": 1734433200,
"title": "NOS Journaal"
},
{
"audioLanguages": [
{
"lang": "nl"
}
],
"endTime": 1734436800,
"id": "crid:~~2F~~2Fgn.tv~~2F28846600~~2FEP041927080294,imi:f55f871daa9f96c70ecefbd7cf29b0c94555032f",
"mergedId": "21574304|nl",
"premiere": true,
"replayTVMinAge": 0,
"seriesPremiereAirings": true,
"startTime": 1734434100,
"title": "Ongehoord Nieuws"
}
]
}
],
"time": 1734415200
}

View file

@ -0,0 +1,239 @@
{
"duration": 21600,
"entries": [
{
"channelId": "NL_000001_019401",
"events": [
{
"audioLanguages": [
{
"lang": "nl"
}
],
"endTime": 1734438000,
"id": "crid:~~2F~~2Fgn.tv~~2F817615~~2FSH010806510000~~2F333413685,imi:539d42e5dc6d0f5857fa9c13071cae89ceff9d50",
"isPlaceHolder": true,
"mergedId": "817615|nl",
"minimumAge": 0,
"replayTVMinAge": 0,
"startTime": 1734436800,
"title": "NOS Journaal"
},
{
"audioLanguages": [
{
"lang": "nl"
}
],
"endTime": 1734440400,
"id": "crid:~~2F~~2Fgn.tv~~2F28846670~~2FEP041927080295,imi:33cbc0a832f9544ef945734c74e3ae634f74d996",
"mergedId": "21574304|nl",
"premiere": true,
"replayTVMinAge": 0,
"seriesPremiereAirings": true,
"startTime": 1734438000,
"title": "Ongehoord Nieuws"
},
{
"audioLanguages": [
{
"lang": "nl"
}
],
"endTime": 1734444000,
"id": "crid:~~2F~~2Fgn.tv~~2F28846748~~2FEP027812200406,imi:8dce8a936d09d1a2d9b7eee6c907dbde8664b329",
"mergedId": "14567018|nl",
"premiere": true,
"replayTVMinAge": 0,
"seriesPremiereAirings": true,
"startTime": 1734440400,
"title": "NOS het vragenuurtje"
},
{
"audioLanguages": [
{
"lang": "nl"
}
],
"endTime": 1734445200,
"id": "crid:~~2F~~2Fgn.tv~~2F817615~~2FSH010806510000~~2F333413689,imi:e885706a6e0500464ad98492794657a93a30784b",
"isPlaceHolder": true,
"mergedId": "817615|nl",
"minimumAge": 0,
"replayTVMinAge": 0,
"startTime": 1734444000,
"title": "NOS Journaal"
},
{
"audioLanguages": [
{
"lang": "nl"
}
],
"endTime": 1734446100,
"id": "crid:~~2F~~2Fgn.tv~~2F817615~~2FSH010806510000~~2F333413690,imi:23a731e1015c2bd03b82e6b47fce26db8ddfc5b5",
"isPlaceHolder": true,
"mergedId": "817615|nl",
"minimumAge": 0,
"replayTVMinAge": 0,
"startTime": 1734445200,
"title": "NOS Journaal"
},
{
"audioLanguages": [
{
"lang": "nl"
}
],
"endTime": 1734447300,
"id": "crid:~~2F~~2Fgn.tv~~2F817615~~2FSH010806510000~~2F333413691,imi:a5799a218edbd62acf72d4764562dedad834e051",
"isPlaceHolder": true,
"mergedId": "817615|nl",
"minimumAge": 0,
"replayTVMinAge": 9,
"startTime": 1734446100,
"title": "NOS Journaal"
},
{
"audioLanguages": [
{
"lang": "nl"
}
],
"endTime": 1734451080,
"id": "crid:~~2F~~2Fgn.tv~~2F28728829~~2FEP052397600066,imi:34a0b026912de96e3546b15ad2983070a250dfd5",
"mergedId": "28002368|nl",
"minimumAge": 9,
"replayTVMinAge": 9,
"seriesPremiereAirings": true,
"startTime": 1734447300,
"title": "Bar Laat"
},
{
"audioLanguages": [
{
"lang": "nl"
}
],
"endTime": 1734451200,
"id": "crid:~~2F~~2Fgn.tv~~2F23984539~~2FEP021725790095,imi:76077546def36be37717b1c2d46bd863de8d9755",
"mergedId": "11721811|nl",
"replayTVMinAge": 9,
"seriesName": "CARE Nederland",
"seriesPremiereAirings": true,
"startTime": 1734451080,
"title": "Socutera"
},
{
"audioLanguages": [
{
"lang": "nl"
}
],
"endTime": 1734451800,
"id": "crid:~~2F~~2Fgn.tv~~2F28047447~~2FSH052589890000~~2F333413694,imi:c4c64504eaeb701fc0561b0b95ef44f76e5350e1",
"isPlaceHolder": true,
"mergedId": "28047447|nl",
"minimumAge": 0,
"replayTVMinAge": 9,
"startTime": 1734451200,
"title": "NOS Journaal in Makkelijke Taal"
},
{
"audioLanguages": [
{
"lang": "nl"
}
],
"endTime": 1734454500,
"id": "crid:~~2F~~2Fgn.tv~~2F28844615~~2FEP021727633058,imi:b614b60f0ee90c3fe3d98d828827381cd3071ef8",
"mergedId": "959050|nl",
"minimumAge": 0,
"premiere": true,
"replayTVMinAge": 0,
"seriesName": "Vluchtelingenwerk NL",
"seriesPremiereAirings": true,
"startTime": 1734451800,
"title": "Tijd voor MAX And Hallo Nederland"
},
{
"audioLanguages": [
{
"lang": "nl"
}
],
"endTime": 1734454620,
"id": "crid:~~2F~~2Fgn.tv~~2F14043893~~2FEP021725040022,imi:3a229c4847ca8162cde658c13732b25eb45953b7",
"mergedId": "11721625|nl",
"replayTVMinAge": 0,
"seriesName": "FvD",
"seriesPremiereAirings": true,
"startTime": 1734454500,
"title": "Politieke Partijen"
},
{
"audioLanguages": [
{
"lang": "nl"
}
],
"endTime": 1734454800,
"id": "crid:~~2F~~2Fgn.tv~~2F19527612~~2FEP021725040026,imi:d8ccbacaf474ae289c1c2d3b4a4fecb816262a2a",
"mergedId": "11721625|nl",
"replayTVMinAge": 0,
"seriesName": "JA21",
"seriesPremiereAirings": true,
"startTime": 1734454620,
"title": "Politieke Partijen"
},
{
"audioLanguages": [
{
"lang": "nl"
}
],
"endTime": 1734455700,
"id": "crid:~~2F~~2Fgn.tv~~2F19275926~~2FSH037283250000~~2F333413698,imi:0c3e271c7a81ec4b8ec2e56c968ab209ed73df7a",
"isPlaceHolder": true,
"mergedId": "19275926|nl",
"minimumAge": 0,
"replayTVMinAge": 0,
"startTime": 1734454800,
"title": "NOS Journaal 18.00 uur"
},
{
"audioLanguages": [
{
"lang": "nl"
}
],
"endTime": 1734456600,
"id": "crid:~~2F~~2Fgn.tv~~2F28689945~~2FEP010806570933,imi:fa3fd8a287520b2b29e574c1a578a9a6c0bc4b2f",
"mergedId": "817618|nl",
"premiere": true,
"replayTVMinAge": 0,
"seriesPremiereAirings": true,
"startTime": 1734455700,
"title": "NOS Sportjournaal"
},
{
"audioLanguages": [
{
"lang": "nl"
}
],
"endTime": 1734458700,
"id": "crid:~~2F~~2Fgn.tv~~2F28844566~~2FEP027607161611,imi:a235382a2fb37bc84737285ac486fa24c650464f",
"mergedId": "663871|nl",
"minimumAge": 0,
"premiere": true,
"replayTVMinAge": 0,
"seriesPremiereAirings": true,
"startTime": 1734456600,
"title": "EenVandaag"
}
]
}
],
"time": 1734436800
}

View file

@ -0,0 +1,167 @@
{
"duration": 21600,
"entries": [
{
"channelId": "NL_000001_019401",
"events": [
{
"audioLanguages": [
{
"lang": "nl"
}
],
"endTime": 1734458700,
"id": "crid:~~2F~~2Fgn.tv~~2F28844566~~2FEP027607161611,imi:a235382a2fb37bc84737285ac486fa24c650464f",
"mergedId": "663871|nl",
"minimumAge": 0,
"premiere": true,
"replayTVMinAge": 0,
"seriesPremiereAirings": true,
"startTime": 1734456600,
"title": "EenVandaag"
},
{
"audioLanguages": [
{
"lang": "nl"
}
],
"endTime": 1734462000,
"id": "crid:~~2F~~2Fgn.tv~~2F28728923~~2FEP052475130062,imi:3566a45b6af153b6932f1075ec5778bebcdc1a27",
"mergedId": "28047018|nl",
"premiere": true,
"replayTVMinAge": 0,
"seriesPremiereAirings": true,
"startTime": 1734458700,
"title": "Eva"
},
{
"audioLanguages": [
{
"lang": "nl"
}
],
"endTime": 1734464100,
"id": "crid:~~2F~~2Fgn.tv~~2F19260669~~2FSH037245330000~~2F333413702,imi:f2c956424007a5d446ac7300bf5028c7c18c4b3e",
"isPlaceHolder": true,
"mergedId": "19260669|nl",
"minimumAge": 0,
"replayTVMinAge": 0,
"startTime": 1734462000,
"title": "NOS Journaal 20.00 uur"
},
{
"audioLanguages": [
{
"lang": "nl"
}
],
"endTime": 1734467100,
"id": "crid:~~2F~~2Fgn.tv~~2F28846901~~2FEP021777850289,imi:a08ac9acbb7f8b98539b389a51103163ba34b001",
"mergedId": "733844|nl",
"minimumAge": 0,
"premiere": true,
"replayTVMinAge": 0,
"seriesName": "Laura & Couzijn - Duitsland",
"seriesPremiereAirings": true,
"startTime": 1734464100,
"title": "Ik Vertrek"
},
{
"audioLanguages": [
{
"lang": "nl"
}
],
"endTime": 1734469800,
"id": "crid:~~2F~~2Fgn.tv~~2F28845033~~2FEP054096370002,imi:7b1291d05a645e87e491b1e737681931638e4cee",
"mergedId": "28794658|nl",
"minimumAge": 0,
"premiere": true,
"replayTVMinAge": 0,
"seriesPremiereAirings": true,
"startTime": 1734467100,
"title": "Kerst met de Bauers"
},
{
"audioLanguages": [
{
"lang": "nl"
}
],
"endTime": 1734473400,
"id": "crid:~~2F~~2Fgn.tv~~2F28728830~~2FEP052397600067,imi:d988334f682dca1b90a425264e4183dce62fd7db",
"mergedId": "28002368|nl",
"premiere": true,
"replayTVMinAge": 0,
"seriesPremiereAirings": true,
"startTime": 1734469800,
"title": "Bar Laat"
},
{
"audioLanguages": [
{
"lang": "nl"
}
],
"endTime": 1734474600,
"id": "crid:~~2F~~2Fgn.tv~~2F19262235~~2FSH037248380000~~2F333413706,imi:4c616bb8a86401c0eed4ced73ea8b8e3e3e1ba4f",
"isPlaceHolder": true,
"mergedId": "19262235|nl",
"replayTVMinAge": 9,
"startTime": 1734473400,
"title": "NOS Journaal Laat"
},
{
"audioLanguages": [
{
"lang": "nl"
}
],
"endTime": 1734475200,
"hasReplayTV": false,
"hasReplayTVOTT": false,
"hasStartOver": false,
"id": "crid:~~2F~~2Fgn.tv~~2F28847044~~2FEP052765240017,imi:33d5c0269a23d5079edb9c3522a491f49567f7d7",
"mergedId": "28198260|nl",
"minimumAge": 9,
"premiere": true,
"replayTVMinAge": 9,
"seriesPremiereAirings": true,
"startTime": 1734474600,
"title": "Opsporing Verzocht in 1 minuut"
},
{
"audioLanguages": [
{
"lang": "nl"
}
],
"endTime": 1734478500,
"id": "crid:~~2F~~2Fgn.tv~~2F28728830~~2FEP052397600067,imi:213300a0a994a32af216d795c394f1de7a214256",
"mergedId": "28002368|nl",
"premiere": true,
"replayTVMinAge": 9,
"seriesPremiereAirings": true,
"startTime": 1734475200,
"title": "Bar Laat"
},
{
"audioLanguages": [
{
"lang": "nl"
}
],
"endTime": 1734482100,
"id": "crid:~~2F~~2Fgn.tv~~2F28728830~~2FEP052397600067,imi:0bf216c04ca985f2ddea6a077cd36b2e19513b27",
"mergedId": "28002368|nl",
"replayTVMinAge": 0,
"seriesPremiereAirings": true,
"startTime": 1734478500,
"title": "Bar Laat"
}
]
}
],
"time": 1734458400
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1 +0,0 @@
{"imageVersion":"DFdqbw","eventId":"crid:~~2F~~2Fgn.tv~~2F817615~~2FSH010806510000~~2F333033007,imi:b6a840f6a097abe22220e1e29a2310c343a3b519","channelId":"NL_000144_019212","title":"NOS Journaal","startTime":1734433200,"endTime":1734433920,"mergedId":"817615|nl","minimumAge":"0","seriesId":"crid:~~2F~~2Fgn.tv~~2F123456789~~2FSH010806510000","parentSeriesId":"crid:~~2F~~2Fgn.tv~~2F817615~~2FSH010806510000","seasonNumber":6510000,"episodeNumber":333033007,"shortDescription":"Met het laatste nieuws, gebeurtenissen van nationaal en internationaal belang en de weersverwachting voor de avond en komende dagen.","longDescription":"Met het laatste nieuws, gebeurtenissen van nationaal en internationaal belang en de weersverwachting voor de avond en komende dagen.","actors":["Afke Boven","Annechien Steenhuizen","Iris De Graaf","Jeroen Overbeek","Malou Petter","Rob Trip","Saïda Maggé","Jeroen Tjepkema","Mark Visser","Simone Weimans"],"audioLanguages":[{"lang":"nl"}],"countryOfOrigin":"NL","genres":["Nieuws"],"isPlaceholder":true}

View file

@ -0,0 +1,45 @@
{
"imageVersion": "y9Fnvg",
"eventId": "crid:~~2F~~2Fgn.tv~~2F28844562~~2FEP027607161610,imi:1d49feeb2ef4e3db0bde030e7cf6e55e06d56fed",
"channelId": "NL_000001_019401",
"title": "EenVandaag",
"startTime": 1734394200,
"endTime": 1734395700,
"mergedId": "663871|nl",
"minimumAge": "0",
"seriesId": "crid:~~2F~~2Fgn.tv~~2F26258514~~2FSH027607160000",
"parentSeriesId": "crid:~~2F~~2Fbds.tv~~2F36652653",
"seasonNumber": 11,
"episodeNumber": 300,
"shortDescription": "Op pad met HTS-rebellen in Syrië. Nieuwe aanpak tegen te veel zitten. VS heeft Tiktok-ban bijna rond. Wat is de rol van Nederland in de onderhandeling rondom Oekraïne?",
"longDescription": "Op pad met HTS-rebellen in Syrië. Nieuwe aanpak tegen te veel zitten. VS heeft Tiktok-ban bijna rond. Wat is de rol van Nederland in de onderhandeling rondom Oekraïne?",
"actors": [
"Rik van de Westelaken",
"Roos Moggré",
"Pieter Jan Hagens",
"Toine van Peperstraten",
"Charlotte Nijs",
"Hila Noorzai",
"Rob Hadders",
"Joyce Boverhuis"
],
"audioLanguages": [
{
"lang": "nl"
}
],
"captionLanguages": [
{
"lang": "nl"
}
],
"productionDate": "2024",
"countryOfOrigin": "NL",
"genres": [
"Nieuws",
"Actualiteit"
],
"actualStartOffset": -47,
"actualEndOffset": 14,
"seriesPremiereAirings": true
}

View file

@ -0,0 +1,46 @@
{
"imageVersion": "wIUIRg",
"eventId": "crid:~~2F~~2Fgn.tv~~2F28842707~~2FEP022675661065,imi:33138a61bfa639696f386a5b8da9052e98cffdf8",
"channelId": "NL_000001_019401",
"title": "Goedemorgen Nederland",
"startTime": 1734415800,
"endTime": 1734417000,
"mergedId": "12128152|nl",
"minimumAge": "0",
"seriesId": "crid:~~2F~~2Fgn.tv~~2F28036241~~2FSH022675660000",
"parentSeriesId": "crid:~~2F~~2Fgn.tv~~2F12128152~~2FSH022675660000",
"seasonNumber": 9,
"episodeNumber": 77,
"shortDescription": "Te gast: politiek verslaggever omroep WNL Tessa van Viegen, Tweede Kamerlid D66 Jan Paternotte, ochtendmens Sjuul Paradijs, zanger Jan Smit en stylist Mari van de Ven.",
"longDescription": "Te gast: politiek verslaggever omroep WNL Tessa van Viegen, Tweede Kamerlid D66 Jan Paternotte, ochtendmens Sjuul Paradijs, zanger Jan Smit en stylist Mari van de Ven.",
"actors": [
"Lisette Wellens",
"Welmoed Sijtsma",
"Frank Van Leeuwen",
"Maaike Timmerman",
"Jill Bleiksloot",
"Tanja Kok",
"Nejifi Ramirez"
],
"audioLanguages": [
{
"lang": "nl"
}
],
"captionLanguages": [
{
"lang": "nl"
}
],
"productionDate": "2024",
"countryOfOrigin": "NL",
"genres": [
"Samenleving",
"Nieuws"
],
"actualStartOffset": 43,
"actualEndOffset": -5,
"seriesPremiereAirings": true,
"premiere": true,
"isLive": true
}

View file

@ -0,0 +1,40 @@
{
"imageVersion": "HPixeQ",
"eventId": "crid:~~2F~~2Fgn.tv~~2F28728829~~2FEP052397600066,imi:34a0b026912de96e3546b15ad2983070a250dfd5",
"channelId": "NL_000001_019401",
"title": "Bar Laat",
"startTime": 1734447300,
"endTime": 1734451080,
"mergedId": "28002368|nl",
"minimumAge": "9",
"replayTvMinAge": 9,
"seriesId": "crid:~~2F~~2Fgn.tv~~2F28002372~~2FSH052397600000",
"parentSeriesId": "crid:~~2F~~2Fgn.tv~~2F28002368~~2FSH052397600000",
"seasonNumber": 1,
"episodeNumber": 65,
"shortDescription": "Bij het Rijnstate Ziekenhuis zijn opnieuw enorme misstanden aan het licht gekomen rond spermadonatie. KRO-NCRV maakte er een docuserie over. Maker Annemieke Ruggenberg schuift aan samen met zaaddonor Peter en donorkinderen Roos en Maria.",
"longDescription": "Bij het Rijnstate Ziekenhuis zijn opnieuw enorme misstanden aan het licht gekomen rond spermadonatie. KRO-NCRV maakte er een docuserie over. Maker Annemieke Ruggenberg schuift aan samen met zaaddonor Peter en donorkinderen Roos en Maria.",
"actors": [
"Sophie Hilbrand",
"Jeroen Pauw",
"Tim de Wit"
],
"audioLanguages": [
{
"lang": "nl"
}
],
"captionLanguages": [
{
"lang": "nl"
}
],
"productionDate": "2024",
"countryOfOrigin": "NL",
"genres": [
"Talkshow"
],
"actualStartOffset": 46,
"actualEndOffset": -397,
"seriesPremiereAirings": true
}

View file

@ -18,79 +18,38 @@
<channel site="ziggogo.tv" lang="en" xmltv_id="" site_id="NL_000216_019122">Curiosity Channel</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="" site_id="NL_000217_019123">Playboy TV Europe</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="" site_id="NL_000221_020041">Dreamworks</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="" site_id="NL_005049_018501">NPO Soul &amp; Jazz</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="" site_id="NL_900016_019441">ESPN</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="2MInternational.ma" site_id="NL_000051_019047">2M</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="24Kitchen.nl" site_id="NL_000024_019701">24Kitchen</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="AlJazeeraEnglish.qa" site_id="NL_000118_019350">Aljazeera English</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="BBCEntertainment.uk" site_id="NL_000044_019491">BBC Entertainment</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="BabyTV.uk" site_id="NL_000091_019490">BabyTV</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="BBCFirstBenelux.uk" site_id="NL_000022_019328">BBC First</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="BBCNewsEurope.uk" site_id="NL_000116_019005">BBC News</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="BBCOne.uk" site_id="NL_000040_020022">BBC One</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="BBCTwo.uk" site_id="NL_000041_019369">BBC Two</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="BoomerangCEE.uk" site_id="NL_000090_019492">Cartoonito</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="CartoonNetwork.nl" site_id="NL_000088_019251">Cartoon Network</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="CNBCEurope.uk" site_id="NL_000119_019481">CNBC Europe</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="CNNInternationalEurope.us" site_id="NL_000115_019447">CNN</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="EuronewsEnglish.fr" site_id="NL_000117_019351">Euronews</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="FashionTVEurope.fr" site_id="NL_000067_020024">Fashion TV HD</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="MTV80s.uk" site_id="NL_000128_019254">MTV 80s</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="MTV90s.uk" site_id="NL_000123_019304">MTV 90s</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="MyZenTV.fr" site_id="NL_000068_020055">MyZen TV</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="PenthouseGold.us" site_id="NL_000171_019313">Penthouse Gold</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="ShortsTV.uk" site_id="NL_000060_019297">Shorts TV</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="SonyEntertainmentTelevisionAsia.in" site_id="NL_000155_020073">SET Asia</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="UtsavGold.in" site_id="NL_000151_020074">Utsav Gold</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="UtsavPlus.uk" site_id="NL_000150_020075">Utsav Plus</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="XMO.nl" site_id="NL_000176_019308">X-MO</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="ZeeCinema.in" site_id="NL_000153_020076">Zee Cinema</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="ZeeTVUK.uk" site_id="NL_000152_020077">Zee TV</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="Zing.uk" site_id="NL_000154_020078">Zing</channel>
<channel site="ziggogo.tv" lang="es" xmltv_id="TVEInternacionalEuropeAsia.es" site_id="NL_000047_019428">TVE</channel>
<channel site="ziggogo.tv" lang="it" xmltv_id="MediasetItalia.it" site_id="NL_000048_020052">Mediaset Italia</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="24Kitchen.nl" site_id="NL_000024_019701">24Kitchen</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="100NLTV.nl" site_id="NL_000133_019271">100% NL TV</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="192TV.nl" site_id="NL_000134_019296">192TV</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="AnimalPlanet.nl" site_id="NL_000078_020002">Animal Planet</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="AT5.nl" site_id="NL_000149_019210">AT5</channel>
<channel site="ziggogo.tv" lang="tr" xmltv_id="ATVAvrupa.tr" site_id="NL_000163_019272">ATV Avrupa</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="BabyTV.uk" site_id="NL_000091_019490">BabyTV</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="BBCFirstBenelux.uk" site_id="NL_000022_019328">BBC First</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="BoomerangCEE.uk" site_id="NL_000090_019492">Cartoonito</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="Canvas.be" site_id="NL_000032_019226">VRT CANVAS</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="CartoonNetwork.nl" site_id="NL_000088_019251">Cartoon Network</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="ComedyCentral.nl" site_id="NL_000015_019166">Comedy Central</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="CrimePlusInvestigation.uk" site_id="NL_000057_019493">Crime+Investigation</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="DiscoveryChannel.nl" site_id="NL_000017_019222">Discovery</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="DiscoveryScience.us" site_id="NL_000075_019246">Discovery Science</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="DisneyChannel.nl" site_id="NL_000027_019330">Disney Channel</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="DuskTV.nl" site_id="NL_000174_019311">DUSK</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="Een.be" site_id="NL_000031_019362">VRT 1</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="EEurope.nl" site_id="NL_000061_019331">E!</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="ESPN2.nl" site_id="NL_000108_019561">ESPN 2</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="ESPN3.nl" site_id="NL_000109_019464">ESPN 3</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="ESPN4.nl" site_id="NL_000110_019562">ESPN 4</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="ESPN.nl" site_id="NL_000107_019441">ESPN</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="EuronewsEnglish.fr" site_id="NL_000117_019351">Euronews</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="Eurosport1.fr" site_id="NL_000020_019432">Eurosport 1</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="Eurosport2.fr" site_id="NL_000103_019581">Eurosport 2</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="EvilAngelTV.us" site_id="NL_000172_019302">Evil Angel</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="Family7.nl" site_id="NL_000081_020051">Family7</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="Film1Action.nl" site_id="NL_000053_019653">Film1 Action</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="Film1Drama.nl" site_id="NL_000055_019645">Film1 Drama</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="FashionTVEurope.fr" site_id="NL_000067_020024">Fashion TV HD</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="Film1Family.nl" site_id="NL_000054_019654">Film1 Family</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="Film1Premiere.nl" site_id="NL_000052_019655">Film1 Premiere</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="Fox.nl" site_id="NL_000011_019563">STAR Channel</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="History.nl" site_id="NL_000028_019705">HISTORY</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="HorseCountryTV.uk" site_id="NL_000069_020071">Horse &amp; Country TV</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="InvestigationDiscoveryEurope.us" site_id="NL_000058_019381">ID</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="Ketnet.be" site_id="NL_000033_019025">Ketnet</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="L1TV.nl" site_id="NL_000148_019144">L1 TV</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="LoveNature.ca" site_id="NL_000191_019261">Love Nature</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="MeidenvanHollandHard.nl" site_id="NL_000175_019312">Meiden van Holland Hard</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="Mezzo.fr" site_id="NL_000130_019274">Mezzo</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="MTV80s.uk" site_id="NL_000128_019254">MTV 80s</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="MTV90s.uk" site_id="NL_000123_019304">MTV 90s</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="MTV.nl" site_id="NL_000023_019363">MTV</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="MTVHitsEurope.uk" site_id="NL_000126_019486">MTV Hits</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="MTVLive.uk" site_id="NL_000135_020029">MTV Live HD</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="MyZenTV.fr" site_id="NL_000068_020055">MyZen TV</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="NationalGeographic.nl" site_id="NL_000018_019221">National Geographic</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="NationalGeographicWild.nl" site_id="NL_000077_019706">National Geographic WILD</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="NET5.nl" site_id="NL_000009_019024">Net5</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="NH.nl" site_id="NL_000142_019211">NH</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="Nickelodeon.nl" site_id="NL_000029_019046">Nickelodeon</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="NickJr.nl" site_id="NL_000087_019303">Nick Jr.</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="NickMusic.nl" site_id="NL_000085_019494">Nick Music</channel>
@ -98,6 +57,57 @@
<channel site="ziggogo.tv" lang="en" xmltv_id="NPO1.nl" site_id="NL_000001_019401">NPO 1</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="NPO1extra.nl" site_id="NL_000063_019307">NPO 1 Extra</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="NPO2.nl" site_id="NL_000002_019402">NPO 2</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="OUTtv.nl" site_id="NL_000064_019275">OUTTV</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="ParamountNetwork.nl" site_id="NL_000016_019388">Paramount Network</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="PenthouseGold.us" site_id="NL_000171_019313">Penthouse Gold</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="RTL4.nl" site_id="NL_000004_019461">RTL 4</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="RTL5.nl" site_id="NL_000005_019462">RTL 5</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="RTL7.nl" site_id="NL_000007_019181">RTL 7</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="RTLTelekids.nl" site_id="NL_000093_019299">RTL Telekids</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="SBS9.nl" site_id="NL_000019_019671">Viaplay TV</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="ShortsTV.uk" site_id="NL_000060_019297">Shorts TV</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="SonyEntertainmentTelevisionAsia.in" site_id="NL_000155_020073">SET Asia</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="TV5MondeEurope.fr" site_id="NL_000045_019354">TV5Monde</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="UtsavGold.in" site_id="NL_000151_020074">Utsav Gold</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="UtsavPlus.uk" site_id="NL_000150_020075">Utsav Plus</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="Veronica.nl" site_id="NL_000008_019442">Veronica / Disney XD</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="XMO.nl" site_id="NL_000176_019308">X-MO</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="ZeeCinema.in" site_id="NL_000153_020076">Zee Cinema</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="ZeeTVUK.uk" site_id="NL_000152_020077">Zee TV</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="ZiggoSportTennis.nl" site_id="NL_000099_019256">Ziggo Sport 6</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="Zing.uk" site_id="NL_000154_020078">Zing</channel>
<channel site="ziggogo.tv" lang="es" xmltv_id="TVEInternacionalEuropeAsia.es" site_id="NL_000047_019428">TVE</channel>
<channel site="ziggogo.tv" lang="it" xmltv_id="MediasetItalia.it" site_id="NL_000048_020052">Mediaset Italia</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="" site_id="NL_000223_019293">HGTV</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="" site_id="NL_000226_019309">Brazzers TV</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="" site_id="NL_000227_019310">Dorcel TV</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="" site_id="NL_200034_100000">Sony Max</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="" site_id="NL_200035_100000">Colors TV</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="100NLTV.nl" site_id="NL_000133_019271">100% NL TV</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="192TV.nl" site_id="NL_000134_019296">192TV</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="AnimalPlanet.nl" site_id="NL_000078_020002">Animal Planet</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="AT5.nl" site_id="NL_000149_019210">AT5</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="Canvas.be" site_id="NL_000032_019226">VRT CANVAS</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="DiscoveryChannel.nl" site_id="NL_000017_019222">Discovery</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="DisneyChannel.nl" site_id="NL_000027_019330">Disney Channel</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="Een.be" site_id="NL_000031_019362">VRT 1</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="EEurope.nl" site_id="NL_000061_019331">E!</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="ESPN2.nl" site_id="NL_000108_019561">ESPN 2</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="ESPN3.nl" site_id="NL_000109_019464">ESPN 3</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="ESPN4.nl" site_id="NL_000110_019562">ESPN 4</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="ESPN.nl" site_id="NL_000107_019441">ESPN</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="Family7.nl" site_id="NL_000081_020051">Family7</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="Film1Action.nl" site_id="NL_000053_019653">Film1 Action</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="Film1Drama.nl" site_id="NL_000055_019645">Film1 Drama</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="Film1Premiere.nl" site_id="NL_000052_019655">Film1 Premiere</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="History.nl" site_id="NL_000028_019705">HISTORY</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="HorseCountryTV.uk" site_id="NL_000069_020071">Horse &amp; Country TV</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="Ketnet.be" site_id="NL_000033_019025">Ketnet</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="L1TV.nl" site_id="NL_000148_019144">L1 TV</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="LoveNature.ca" site_id="NL_000191_019261">Love Nature</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="MeidenvanHollandHard.nl" site_id="NL_000175_019312">Meiden van Holland Hard</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="Mezzo.fr" site_id="NL_000130_019274">Mezzo</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="NH.nl" site_id="NL_000142_019211">NH</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="NPO2extra.nl" site_id="NL_000080_019484">NPO 2 Extra</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="NPO3.nl" site_id="NL_000003_019405">NPO 3</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="NPOPolitiekenNieuws.nl" site_id="NL_000114_019151">NPO Politiek en Nieuws</channel>
@ -106,43 +116,34 @@
<channel site="ziggogo.tv" lang="nl" xmltv_id="OmroepZeeland.nl" site_id="NL_000146_019213">Omroep Zeeland</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="OmropFryslan.nl" site_id="NL_000137_019214">Omrop Fryslân</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="ONS.nl" site_id="NL_000030_019152">ONS</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="OUTtv.nl" site_id="NL_000064_019275">OUTTV</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="ParamountNetwork.nl" site_id="NL_000016_019388">Paramount Network</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="PassieXXX.nl" site_id="NL_000173_019305">PassieXXX</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="RTL4.nl" site_id="NL_000004_019461">RTL 4</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="RTL5.nl" site_id="NL_000005_019462">RTL 5</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="RTL7.nl" site_id="NL_000007_019181">RTL 7</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="RTL8.nl" site_id="NL_000010_019422">RTL 8</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="RTLCrime.nl" site_id="NL_000056_019483">RTL Crime</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="RTLLounge.nl" site_id="NL_000072_019298">RTL Lounge</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="RTLTelekids.nl" site_id="NL_000093_019299">RTL Telekids</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="RTLZ.nl" site_id="NL_000012_019191">RTL Z</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="RTVDrenthe.nl" site_id="NL_000138_019591">RTV Drenthe</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="RTVUtrecht.nl" site_id="NL_000143_019207">RTV Utrecht</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="SBS6.nl" site_id="NL_000006_019130">SBS6</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="SBS9.nl" site_id="NL_000019_019671">SBS9</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="Slam.nl" site_id="NL_000125_019294">SLAM!TV</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="StingrayClassica.ca" site_id="NL_000129_020044">Stingray Classica</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="StingrayDJAZZ.ca" site_id="NL_000131_019248">Stingray DJAZZ</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="StingrayLiteTV.ca" site_id="NL_000127_019295">Stingray LiteTV</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="TLC.nl" site_id="NL_000021_019566">TLC</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="TV5MondeEurope.fr" site_id="NL_000045_019354">TV5Monde</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="TV538.nl" site_id="NL_000122_019495">TV538</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="TVGelderland.nl" site_id="NL_000140_019594">Omroep Gelderland</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="TVNoord.nl" site_id="NL_000136_019583">RTV Noord</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="TVOost.be" site_id="NL_000139_019592">RTV Oost</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="TVOost.be" site_id="NL_000139_019592">Oost</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="TVOrange.nl" site_id="NL_000132_019278">TV Oranje</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="TVRijnmond.nl" site_id="NL_000145_019208">RTV Rijnmond</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="TVWest.nl" site_id="NL_000144_019212">RTV West</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="Veronica.nl" site_id="NL_000008_019442">Veronica / Disney XD</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="XITE.nl" site_id="NL_000025_019708">XITE</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="ZiggoSport.nl" site_id="NL_000014_019661">Ziggo Sport</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="ZiggoSportDocu.nl" site_id="NL_000098_019255">Ziggo Sport Docu</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="ZiggoSportGolf.nl" site_id="NL_000096_019382">Ziggo Sport Golf</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="ZiggoSportRacing.nl" site_id="NL_000097_019370">Ziggo Sport Racing</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="ZiggoSportSelect.nl" site_id="NL_000094_019321">Ziggo Sport Select</channel>
<channel site="ziggogo.tv" lang="en" xmltv_id="ZiggoSportTennis.nl" site_id="NL_000099_019256">Ziggo Sport Tennis</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="ZiggoSportVoetbal.nl" site_id="NL_000095_019371">Ziggo Sport Voetbal</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="ZiggoSportDocu.nl" site_id="NL_000098_019255">Ziggo Sport 5</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="ZiggoSportGolf.nl" site_id="NL_000096_019382">Ziggo Sport 3</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="ZiggoSportRacing.nl" site_id="NL_000097_019370">Ziggo Sport 4</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="ZiggoSportSelect.nl" site_id="NL_000094_019321">Ziggo Sport</channel>
<channel site="ziggogo.tv" lang="nl" xmltv_id="ZiggoSportVoetbal.nl" site_id="NL_000095_019371">Ziggo Sport 2</channel>
<channel site="ziggogo.tv" lang="tr" xmltv_id="ATVAvrupa.tr" site_id="NL_000163_019272">ATV Avrupa</channel>
<channel site="ziggogo.tv" lang="tr" xmltv_id="EuroD.tr" site_id="NL_000157_019270">Euro D</channel>
<channel site="ziggogo.tv" lang="tr" xmltv_id="EuroStar.tr" site_id="NL_000158_019266">Eurostar</channel>
<channel site="ziggogo.tv" lang="tr" xmltv_id="HaberturkTV.tr" site_id="NL_000159_019273">Habertürk</channel>
@ -151,4 +152,4 @@
<channel site="ziggogo.tv" lang="tr" xmltv_id="TRTMuzik.tr" site_id="NL_000164_020070">TRT Müzik</channel>
<channel site="ziggogo.tv" lang="tr" xmltv_id="TRTTurk.tr" site_id="NL_000050_019353">TRT Türk</channel>
<channel site="ziggogo.tv" lang="tr" xmltv_id="TV8International.tr" site_id="NL_000160_019277">TV8 Int.</channel>
</channels>
</channels>

View file

@ -1,138 +1,114 @@
const axios = require('axios')
const dayjs = require('dayjs')
const utc = require('dayjs/plugin/utc')
const doFetch = require('@ntlab/sfetch')
const debug = require('debug')('site:ziggogo.tv')
const API_ENDPOINT = 'https://static.spark.ziggogo.tv/eng/web/epg-service-lite'
dayjs.extend(utc)
doFetch.setDebugger(debug)
const detailedGuide = true
module.exports = {
site: 'ziggogo.tv',
days: 2,
request: {
cache: {
ttl: 60 * 60 * 1000 // 1 hour
ttl: 24 * 60 * 60 * 1000 // 1 day
}
},
url: function ({ date }) {
return `${API_ENDPOINT}/nl/en/events/segments/${date.format('YYYYMMDDHHmmss')}`
url({ date, segment = 0 }) {
return `https://static.spark.ziggogo.tv/eng/web/epg-service-lite/nl/en/events/segments/${
date.format('YYYYMMDD')
}${
segment.toString().padStart(2, '0')
}0000`
},
async parser({ content, channel, date }) {
let programs = []
let items = parseItems(content, channel)
if (!items.length) return programs
const promises = [
axios.get(
`${API_ENDPOINT}/nl/en/events/segments/${date.add(6, 'h').format('YYYYMMDDHHmmss')}`,
{
responseType: 'arraybuffer'
}
),
axios.get(
`${API_ENDPOINT}/nl/en/events/segments/${date.add(12, 'h').format('YYYYMMDDHHmmss')}`,
{
responseType: 'arraybuffer'
}
),
axios.get(
`${API_ENDPOINT}/nl/en/events/segments/${date.add(18, 'h').format('YYYYMMDDHHmmss')}`,
{
responseType: 'arraybuffer'
}
)
]
await Promise.allSettled(promises)
.then(results => {
results.forEach(r => {
if (r.status === 'fulfilled') {
const parsed = parseItems(r.value.data, channel)
items = items.concat(parsed)
const programs = []
if (content) {
const items = typeof content === 'string' ? JSON.parse(content) : content
if (Array.isArray(items.entries)) {
// fetch other segments
const queues = [
module.exports.url({ date, segment: 6}),
module.exports.url({ date, segment: 12}),
module.exports.url({ date, segment: 18}),
]
await doFetch(queues, (url, res) => {
if (Array.isArray(res.entries)) {
items.entries.push(...res.entries)
}
})
})
.catch(console.error)
for (let item of items) {
const detail = await loadProgramDetails(item)
programs.push({
title: item.title,
description: detail.longDescription,
category: detail.genres,
actors: detail.actors,
season: parseSeason(detail),
episode: parseEpisode(detail),
start: parseStart(item),
stop: parseStop(item)
})
items.entries
.filter(item => item.channelId === channel.site_id)
.forEach(item => {
if (Array.isArray(item.events)){
if (detailedGuide) {
queues.push(...item.events
.map(event =>
`https://spark-prod-nl.gnp.cloud.ziggogo.tv/eng/web/linear-service/v2/replayEvent/${
event.id
}?returnLinearContent=true&forceLinearResponse=true&language=nl`
)
)
} else {
item.events.forEach(event => {
programs.push({
title: event.title,
start: dayjs.utc(event.startTime * 1000),
stop: dayjs.utc(event.endTime * 1000)
})
})
}
}
})
// fetch detailed guide
if (queues.length) {
await doFetch(queues, (url, res) => {
programs.push({
title: res.title,
subTitle: res.episodeName,
description: res.longDescription ? res.longDescription : res.shortDescription,
category: res.genres,
season: res.seasonNumber,
episode: res.episodeNumber,
country: res.countryOfOrigin,
actor: res.actors,
director: res.directors,
producer: res.producers,
date: res.productionDate,
start: dayjs.utc(res.startTime * 1000),
stop: dayjs.utc(res.endTime * 1000)
})
})
}
}
}
return programs
},
async channels() {
const data = await axios
.get(
'https://spark-prod-nl.gnp.cloud.ziggogo.tv/eng/web/linear-service/v2/channels?cityId=65535&language=en&productClass=Orion-DASH'
)
const channels = []
const axios = require('axios')
const res = await axios
.get('https://spark-prod-nl.gnp.cloud.ziggogo.tv/eng/web/linear-service/v2/channels?cityId=65535&language=en&productClass=Orion-DASH&platform=web')
.then(r => r.data)
.catch(console.log)
.catch(console.error)
return data.map(item => {
return {
lang: 'nl',
site_id: item.id,
name: item.name
}
})
}
}
async function loadProgramDetails(event) {
if (!event || !event.id) {
console.log("Invalid event object:", event)
return {}
}
try {
const response = await fetch(`https://spark-prod-nl.gnp.cloud.ziggogo.tv/eng/web/linear-service/v2/replayEvent/${event.id}?returnLinearContent=true&language=nl`)
const data = await response.json()
if (data && typeof data === 'object' && Object.keys(data).length > 0) {
return data
} else {
console.log("No data in response")
return {}
if (Array.isArray(res)) {
channels.push(...res
.filter(item => !item.isHidden)
.map(item => {
return {
lang: 'nl',
site_id: item.id,
name: item.name
}
})
)
}
} catch (error) {
console.log("Error fetching data:", error)
return {}
return channels
}
}
function parseStart(item) {
return dayjs.unix(item.startTime)
}
function parseStop(item) {
return dayjs.unix(item.endTime)
}
function parseItems(content, channel) {
if (!content) return []
const data = JSON.parse(content)
if (!data || !Array.isArray(data.entries)) return []
const channelData = data.entries.find(e => e.channelId === channel.site_id)
if (!channelData) return []
return Array.isArray(channelData.events) ? channelData.events : []
}
function parseSeason(detail) {
if (!detail.seasonNumber) return null
if (String(detail.seasonNumber).length > 2) return null
return detail.seasonNumber
}
function parseEpisode(detail) {
if (!detail.episodeNumber) return null
if (String(detail.episodeNumber).length > 3) return null
return detail.episodeNumber
}

View file

@ -5,6 +5,7 @@ const axios = require('axios')
const dayjs = require('dayjs')
const utc = require('dayjs/plugin/utc')
const customParseFormat = require('dayjs/plugin/customParseFormat')
dayjs.extend(customParseFormat)
dayjs.extend(utc)
@ -13,84 +14,96 @@ jest.mock('axios')
const date = dayjs.utc('2024-12-17', 'YYYY-MM-DD').startOf('d')
const channel = {
site_id: 'NL_000001_019401',
xmltv_id: 'NPO1.nl',
lang: 'nl'
xmltv_id: 'NPO1.nl'
}
axios.get.mockImplementation(url => {
const urls = {
'https://static.spark.ziggogo.tv/eng/web/epg-service-lite/nl/en/events/segments/20241217000000':
'content00.json',
'https://static.spark.ziggogo.tv/eng/web/epg-service-lite/nl/en/events/segments/20241217060000':
'content06.json',
'https://static.spark.ziggogo.tv/eng/web/epg-service-lite/nl/en/events/segments/20241217120000':
'content12.json',
'https://static.spark.ziggogo.tv/eng/web/epg-service-lite/nl/en/events/segments/20241217180000':
'content18.json',
'https://spark-prod-nl.gnp.cloud.ziggogo.tv/eng/web/linear-service/v2/replayEvent/crid:~~2F~~2Fgn.tv~~2F28844562~~2FEP027607161610,imi:1d49feeb2ef4e3db0bde030e7cf6e55e06d56fed?returnLinearContent=true&forceLinearResponse=true&language=nl':
'program01.json',
'https://spark-prod-nl.gnp.cloud.ziggogo.tv/eng/web/linear-service/v2/replayEvent/crid:~~2F~~2Fgn.tv~~2F28842707~~2FEP022675661065,imi:33138a61bfa639696f386a5b8da9052e98cffdf8?returnLinearContent=true&forceLinearResponse=true&language=nl':
'program02.json',
'https://spark-prod-nl.gnp.cloud.ziggogo.tv/eng/web/linear-service/v2/replayEvent/crid:~~2F~~2Fgn.tv~~2F28728829~~2FEP052397600066,imi:34a0b026912de96e3546b15ad2983070a250dfd5?returnLinearContent=true&forceLinearResponse=true&language=nl':
'program03.json',
}
let data = ''
if (urls[url] !== undefined) {
data = fs.readFileSync(path.join(__dirname, '__data__', urls[url])).toString()
if (!urls[url].startsWith('content00')) {
data = JSON.parse(data)
}
}
return Promise.resolve({ data })
})
it('can generate valid url', () => {
expect(url({ date, channel })).toBe(
expect(url({ date })).toBe(
'https://static.spark.ziggogo.tv/eng/web/epg-service-lite/nl/en/events/segments/20241217000000'
)
})
it('can parse response', async () => {
const content = fs.readFileSync(path.resolve(__dirname, '__data__/content_0000.json'))
const content = await axios.get(url({ date }))
.then(response => response.data)
.catch(console.error)
const result = (await parser({ content, channel, date }))
.map(p => {
p.start = p.start.toJSON()
p.stop = p.stop.toJSON()
return p
})
axios.get.mockImplementation(url => {
if (
url ===
'https://static.spark.ziggogo.tv/eng/web/epg-service-lite/nl/en/events/segments/20241217060000'
) {
return Promise.resolve({
data: fs.readFileSync(path.resolve(__dirname, '__data__/content_0600.json'))
})
} else if (
url ===
'https://static.spark.ziggogo.tv/eng/web/epg-service-lite/nl/en/events/segments/20241217120000'
) {
return Promise.resolve({
data: fs.readFileSync(path.resolve(__dirname, '__data__/content_1200.json'))
})
} else if (
url ===
'https://static.spark.ziggogo.tv/eng/web/epg-service-lite/nl/en/events/segments/20241217180000'
) {
return Promise.resolve({
data: fs.readFileSync(path.resolve(__dirname, '__data__/content_1800.json'))
})
} else if (
url ===
'https://prod.spark.ziggogo.tv/eng/web/linear-service/v2/replayEvent/crid:~~2F~~2Fgn.tv~~2F817615~~2FSH010806510000~~2F333033007,imi:b6a840f6a097abe22220e1e29a2310c343a3b519?returnLinearContent=true&language=nl'
) {
return Promise.resolve({
data: JSON.parse(fs.readFileSync(path.resolve(__dirname, '__data__/program.json')))
})
} else {
return Promise.resolve({ data: '' })
}
})
let results = await parser({ content, channel, date })
results = results.map(p => {
p.start = p.start.toJSON()
p.stop = p.stop.toJSON()
return p
})
expect(results[0]).toMatchObject({
start: '2024-12-16T23:40:00.000Z',
stop: '2024-12-17T00:10:00.000Z',
title: 'NOS Journaal',
expect(result.length).toBe(3)
expect(result[0]).toMatchObject({
start: '2024-12-17T00:10:00.000Z',
stop: '2024-12-17T00:35:00.000Z',
title: 'EenVandaag',
description:
'Met het laatste nieuws, gebeurtenissen van nationaal en internationaal belang en de weersverwachting voor de avond en komende dagen.',
category: ['Nieuws'],
actors: [
"Afke Boven",
"Annechien Steenhuizen",
"Iris De Graaf",
"Jeroen Overbeek",
"Malou Petter",
"Rob Trip",
"Saïda Maggé",
"Jeroen Tjepkema",
"Mark Visser",
"Simone Weimans"
'Op pad met HTS-rebellen in Syrië. Nieuwe aanpak tegen te veel zitten. VS heeft Tiktok-ban bijna rond. Wat is de rol van Nederland in de onderhandeling rondom Oekraïne?',
category: ['Nieuws', 'Actualiteit'],
season: 11,
episode: 300,
actor: [
'Rik van de Westelaken',
'Roos Moggré',
'Pieter Jan Hagens',
'Toine van Peperstraten',
'Charlotte Nijs',
'Hila Noorzai',
'Rob Hadders',
'Joyce Boverhuis'
]
})
expect(result[2]).toMatchObject({
start: '2024-12-17T14:55:00.000Z',
stop: '2024-12-17T15:58:00.000Z',
title: 'Bar Laat',
description:
'Bij het Rijnstate Ziekenhuis zijn opnieuw enorme misstanden aan het licht gekomen rond spermadonatie. KRO-NCRV maakte er een docuserie over. Maker Annemieke Ruggenberg schuift aan samen met zaaddonor Peter en donorkinderen Roos en Maria.',
category: ['Talkshow'],
season: 1,
episode: 65,
actor: [
'Sophie Hilbrand',
'Jeroen Pauw',
'Tim de Wit'
]
})
})
it('can handle empty guide', async () => {
let results = await parser({ content: '', channel, date })
expect(results).toMatchObject([])
const result = await parser({
content: '',
channel,
date
})
expect(result).toMatchObject([])
})