diff --git a/package-lock.json b/package-lock.json
index 14c68c4f..d5a4104f 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -14,7 +14,7 @@
"commander": "^8.2.0",
"csv-parser": "^3.0.0",
"dayjs": "^1.10.8",
- "epg-grabber": "^0.28.6",
+ "epg-grabber": "^0.29.1",
"epg-parser": "^0.1.6",
"form-data": "^4.0.0",
"fs-extra": "^10.0.1",
@@ -2285,9 +2285,9 @@
}
},
"node_modules/epg-grabber": {
- "version": "0.28.6",
- "resolved": "https://registry.npmjs.org/epg-grabber/-/epg-grabber-0.28.6.tgz",
- "integrity": "sha512-Cx8acZ9O1dnLaSztCRSnATi/LBroc9wcVbe2fsa9s1pAj0a/FujbR2O1C2O/EzexENhTFlgLpTjpNJ+4i9LkYw==",
+ "version": "0.29.1",
+ "resolved": "https://registry.npmjs.org/epg-grabber/-/epg-grabber-0.29.1.tgz",
+ "integrity": "sha512-D2j5EsjIi/bZRf/AOgMt5NBbEzImrcC3RInAv4JybTO78CZDAvOCX3hRqDWcluKF6ms0r87+0a3W4NcbX794Uw==",
"dependencies": {
"axios": "^0.21.1",
"axios-cache-interceptor": "^0.10.3",
@@ -2993,9 +2993,9 @@
}
},
"node_modules/got": {
- "version": "11.8.3",
- "resolved": "https://registry.npmjs.org/got/-/got-11.8.3.tgz",
- "integrity": "sha512-7gtQ5KiPh1RtGS9/Jbv1ofDpBFuq42gyfEib+ejaRBJuj/3tQFeR5+gw57e4ipaU8c/rCjvX6fkQz2lyDlGAOg==",
+ "version": "11.8.5",
+ "resolved": "https://registry.npmjs.org/got/-/got-11.8.5.tgz",
+ "integrity": "sha512-o0Je4NvQObAuZPHLFoRSkdG2lTgtcynqymzg2Vupdx6PorhaT5MCbIyXG6d4D94kk8ZG57QeosgdiqfJWhEhlQ==",
"dependencies": {
"@sindresorhus/is": "^4.0.0",
"@szmarczak/http-timer": "^4.0.5",
@@ -7857,9 +7857,9 @@
"integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A=="
},
"epg-grabber": {
- "version": "0.28.6",
- "resolved": "https://registry.npmjs.org/epg-grabber/-/epg-grabber-0.28.6.tgz",
- "integrity": "sha512-Cx8acZ9O1dnLaSztCRSnATi/LBroc9wcVbe2fsa9s1pAj0a/FujbR2O1C2O/EzexENhTFlgLpTjpNJ+4i9LkYw==",
+ "version": "0.29.1",
+ "resolved": "https://registry.npmjs.org/epg-grabber/-/epg-grabber-0.29.1.tgz",
+ "integrity": "sha512-D2j5EsjIi/bZRf/AOgMt5NBbEzImrcC3RInAv4JybTO78CZDAvOCX3hRqDWcluKF6ms0r87+0a3W4NcbX794Uw==",
"requires": {
"axios": "^0.21.1",
"axios-cache-interceptor": "^0.10.3",
@@ -8372,9 +8372,9 @@
"integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA=="
},
"got": {
- "version": "11.8.3",
- "resolved": "https://registry.npmjs.org/got/-/got-11.8.3.tgz",
- "integrity": "sha512-7gtQ5KiPh1RtGS9/Jbv1ofDpBFuq42gyfEib+ejaRBJuj/3tQFeR5+gw57e4ipaU8c/rCjvX6fkQz2lyDlGAOg==",
+ "version": "11.8.5",
+ "resolved": "https://registry.npmjs.org/got/-/got-11.8.5.tgz",
+ "integrity": "sha512-o0Je4NvQObAuZPHLFoRSkdG2lTgtcynqymzg2Vupdx6PorhaT5MCbIyXG6d4D94kk8ZG57QeosgdiqfJWhEhlQ==",
"requires": {
"@sindresorhus/is": "^4.0.0",
"@szmarczak/http-timer": "^4.0.5",
diff --git a/package.json b/package.json
index d6b59cb7..6d5004bd 100644
--- a/package.json
+++ b/package.json
@@ -38,7 +38,7 @@
"commander": "^8.2.0",
"csv-parser": "^3.0.0",
"dayjs": "^1.10.8",
- "epg-grabber": "^0.28.6",
+ "epg-grabber": "^0.29.1",
"epg-parser": "^0.1.6",
"form-data": "^4.0.0",
"fs-extra": "^10.0.1",
diff --git a/scripts/commands/cluster/load.js b/scripts/commands/cluster/load.js
index a322b4c8..160b0e1b 100644
--- a/scripts/commands/cluster/load.js
+++ b/scripts/commands/cluster/load.js
@@ -1,5 +1,5 @@
const _ = require('lodash')
-const { EPGGrabber } = require('epg-grabber')
+const { EPGGrabber, Channel } = require('epg-grabber')
const { program } = require('commander')
const { db, logger, timer, file, parser } = require('../../core')
const dayjs = require('dayjs')
@@ -47,9 +47,10 @@ async function main() {
})
const grabber = new EPGGrabber(config)
for (const item of items) {
- await grabber.grab(item.channel, item.date, async (data, err) => {
+ const channel = new Channel(item.channel)
+ await grabber.grab(channel, item.date, async (data, err) => {
logger.info(
- `[${i}/${total}] ${item.channel.site} (${item.channel.lang}) - ${item.channel.id} - ${dayjs
+ `[${i}/${total}] ${channel.site} (${channel.lang}) - ${channel.id} - ${dayjs
.utc(data.date)
.format('MMM D, YYYY')} (${data.programs.length} programs)`
)
diff --git a/scripts/commands/guides/update.js b/scripts/commands/guides/update.js
index ab4ccde5..59e624a5 100644
--- a/scripts/commands/guides/update.js
+++ b/scripts/commands/guides/update.js
@@ -25,11 +25,11 @@ async function main() {
if (channels[item.channel.id]) continue
channels[item.channel.id] = new Channel(item.channel)
}
+ programs = _.sortBy(programs, ['channel', 'start'])
+ programs = programs.map(p => new Program(p, channels[p.channel]))
+ total += programs.length
channels = Object.values(channels)
channels = _.sortBy(channels, 'id')
- programs = _.sortBy(programs, ['channel', 'start'])
- programs = programs.map(p => new Program(p))
- total += programs.length
const filepath = `${PUBLIC_DIR}/guides/${key}.epg.xml`
logger.info(`Creating "${filepath}"...`)
diff --git a/scripts/commands/programs/save.js b/scripts/commands/programs/save.js
index bbad2fdf..41b9e2f0 100644
--- a/scripts/commands/programs/save.js
+++ b/scripts/commands/programs/save.js
@@ -1,5 +1,5 @@
const { db, logger, file, parser } = require('../../core')
-const { Program } = require('epg-grabber')
+const { Program, Channel } = require('epg-grabber')
const _ = require('lodash')
const LOGS_DIR = process.env.LOGS_DIR || 'scripts/logs'
@@ -16,8 +16,9 @@ async function main() {
const queue = await db.queue.find({ _id: result._qid }).limit(1)
if (!queue.length) continue
const item = queue[0]
+ const c = new Channel(item.channel)
const programs = result.programs.map(p => {
- p = new Program(p)
+ p = new Program(p, c)
p._qid = result._qid
return p
diff --git a/tests/__data__/expected/database/programs.db b/tests/__data__/expected/database/programs.db
index 331f90d7..48c6128c 100644
--- a/tests/__data__/expected/database/programs.db
+++ b/tests/__data__/expected/database/programs.db
@@ -1,23 +1 @@
-{"title":"InfoNeu ","actors":[],"adapters":[],"commentators":[],"composers":[],"date":null,"directors":[],"editors":[],"guests":[],"presenters":[],"producers":[],"sub_title":"","urls":[],"writers":[],"description":"","categories":[],"episodeNumbers":[],"icon":{"src":""},"ratings":[],"channel":"AndorraTV.ad","start":1641711600000,"stop":1641715200000,"site": "chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"6AzYe7lqcSN05ZUq"}
-{"title":"Club Piolet","actors":[],"adapters":[],"commentators":[],"composers":[],"date":null,"directors":[],"editors":[],"guests":[],"presenters":[],"producers":[],"sub_title":"","urls":[],"writers":[],"description":"","categories":[],"episodeNumbers":[],"icon":{"src":""},"ratings":[],"channel":"AndorraTV.ad","start":1641715200000,"stop":1641718800000,"site": "chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"5vmbOpGwkj1Dc8FJ"}
-{"title":"InfoNeu ","actors":[],"adapters":[],"commentators":[],"composers":[],"date":null,"directors":[],"editors":[],"guests":[],"presenters":[],"producers":[],"sub_title":"","urls":[],"writers":[],"description":"","categories":[],"episodeNumbers":[],"icon":{"src":""},"ratings":[],"channel":"AndorraTV.ad","start":1641718800000,"stop":1641729600000,"site": "chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"ThxnjcPz8zOuRZuF"}
-{"title":"Andorra Actualitat (RNA)","actors":[],"adapters":[],"commentators":[],"composers":[],"date":null,"directors":[],"editors":[],"guests":[],"presenters":[],"producers":[],"sub_title":"","urls":[],"writers":[],"description":"","categories":[],"episodeNumbers":[],"icon":{"src":""},"ratings":[],"channel":"AndorraTV.ad","start":1641729600000,"stop":1641730800000,"site": "chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"p8kQkIzlX2ebpIfN"}
-{"title":"El Trànsit","actors":[],"adapters":[],"commentators":[],"composers":[],"date":null,"directors":[],"editors":[],"guests":[],"presenters":[],"producers":[],"sub_title":"","urls":[],"writers":[],"description":"","categories":[],"episodeNumbers":[],"icon":{"src":""},"ratings":[],"channel":"AndorraTV.ad","start":1641730800000,"stop":1641732000000,"site": "chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"DYZHd71eCvOl49jT"}
-{"title":"El Trànsit","actors":[],"adapters":[],"commentators":[],"composers":[],"date":null,"directors":[],"editors":[],"guests":[],"presenters":[],"producers":[],"sub_title":"","urls":[],"writers":[],"description":"","categories":[],"episodeNumbers":[],"icon":{"src":""},"ratings":[],"channel":"AndorraTV.ad","start":1641732000000,"stop":1641732300000,"site": "chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"EkIqGqryukUIkwLg"}
-{"title":"Informatiu migdia","actors":[],"adapters":[],"commentators":[],"composers":[],"date":null,"directors":[],"editors":[],"guests":[],"presenters":[],"producers":[],"sub_title":"","urls":[],"writers":[],"description":"","categories":[],"episodeNumbers":[],"icon":{"src":""},"ratings":[],"channel":"AndorraTV.ad","start":1641732300000,"stop":1641733800000,"site": "chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"ILpRjp36kwPoEG03"}
-{"title":"El Trànsit","actors":[],"adapters":[],"commentators":[],"composers":[],"date":null,"directors":[],"editors":[],"guests":[],"presenters":[],"producers":[],"sub_title":"","urls":[],"writers":[],"description":"","categories":[],"episodeNumbers":[],"icon":{"src":""},"ratings":[],"channel":"AndorraTV.ad","start":1641733800000,"stop":1641736200000,"site": "chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"dqKxildlF1bMGLrU"}
-{"title":"La Terre vue du Sport","actors":[],"adapters":[],"commentators":[],"composers":[],"date":null,"directors":[],"editors":[],"guests":[],"presenters":[],"producers":[],"sub_title":"","urls":[],"writers":[],"description":"","categories":[],"episodeNumbers":[],"icon":{"src":""},"ratings":[],"channel":"AndorraTV.ad","start":1641736200000,"stop":1641736800000,"site": "chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"gGgrefSDo9Gqlfy2"}
-{"title":"Informatiu migdia","actors":[],"adapters":[],"commentators":[],"composers":[],"date":null,"directors":[],"editors":[],"guests":[],"presenters":[],"producers":[],"sub_title":"","urls":[],"writers":[],"description":"","categories":[],"episodeNumbers":[],"icon":{"src":""},"ratings":[],"channel":"AndorraTV.ad","start":1641736800000,"stop":1641738300000,"site": "chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"LSDJTeJ2L9PUcgEM"}
-{"title":"Club Piolet","actors":[],"adapters":[],"commentators":[],"composers":[],"date":null,"directors":[],"editors":[],"guests":[],"presenters":[],"producers":[],"sub_title":"","urls":[],"writers":[],"description":"","categories":[],"episodeNumbers":[],"icon":{"src":""},"ratings":[],"channel":"AndorraTV.ad","start":1641738300000,"stop":1641741900000,"site": "chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"c5jmzbB2jGzY3aY3"}
-{"title":"Informatiu migdia","actors":[],"adapters":[],"commentators":[],"composers":[],"date":null,"directors":[],"editors":[],"guests":[],"presenters":[],"producers":[],"sub_title":"","urls":[],"writers":[],"description":"","categories":[],"episodeNumbers":[],"icon":{"src":""},"ratings":[],"channel":"AndorraTV.ad","start":1641741900000,"stop":1641743400000,"site": "chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"j9pYfk5wvqBTSFUf"}
-{"title":"El Trànsit","actors":[],"adapters":[],"commentators":[],"composers":[],"date":null,"directors":[],"editors":[],"guests":[],"presenters":[],"producers":[],"sub_title":"","urls":[],"writers":[],"description":"","categories":[],"episodeNumbers":[],"icon":{"src":""},"ratings":[],"channel":"AndorraTV.ad","start":1641743400000,"stop":1641750900000,"site": "chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"eb91kjF1CeJh52Oy"}
-{"title":"La rotonda","actors":[],"adapters":[],"commentators":[],"composers":[],"date":null,"directors":[],"editors":[],"guests":[],"presenters":[],"producers":[],"sub_title":"","urls":[],"writers":[],"description":"","categories":[],"episodeNumbers":[],"icon":{"src":""},"ratings":[],"channel":"AndorraTV.ad","start":1641750900000,"stop":1641753600000,"site": "chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"NTNNjmk2r6uTVIBz"}
-{"title":"Club Piolet","actors":[],"adapters":[],"commentators":[],"composers":[],"date":null,"directors":[],"editors":[],"guests":[],"presenters":[],"producers":[],"sub_title":"","urls":[],"writers":[],"description":"","categories":[],"episodeNumbers":[],"icon":{"src":""},"ratings":[],"channel":"AndorraTV.ad","start":1641753600000,"stop":1641757200000,"site": "chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"5ulSbWY45V6krNjX"}
-{"title":"El Trànsit","actors":[],"adapters":[],"commentators":[],"composers":[],"date":null,"directors":[],"editors":[],"guests":[],"presenters":[],"producers":[],"sub_title":"","urls":[],"writers":[],"description":"","categories":[],"episodeNumbers":[],"icon":{"src":""},"ratings":[],"channel":"AndorraTV.ad","start":1641757200000,"stop":1641757500000,"site": "chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"Eh3UMow3zKnqz8mq"}
-{"title":"Informatiu vespre","actors":[],"adapters":[],"commentators":[],"composers":[],"date":null,"directors":[],"editors":[],"guests":[],"presenters":[],"producers":[],"sub_title":"","urls":[],"writers":[],"description":"","categories":[],"episodeNumbers":[],"icon":{"src":""},"ratings":[],"channel":"AndorraTV.ad","start":1641757500000,"stop":1641759000000,"site": "chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"P3Fce8tELLKRN4Wu"}
-{"title":"Recull setmanal","actors":[],"adapters":[],"commentators":[],"composers":[],"date":null,"directors":[],"editors":[],"guests":[],"presenters":[],"producers":[],"sub_title":"","urls":[],"writers":[],"description":"","categories":[],"episodeNumbers":[],"icon":{"src":""},"ratings":[],"channel":"AndorraTV.ad","start":1641759000000,"stop":1641761100000,"site": "chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"BmcYIFHG15JCrdKs"}
-{"title":"Memòries d'arxiu: 10 anys d'ATV","actors":[],"adapters":[],"commentators":[],"composers":[],"date":null,"directors":[],"editors":[],"guests":[],"presenters":[],"producers":[],"sub_title":"","urls":[],"writers":[],"description":"","categories":[],"episodeNumbers":[],"icon":{"src":""},"ratings":[],"channel":"AndorraTV.ad","start":1641761100000,"stop":1641763800000,"site": "chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"1ZbtgoH47f297xyb"}
-{"title":"El cafè dels matins","actors":[],"adapters":[],"commentators":[],"composers":[],"date":null,"directors":[],"editors":[],"guests":[],"presenters":[],"producers":[],"sub_title":"","urls":[],"writers":[],"description":"","categories":[],"episodeNumbers":[],"icon":{"src":""},"ratings":[],"channel":"AndorraTV.ad","start":1641763800000,"stop":1641766800000,"site": "chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"Zrrg7bLwvjMe0jqb"}
-{"title":"La Terre vue du Sport","actors":[],"adapters":[],"commentators":[],"composers":[],"date":null,"directors":[],"editors":[],"guests":[],"presenters":[],"producers":[],"sub_title":"","urls":[],"writers":[],"description":"","categories":[],"episodeNumbers":[],"icon":{"src":""},"ratings":[],"channel":"AndorraTV.ad","start":1641766800000,"stop":1641767400000,"site": "chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"Q5qBBURrSryIIS2V"}
-{"title":"Informatiu vespre","actors":[],"adapters":[],"commentators":[],"composers":[],"date":null,"directors":[],"editors":[],"guests":[],"presenters":[],"producers":[],"sub_title":"","urls":[],"writers":[],"description":"","categories":[],"episodeNumbers":[],"icon":{"src":""},"ratings":[],"channel":"AndorraTV.ad","start":1641767400000,"stop":1641772800000,"site": "chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"yEMHeWXc4Si9sGb1"}
-{"title":"Àrea Andorra Difusió","actors":[],"adapters":[],"commentators":[],"composers":[],"date":null,"directors":[],"editors":[],"guests":[],"presenters":[],"producers":[],"sub_title":"","urls":[],"writers":[],"description":"","categories":[],"episodeNumbers":[],"icon":{"src":""},"ratings":[],"channel":"AndorraTV.ad","start":1641772800000,"stop":1641776400000,"site": "chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"vPe2XXH6Knru6zzL"}
+{"titles":[{"lang":"en","value":"InfoNeu "}],"actors":[],"adapters":[],"commentators":[],"composers":[],"date":null,"directors":[],"editors":[],"guests":[],"presenters":[],"producers":[],"sub_titles":[],"urls":[],"writers":[],"descriptions":[],"categories":[],"episodeNumbers":[],"icon":{"src":""},"ratings":[],"channel":"AndorraTV.ad","start":1641711600000,"stop":1641715200000,"site": "chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"6AzYe7lqcSN05ZUq"}
diff --git a/tests/__data__/expected/guides/bh/chaines-tv.orange.fr.epg.xml b/tests/__data__/expected/guides/bh/chaines-tv.orange.fr.epg.xml
index 6a4ff195..61118187 100644
--- a/tests/__data__/expected/guides/bh/chaines-tv.orange.fr.epg.xml
+++ b/tests/__data__/expected/guides/bh/chaines-tv.orange.fr.epg.xml
@@ -1,35 +1,5 @@
CNN Internationalhttps://chaines-tv.orange.fr
-CNN Newsroom SundayСвежая мировая информационная сводка от CNN. О политике, экономике, общественной жизни, культуре, спорте.Category1Category2
-Fareed Zakaria GPSИнтервью с главными игроками мировой политики.Category1
-African Voices Changemakers. 114-я серия114-я серия. Африка сегодня - люди, новости, события.
-Marketplace Africa. 549-я серия549-я серия. Информационная передача об экономических событиях африканского региона. Анализируются проблемы, даются экономические прогнозы.
-Marketplace Africa. 548-я серия548-я серия. Информационная передача об экономических событиях африканского региона. Анализируются проблемы, даются экономические прогнозы.
-TBDИнформационно-познавательный проект CNN.
-Inside Africa. 586-я серия586-я серия. Своеобразное "путешествие" по Африке - почувствуйте все разнообразие культур различных стран и регионов континента.
-CNN Newsroom with Michael HolmesОбзор самых важных и актуальных новостей и событий из жизни страны и мира.
-World SportВсе о главных спортивных событиях мира. Обзоры самых важных спортивных событий, аналитика, мнения экспертов.
-CNN Newsroom with Michael HolmesОбзор самых важных и актуальных новостей и событий из жизни страны и мира.
-CNN Newsroom with Robyn CurnowОбзор самых важных и актуальных новостей и событий из жизни страны и мира.
-World SportВсе о главных спортивных событиях мира. Обзоры самых важных спортивных событий, аналитика, мнения экспертов.
-CNN Newsroom with Rosemary ChurchСвежая мировая информационная сводка от CNN. О политике, экономике, общественной жизни, культуре, спорте.
-Early StartНовости дня с Кристиной Романс и Дейвом Бриггсом.
-New DayСвежий обзор событий в стране и мире.
-World SportВсе о главных спортивных событиях мира. Обзоры самых важных спортивных событий, аналитика, мнения экспертов.
-First Move with Julia ChatterleyНесколько больших историй, связанных с открытием рынков в США.
-Connect the WorldАктуальная мировая информация с разных континентов.
-World SportВсе о главных спортивных событиях мира. Обзоры самых важных спортивных событий, аналитика, мнения экспертов.
-Connect the WorldАктуальная мировая информация с разных континентов.
-One World with Zain AsherОсвещаются важные новости с каждого континента, от политики и текущих дел до социальных вопросов и многого другого.
-Marketplace Africa. 549-я серия549-я серия. Информационная передача об экономических событиях африканского региона. Анализируются проблемы, даются экономические прогнозы.
-AmanpourСводка новостей от знаменитой ведущей канала CNN.
-Hala Gorani TonightИспользуя свой 25-летний журналистский опыт, Хала Горани будет освещать ключевые события в картине дня посредством диалога с гостями и экспертами-аналитиками.
-Quest Means BusinessРичард Квест возглавляет группу экспертов и корреспондентов, чтобы предоставить актуальные факты, цифры и анализ из делового мира.
-Connecting Africa. 114-я серия114-я серия. Проект, рассказывающий о людях и компаниях, которые совершают революцию в африканском бизнесе, и о тех, кто объединяет континент, выступая за свободную торговлю в Африке.
-The Lead with Jake TapperОперативная сводка новостей страны и мира.
-The Global Brief with Bianca NobiloGlobal Brief с Бьянкой Нобило проницательно исследует меняющийся мир для меняющейся аудитории, обеспечивая непревзойденную глубину и качество для занятых зрителей в быстро меняющемся мире.
-World SportВсе о главных спортивных событиях мира. Обзоры самых важных спортивных событий, аналитика, мнения экспертов.
-The Situation Room with Wolf BlitzerКомандный центр новостей, политики и неординарных репортажей со всего мира.
-Erin Burnett OutFrontОбсуждение самых важных мировых тем в эфире канала CNN.
-Anderson Cooper 360Уникальный взгляд Андерсона Купера на главные события мира.
+World SportВсе о главных спортивных событиях мира. Обзоры самых важных спортивных событий, аналитика, мнения экспертов.
+Connecting Africa. 114-я серия114-я серия. Проект, рассказывающий о людях и компаниях, которые совершают революцию в африканском бизнесе, и о тех, кто объединяет континент, выступая за свободную торговлю в Африке.
\ No newline at end of file
diff --git a/tests/__data__/expected/guides/bh/chaines-tv.orange.fr.epg.xml.gz b/tests/__data__/expected/guides/bh/chaines-tv.orange.fr.epg.xml.gz
index ef089667..5281d05c 100644
Binary files a/tests/__data__/expected/guides/bh/chaines-tv.orange.fr.epg.xml.gz and b/tests/__data__/expected/guides/bh/chaines-tv.orange.fr.epg.xml.gz differ
diff --git a/tests/__data__/expected/guides/fr/chaines-tv.orange.fr.epg.xml b/tests/__data__/expected/guides/fr/chaines-tv.orange.fr.epg.xml
index 6a4ff195..61118187 100644
--- a/tests/__data__/expected/guides/fr/chaines-tv.orange.fr.epg.xml
+++ b/tests/__data__/expected/guides/fr/chaines-tv.orange.fr.epg.xml
@@ -1,35 +1,5 @@
CNN Internationalhttps://chaines-tv.orange.fr
-CNN Newsroom SundayСвежая мировая информационная сводка от CNN. О политике, экономике, общественной жизни, культуре, спорте.Category1Category2
-Fareed Zakaria GPSИнтервью с главными игроками мировой политики.Category1
-African Voices Changemakers. 114-я серия114-я серия. Африка сегодня - люди, новости, события.
-Marketplace Africa. 549-я серия549-я серия. Информационная передача об экономических событиях африканского региона. Анализируются проблемы, даются экономические прогнозы.
-Marketplace Africa. 548-я серия548-я серия. Информационная передача об экономических событиях африканского региона. Анализируются проблемы, даются экономические прогнозы.
-TBDИнформационно-познавательный проект CNN.
-Inside Africa. 586-я серия586-я серия. Своеобразное "путешествие" по Африке - почувствуйте все разнообразие культур различных стран и регионов континента.
-CNN Newsroom with Michael HolmesОбзор самых важных и актуальных новостей и событий из жизни страны и мира.
-World SportВсе о главных спортивных событиях мира. Обзоры самых важных спортивных событий, аналитика, мнения экспертов.
-CNN Newsroom with Michael HolmesОбзор самых важных и актуальных новостей и событий из жизни страны и мира.
-CNN Newsroom with Robyn CurnowОбзор самых важных и актуальных новостей и событий из жизни страны и мира.
-World SportВсе о главных спортивных событиях мира. Обзоры самых важных спортивных событий, аналитика, мнения экспертов.
-CNN Newsroom with Rosemary ChurchСвежая мировая информационная сводка от CNN. О политике, экономике, общественной жизни, культуре, спорте.
-Early StartНовости дня с Кристиной Романс и Дейвом Бриггсом.
-New DayСвежий обзор событий в стране и мире.
-World SportВсе о главных спортивных событиях мира. Обзоры самых важных спортивных событий, аналитика, мнения экспертов.
-First Move with Julia ChatterleyНесколько больших историй, связанных с открытием рынков в США.
-Connect the WorldАктуальная мировая информация с разных континентов.
-World SportВсе о главных спортивных событиях мира. Обзоры самых важных спортивных событий, аналитика, мнения экспертов.
-Connect the WorldАктуальная мировая информация с разных континентов.
-One World with Zain AsherОсвещаются важные новости с каждого континента, от политики и текущих дел до социальных вопросов и многого другого.
-Marketplace Africa. 549-я серия549-я серия. Информационная передача об экономических событиях африканского региона. Анализируются проблемы, даются экономические прогнозы.
-AmanpourСводка новостей от знаменитой ведущей канала CNN.
-Hala Gorani TonightИспользуя свой 25-летний журналистский опыт, Хала Горани будет освещать ключевые события в картине дня посредством диалога с гостями и экспертами-аналитиками.
-Quest Means BusinessРичард Квест возглавляет группу экспертов и корреспондентов, чтобы предоставить актуальные факты, цифры и анализ из делового мира.
-Connecting Africa. 114-я серия114-я серия. Проект, рассказывающий о людях и компаниях, которые совершают революцию в африканском бизнесе, и о тех, кто объединяет континент, выступая за свободную торговлю в Африке.
-The Lead with Jake TapperОперативная сводка новостей страны и мира.
-The Global Brief with Bianca NobiloGlobal Brief с Бьянкой Нобило проницательно исследует меняющийся мир для меняющейся аудитории, обеспечивая непревзойденную глубину и качество для занятых зрителей в быстро меняющемся мире.
-World SportВсе о главных спортивных событиях мира. Обзоры самых важных спортивных событий, аналитика, мнения экспертов.
-The Situation Room with Wolf BlitzerКомандный центр новостей, политики и неординарных репортажей со всего мира.
-Erin Burnett OutFrontОбсуждение самых важных мировых тем в эфире канала CNN.
-Anderson Cooper 360Уникальный взгляд Андерсона Купера на главные события мира.
+World SportВсе о главных спортивных событиях мира. Обзоры самых важных спортивных событий, аналитика, мнения экспертов.
+Connecting Africa. 114-я серия114-я серия. Проект, рассказывающий о людях и компаниях, которые совершают революцию в африканском бизнесе, и о тех, кто объединяет континент, выступая за свободную торговлю в Африке.
\ No newline at end of file
diff --git a/tests/__data__/expected/guides/fr/chaines-tv.orange.fr.epg.xml.gz b/tests/__data__/expected/guides/fr/chaines-tv.orange.fr.epg.xml.gz
index ef089667..5281d05c 100644
Binary files a/tests/__data__/expected/guides/fr/chaines-tv.orange.fr.epg.xml.gz and b/tests/__data__/expected/guides/fr/chaines-tv.orange.fr.epg.xml.gz differ
diff --git a/tests/__data__/expected/guides/ge/magticom.ge.epg.xml b/tests/__data__/expected/guides/ge/magticom.ge.epg.xml
index 66b5ac61..9a4ed48e 100644
--- a/tests/__data__/expected/guides/ge/magticom.ge.epg.xml
+++ b/tests/__data__/expected/guides/ge/magticom.ge.epg.xml
@@ -1,35 +1,3 @@
CNN Internationalhttps://magticom.ge
-CNN Newsroom SundayСвежая мировая информационная сводка от CNN. О политике, экономике, общественной жизни, культуре, спорте.Category1Category2
-Fareed Zakaria GPSИнтервью с главными игроками мировой политики.Category1
-African Voices Changemakers. 114-я серия114-я серия. Африка сегодня - люди, новости, события.
-Marketplace Africa. 549-я серия549-я серия. Информационная передача об экономических событиях африканского региона. Анализируются проблемы, даются экономические прогнозы.
-Marketplace Africa. 548-я серия548-я серия. Информационная передача об экономических событиях африканского региона. Анализируются проблемы, даются экономические прогнозы.
-TBDИнформационно-познавательный проект CNN.
-Inside Africa. 586-я серия586-я серия. Своеобразное "путешествие" по Африке - почувствуйте все разнообразие культур различных стран и регионов континента.
-CNN Newsroom with Michael HolmesОбзор самых важных и актуальных новостей и событий из жизни страны и мира.
-World SportВсе о главных спортивных событиях мира. Обзоры самых важных спортивных событий, аналитика, мнения экспертов.
-CNN Newsroom with Michael HolmesОбзор самых важных и актуальных новостей и событий из жизни страны и мира.
-CNN Newsroom with Robyn CurnowОбзор самых важных и актуальных новостей и событий из жизни страны и мира.
-World SportВсе о главных спортивных событиях мира. Обзоры самых важных спортивных событий, аналитика, мнения экспертов.
-CNN Newsroom with Rosemary ChurchСвежая мировая информационная сводка от CNN. О политике, экономике, общественной жизни, культуре, спорте.
-Early StartНовости дня с Кристиной Романс и Дейвом Бриггсом.
-New DayСвежий обзор событий в стране и мире.
-World SportВсе о главных спортивных событиях мира. Обзоры самых важных спортивных событий, аналитика, мнения экспертов.
-First Move with Julia ChatterleyНесколько больших историй, связанных с открытием рынков в США.
-Connect the WorldАктуальная мировая информация с разных континентов.
-World SportВсе о главных спортивных событиях мира. Обзоры самых важных спортивных событий, аналитика, мнения экспертов.
-Connect the WorldАктуальная мировая информация с разных континентов.
-One World with Zain AsherОсвещаются важные новости с каждого континента, от политики и текущих дел до социальных вопросов и многого другого.
-Marketplace Africa. 549-я серия549-я серия. Информационная передача об экономических событиях африканского региона. Анализируются проблемы, даются экономические прогнозы.
-AmanpourСводка новостей от знаменитой ведущей канала CNN.
-Hala Gorani TonightИспользуя свой 25-летний журналистский опыт, Хала Горани будет освещать ключевые события в картине дня посредством диалога с гостями и экспертами-аналитиками.
-Quest Means BusinessРичард Квест возглавляет группу экспертов и корреспондентов, чтобы предоставить актуальные факты, цифры и анализ из делового мира.
-Connecting Africa. 114-я серия114-я серия. Проект, рассказывающий о людях и компаниях, которые совершают революцию в африканском бизнесе, и о тех, кто объединяет континент, выступая за свободную торговлю в Африке.
-The Lead with Jake TapperОперативная сводка новостей страны и мира.
-The Global Brief with Bianca NobiloGlobal Brief с Бьянкой Нобило проницательно исследует меняющийся мир для меняющейся аудитории, обеспечивая непревзойденную глубину и качество для занятых зрителей в быстро меняющемся мире.
-World SportВсе о главных спортивных событиях мира. Обзоры самых важных спортивных событий, аналитика, мнения экспертов.
-The Situation Room with Wolf BlitzerКомандный центр новостей, политики и неординарных репортажей со всего мира.
-Erin Burnett OutFrontОбсуждение самых важных мировых тем в эфире канала CNN.
-Anderson Cooper 360Уникальный взгляд Андерсона Купера на главные события мира.
\ No newline at end of file
diff --git a/tests/__data__/expected/guides/ge/magticom.ge.epg.xml.gz b/tests/__data__/expected/guides/ge/magticom.ge.epg.xml.gz
index d1c5d56d..e51b3221 100644
Binary files a/tests/__data__/expected/guides/ge/magticom.ge.epg.xml.gz and b/tests/__data__/expected/guides/ge/magticom.ge.epg.xml.gz differ
diff --git a/tests/__data__/expected/guides/zw/dstv.com.epg.xml b/tests/__data__/expected/guides/zw/dstv.com.epg.xml
index 43c46972..efb0e0ab 100644
--- a/tests/__data__/expected/guides/zw/dstv.com.epg.xml
+++ b/tests/__data__/expected/guides/zw/dstv.com.epg.xml
@@ -1,17 +1,4 @@
M-Net Movies 2https://dstv.com
-Fatman8.256.0/1S09E257
-Motherless Brooklyn
-The Water Diviner
-Outbreak
-Paranoia
-Beyond The Line
-Backdraft
-Mafia
-12 Strong
-Robin Hood
-The Scorpion King
-The Last Witch Hunter
-Force Of Nature
-Bad Boys For Life
+Robin Hood8.256.0/1S09E257
\ No newline at end of file
diff --git a/tests/__data__/expected/guides/zw/dstv.com.epg.xml.gz b/tests/__data__/expected/guides/zw/dstv.com.epg.xml.gz
index b613e60e..9b7c2064 100644
Binary files a/tests/__data__/expected/guides/zw/dstv.com.epg.xml.gz and b/tests/__data__/expected/guides/zw/dstv.com.epg.xml.gz differ
diff --git a/tests/__data__/input/database/update-guides/programs.db b/tests/__data__/input/database/update-guides/programs.db
index cb4d5224..4baa4e97 100644
--- a/tests/__data__/input/database/update-guides/programs.db
+++ b/tests/__data__/input/database/update-guides/programs.db
@@ -1,78 +1,3 @@
-{"title":"World Sport","description":"Все о главных спортивных событиях мира. Обзоры самых важных спортивных событий, аналитика, мнения экспертов.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","start":1641825900000,"stop":1641826800000,"site":"chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"12AJc0GeEJE9p4c3"}
-{"title":"Connecting Africa. 114-я серия","description":"114-я серия. Проект, рассказывающий о людях и компаниях, которые совершают революцию в африканском бизнесе, и о тех, кто объединяет континент, выступая за свободную торговлю в Африке.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","start":1641843900000,"stop":1641844800000,"site":"chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"1dxcT34nyxzOlxBL"}
-{"title":"Connect the World","description":"Актуальная мировая информация с разных континентов.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","start":1641826800000,"stop":1641830400000,"site":"chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"2uJe4w2lgvjNOXo0"}
-{"title":"The Lead with Jake Tapper","description":"Оперативная сводка новостей страны и мира.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","start":1641844800000,"stop":1641848400000,"site":"chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"6As6GzEVhb3OWM0M"}
-{"title":"World Sport","description":"Все о главных спортивных событиях мира. Обзоры самых важных спортивных событий, аналитика, мнения экспертов.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","start":1641817800000,"stop":1641819600000,"site":"chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"6DXKlITWehX1Jx4F"}
-{"title":"CNN Newsroom with Michael Holmes","description":"Обзор самых важных и актуальных новостей и событий из жизни страны и мира.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","start":1641790800000,"stop":1641794400000,"site":"chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"AadPdMZ3s72y8NMk"}
-{"title":"The Situation Room with Wolf Blitzer","description":"Командный центр новостей, политики и неординарных репортажей со всего мира.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","start":1641852000000,"stop":1641855600000,"site":"chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"Az3ABKy3HnE7sJZk"}
-{"title":"One World with Zain Asher","description":"Освещаются важные новости с каждого континента, от политики и текущих дел до социальных вопросов и многого другого.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","start":1641830400000,"stop":1641833100000,"site":"chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"DMurxgt5OD0E9OIE"}
-{"title":"TBD","description":"Информационно-познавательный проект CNN.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","start":1641783600000,"stop":1641785400000,"site":"chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"HQJqM2kIa77llWbC"}
-{"title":"Marketplace Africa. 548-я серия","description":"548-я серия. Информационная передача об экономических событиях африканского региона. Анализируются проблемы, даются экономические прогнозы.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","start":1641782700000,"stop":1641783600000,"site":"chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"Jn3khh5n9Brkxq4U"}
-{"title":"CNN Newsroom with Michael Holmes","description":"Обзор самых важных и актуальных новостей и событий из жизни страны и мира.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","start":1641787200000,"stop":1641789900000,"site":"chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"KcrIoQTXtUdw74sO"}
-{"title":"The Global Brief with Bianca Nobilo","description":"Global Brief с Бьянкой Нобило проницательно исследует меняющийся мир для меняющейся аудитории, обеспечивая непревзойденную глубину и качество для занятых зрителей в быстро меняющемся мире.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","start":1641848400000,"stop":1641850200000,"site":"chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"LGD7WmQogDRxZn01"}
-{"title":"CNN Newsroom with Rosemary Church","description":"Свежая мировая информационная сводка от CNN. О политике, экономике, общественной жизни, культуре, спорте.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","start":1641798000000,"stop":1641805200000,"site":"chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"LyCBivUTdZFW9X53"}
-{"title":"Marketplace Africa. 549-я серия","description":"549-я серия. Информационная передача об экономических событиях африканского региона. Анализируются проблемы, даются экономические прогнозы.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","start":1641833100000,"stop":1641834000000,"site":"chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"PbrZinuZKgBHqDVj"}
-{"title":"African Voices Changemakers. 114-я серия","description":"114-я серия. Африка сегодня - люди, новости, события.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","start":1641780000000,"stop":1641781800000,"site":"chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"SvrCK31v78V5y7EA"}
-{"title":"Anderson Cooper 360","description":"Уникальный взгляд Андерсона Купера на главные события мира.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","start":1641859200000,"stop":1641862800000,"site":"chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"TFGrOFJGkaOs9pU7"}
-{"title":"World Sport","description":"Все о главных спортивных событиях мира. Обзоры самых важных спортивных событий, аналитика, мнения экспертов.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","start":1641850200000,"stop":1641852000000,"site":"chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"UynlLeT41MsjFElg"}
-{"title":"New Day","description":"Свежий обзор событий в стране и мире.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","start":1641808800000,"stop":1641817800000,"site":"chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"UyvhQ4wRNq5d5XRd"}
-{"title":"Amanpour","description":"Сводка новостей от знаменитой ведущей канала CNN.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","start":1641834000000,"stop":1641837600000,"site":"chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"WbsOCkmPH5gjmo4M"}
-{"title":"Early Start","description":"Новости дня с Кристиной Романс и Дейвом Бриггсом.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","start":1641805200000,"stop":1641808800000,"site":"chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"YB96P2mMO4TA0pID"}
-{"title":"World Sport","description":"Все о главных спортивных событиях мира. Обзоры самых важных спортивных событий, аналитика, мнения экспертов.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","start":1641789900000,"stop":1641790800000,"site":"chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"aDdCAlgqLG2yxM1m"}
-{"title":"CNN Newsroom Sunday","description":"Свежая мировая информационная сводка от CNN. О политике, экономике, общественной жизни, культуре, спорте.","sub_title":"","urls":[],"categories":["Category1","Category2"],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","start":1641772800000,"stop":1641776400000,"site":"chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"aYCk87dUOAkCJE9x"}
-{"title":"Fareed Zakaria GPS","description":"Интервью с главными игроками мировой политики.","sub_title":"","urls":[],"categories":["Category1"],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","start":1641776400000,"stop":1641780000000,"site":"chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"c1nCoWVetBZ3mn5q"}
-{"title":"Inside Africa. 586-я серия","description":"586-я серия. Своеобразное \"путешествие\" по Африке - почувствуйте все разнообразие культур различных стран и регионов континента.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","start":1641785400000,"stop":1641787200000,"site":"chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"goaDr7BsGGm3LCfz"}
-{"title":"CNN Newsroom with Robyn Curnow","description":"Обзор самых важных и актуальных новостей и событий из жизни страны и мира.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","start":1641794400000,"stop":1641797100000,"site":"chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"nixd3gRF1S1K0ZOs"}
-{"title":"Marketplace Africa. 549-я серия","description":"549-я серия. Информационная передача об экономических событиях африканского региона. Анализируются проблемы, даются экономические прогнозы.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","start":1641781800000,"stop":1641782700000,"site":"chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"r1b8EvZc0tYs88ga"}
-{"title":"Erin Burnett OutFront","description":"Обсуждение самых важных мировых тем в эфире канала CNN.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","start":1641855600000,"stop":1641859200000,"site":"chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"sIQtUtowtATc7dLj"}
-{"title":"Connect the World","description":"Актуальная мировая информация с разных континентов.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","start":1641823200000,"stop":1641825900000,"site":"chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"tXBIZ2BZBIkhnoTZ"}
-{"title":"Quest Means Business","description":"Ричард Квест возглавляет группу экспертов и корреспондентов, чтобы предоставить актуальные факты, цифры и анализ из делового мира.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","start":1641841200000,"stop":1641843900000,"site":"chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"xlE5epkjzdfUQpXO"}
-{"title":"First Move with Julia Chatterley","description":"Несколько больших историй, связанных с открытием рынков в США.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","start":1641819600000,"stop":1641823200000,"site":"chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"yEVXucyUomVmktMF"}
-{"title":"Hala Gorani Tonight","description":"Используя свой 25-летний журналистский опыт, Хала Горани будет освещать ключевые события в картине дня посредством диалога с гостями и экспертами-аналитиками.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","start":1641837600000,"stop":1641841200000,"site":"chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"yPgmYrWwfxHW3WUA"}
-{"title":"World Sport","description":"Все о главных спортивных событиях мира. Обзоры самых важных спортивных событий, аналитика, мнения экспертов.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","start":1641797100000,"stop":1641798000000,"site":"chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"zX70wOz5drExRTJX"}
-{"title":"World Sport","description":"Все о главных спортивных событиях мира. Обзоры самых важных спортивных событий, аналитика, мнения экспертов.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","start":1641825900000,"stop":1641826800000,"site":"chaines-tv.orange.fr","_qid":"1XzrxNkSF2AQNBrT","_id":"12AJc0GeEJE9p4cB"}
-{"title":"Connecting Africa. 114-я серия","description":"114-я серия. Проект, рассказывающий о людях и компаниях, которые совершают революцию в африканском бизнесе, и о тех, кто объединяет континент, выступая за свободную торговлю в Африке.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","start":1641843900000,"stop":1641844800000,"site":"chaines-tv.orange.fr","_qid":"1XzrxNkSF2AQNBrT","_id":"1dxcT34nyxzOlxBB"}
-{"title":"Connect the World","description":"Актуальная мировая информация с разных континентов.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","start":1641826800000,"stop":1641830400000,"site":"chaines-tv.orange.fr","_qid":"1XzrxNkSF2AQNBrT","_id":"2uJe4w2lgvjNOXoB"}
-{"title":"The Lead with Jake Tapper","description":"Оперативная сводка новостей страны и мира.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","start":1641844800000,"stop":1641848400000,"site":"chaines-tv.orange.fr","_qid":"1XzrxNkSF2AQNBrT","_id":"6As6GzEVhb3OWM0B"}
-{"title":"World Sport","description":"Все о главных спортивных событиях мира. Обзоры самых важных спортивных событий, аналитика, мнения экспертов.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","start":1641817800000,"stop":1641819600000,"site":"chaines-tv.orange.fr","_qid":"1XzrxNkSF2AQNBrT","_id":"6DXKlITWehX1Jx4B"}
-{"title":"CNN Newsroom with Michael Holmes","description":"Обзор самых важных и актуальных новостей и событий из жизни страны и мира.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","start":1641790800000,"stop":1641794400000,"site":"chaines-tv.orange.fr","_qid":"1XzrxNkSF2AQNBrT","_id":"AadPdMZ3s72y8NMB"}
-{"title":"The Situation Room with Wolf Blitzer","description":"Командный центр новостей, политики и неординарных репортажей со всего мира.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","start":1641852000000,"stop":1641855600000,"site":"chaines-tv.orange.fr","_qid":"1XzrxNkSF2AQNBrT","_id":"Az3ABKy3HnE7sJZB"}
-{"title":"One World with Zain Asher","description":"Освещаются важные новости с каждого континента, от политики и текущих дел до социальных вопросов и многого другого.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","start":1641830400000,"stop":1641833100000,"site":"chaines-tv.orange.fr","_qid":"1XzrxNkSF2AQNBrT","_id":"DMurxgt5OD0E9OIB"}
-{"title":"TBD","description":"Информационно-познавательный проект CNN.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","start":1641783600000,"stop":1641785400000,"site":"chaines-tv.orange.fr","_qid":"1XzrxNkSF2AQNBrT","_id":"HQJqM2kIa77llWbB"}
-{"title":"Marketplace Africa. 548-я серия","description":"548-я серия. Информационная передача об экономических событиях африканского региона. Анализируются проблемы, даются экономические прогнозы.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","start":1641782700000,"stop":1641783600000,"site":"chaines-tv.orange.fr","_qid":"1XzrxNkSF2AQNBrT","_id":"Jn3khh5n9Brkxq4B"}
-{"title":"CNN Newsroom with Michael Holmes","description":"Обзор самых важных и актуальных новостей и событий из жизни страны и мира.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","start":1641787200000,"stop":1641789900000,"site":"chaines-tv.orange.fr","_qid":"1XzrxNkSF2AQNBrT","_id":"KcrIoQTXtUdw74sB"}
-{"title":"The Global Brief with Bianca Nobilo","description":"Global Brief с Бьянкой Нобило проницательно исследует меняющийся мир для меняющейся аудитории, обеспечивая непревзойденную глубину и качество для занятых зрителей в быстро меняющемся мире.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","start":1641848400000,"stop":1641850200000,"site":"chaines-tv.orange.fr","_qid":"1XzrxNkSF2AQNBrT","_id":"LGD7WmQogDRxZn0B"}
-{"title":"CNN Newsroom with Rosemary Church","description":"Свежая мировая информационная сводка от CNN. О политике, экономике, общественной жизни, культуре, спорте.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","start":1641798000000,"stop":1641805200000,"site":"chaines-tv.orange.fr","_qid":"1XzrxNkSF2AQNBrT","_id":"LyCBivUTdZFW9X5B"}
-{"title":"Marketplace Africa. 549-я серия","description":"549-я серия. Информационная передача об экономических событиях африканского региона. Анализируются проблемы, даются экономические прогнозы.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","start":1641833100000,"stop":1641834000000,"site":"chaines-tv.orange.fr","_qid":"1XzrxNkSF2AQNBrT","_id":"PbrZinuZKgBHqDVB"}
-{"title":"African Voices Changemakers. 114-я серия","description":"114-я серия. Африка сегодня - люди, новости, события.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","start":1641780000000,"stop":1641781800000,"site":"chaines-tv.orange.fr","_qid":"1XzrxNkSF2AQNBrT","_id":"SvrCK31v78V5y7EB"}
-{"title":"Anderson Cooper 360","description":"Уникальный взгляд Андерсона Купера на главные события мира.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","start":1641859200000,"stop":1641862800000,"site":"chaines-tv.orange.fr","_qid":"1XzrxNkSF2AQNBrT","_id":"TFGrOFJGkaOs9pUB"}
-{"title":"World Sport","description":"Все о главных спортивных событиях мира. Обзоры самых важных спортивных событий, аналитика, мнения экспертов.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","start":1641850200000,"stop":1641852000000,"site":"chaines-tv.orange.fr","_qid":"1XzrxNkSF2AQNBrT","_id":"UynlLeT41MsjFElB"}
-{"title":"New Day","description":"Свежий обзор событий в стране и мире.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","start":1641808800000,"stop":1641817800000,"site":"chaines-tv.orange.fr","_qid":"1XzrxNkSF2AQNBrT","_id":"UyvhQ4wRNq5d5XRB"}
-{"title":"Amanpour","description":"Сводка новостей от знаменитой ведущей канала CNN.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","start":1641834000000,"stop":1641837600000,"site":"chaines-tv.orange.fr","_qid":"1XzrxNkSF2AQNBrT","_id":"WbsOCkmPH5gjmo4B"}
-{"title":"Early Start","description":"Новости дня с Кристиной Романс и Дейвом Бриггсом.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","start":1641805200000,"stop":1641808800000,"site":"chaines-tv.orange.fr","_qid":"1XzrxNkSF2AQNBrT","_id":"YB96P2mMO4TA0pIB"}
-{"title":"World Sport","description":"Все о главных спортивных событиях мира. Обзоры самых важных спортивных событий, аналитика, мнения экспертов.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","start":1641789900000,"stop":1641790800000,"site":"chaines-tv.orange.fr","_qid":"1XzrxNkSF2AQNBrT","_id":"aDdCAlgqLG2yxM1B"}
-{"title":"CNN Newsroom Sunday","description":"Свежая мировая информационная сводка от CNN. О политике, экономике, общественной жизни, культуре, спорте.","sub_title":"","urls":[],"categories":["Category1", "Category2"],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","start":1641772800000,"stop":1641776400000,"site":"chaines-tv.orange.fr","_qid":"1XzrxNkSF2AQNBrT","_id":"aYCk87dUOAkCJE9B"}
-{"title":"Fareed Zakaria GPS","description":"Интервью с главными игроками мировой политики.","sub_title":"","urls":[],"categories":["Category1"],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","start":1641776400000,"stop":1641780000000,"site":"chaines-tv.orange.fr","_qid":"1XzrxNkSF2AQNBrT","_id":"c1nCoWVetBZ3mn5B"}
-{"title":"Inside Africa. 586-я серия","description":"586-я серия. Своеобразное \"путешествие\" по Африке - почувствуйте все разнообразие культур различных стран и регионов континента.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","start":1641785400000,"stop":1641787200000,"site":"chaines-tv.orange.fr","_qid":"1XzrxNkSF2AQNBrT","_id":"goaDr7BsGGm3LCfB"}
-{"title":"CNN Newsroom with Robyn Curnow","description":"Обзор самых важных и актуальных новостей и событий из жизни страны и мира.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","start":1641794400000,"stop":1641797100000,"site":"chaines-tv.orange.fr","_qid":"1XzrxNkSF2AQNBrT","_id":"nixd3gRF1S1K0ZOB"}
-{"title":"Marketplace Africa. 549-я серия","description":"549-я серия. Информационная передача об экономических событиях африканского региона. Анализируются проблемы, даются экономические прогнозы.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","start":1641781800000,"stop":1641782700000,"site":"chaines-tv.orange.fr","_qid":"1XzrxNkSF2AQNBrT","_id":"r1b8EvZc0tYs88gB"}
-{"title":"Erin Burnett OutFront","description":"Обсуждение самых важных мировых тем в эфире канала CNN.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","start":1641855600000,"stop":1641859200000,"site":"chaines-tv.orange.fr","_qid":"1XzrxNkSF2AQNBrT","_id":"sIQtUtowtATc7dLB"}
-{"title":"Connect the World","description":"Актуальная мировая информация с разных континентов.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","start":1641823200000,"stop":1641825900000,"site":"chaines-tv.orange.fr","_qid":"1XzrxNkSF2AQNBrT","_id":"tXBIZ2BZBIkhnoTB"}
-{"title":"Quest Means Business","description":"Ричард Квест возглавляет группу экспертов и корреспондентов, чтобы предоставить актуальные факты, цифры и анализ из делового мира.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","start":1641841200000,"stop":1641843900000,"site":"chaines-tv.orange.fr","_qid":"1XzrxNkSF2AQNBrT","_id":"xlE5epkjzdfUQpXB"}
-{"title":"First Move with Julia Chatterley","description":"Несколько больших историй, связанных с открытием рынков в США.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","start":1641819600000,"stop":1641823200000,"site":"chaines-tv.orange.fr","_qid":"1XzrxNkSF2AQNBrT","_id":"yEVXucyUomVmktMB"}
-{"title":"Hala Gorani Tonight","description":"Используя свой 25-летний журналистский опыт, Хала Горани будет освещать ключевые события в картине дня посредством диалога с гостями и экспертами-аналитиками.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","start":1641837600000,"stop":1641841200000,"site":"chaines-tv.orange.fr","_qid":"1XzrxNkSF2AQNBrT","_id":"yPgmYrWwfxHW3WUB"}
-{"title":"World Sport","description":"Все о главных спортивных событиях мира. Обзоры самых важных спортивных событий, аналитика, мнения экспертов.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","start":1641797100000,"stop":1641798000000,"site":"chaines-tv.orange.fr","_qid":"1XzrxNkSF2AQNBrT","_id":"zX70wOz5drExRTJB"}
-{"title":"Robin Hood","description":"","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"MNetMovies2.za","start":1641822300000,"stop":1641829200000,"site":"dstv.com","_qid":"1lnhXpN7g0ER5XwN","_id":"1AoKArQw6MxP6pVU"}
-{"title":"The Water Diviner","description":"","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"MNetMovies2.za","start":1641776100000,"stop":1641782700000,"site":"dstv.com","_qid":"1lnhXpN7g0ER5XwN","_id":"6v7w0SB4IlnfEEu3"}
-{"title":"Bad Boys For Life","description":"","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"MNetMovies2.za","start":1641847200000,"stop":1641850800000,"site":"dstv.com","_qid":"1lnhXpN7g0ER5XwN","_id":"83VRYvggmyfCzkOm"}
-{"title":"12 Strong","description":"","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"MNetMovies2.za","start":1641814500000,"stop":1641822300000,"site":"dstv.com","_qid":"1lnhXpN7g0ER5XwN","_id":"DbjwscjIuVDY8TPx"}
-{"title":"Backdraft","description":"","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"MNetMovies2.za","start":1641801300000,"stop":1641809400000,"site":"dstv.com","_qid":"1lnhXpN7g0ER5XwN","_id":"IwuwkjCKqWvio7ba"}
-{"title":"Force Of Nature","description":"","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"MNetMovies2.za","start":1641841200000,"stop":1641847200000,"site":"dstv.com","_qid":"1lnhXpN7g0ER5XwN","_id":"LP56HczEup0ed3Xx"}
-{"title":"Mafia","description":"","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"MNetMovies2.za","start":1641809400000,"stop":1641814500000,"site":"dstv.com","_qid":"1lnhXpN7g0ER5XwN","_id":"MM9DPxERAgGGak39"}
-{"title":"The Last Witch Hunter","description":"","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"MNetMovies2.za","start":1641834780000,"stop":1641841200000,"site":"dstv.com","_qid":"1lnhXpN7g0ER5XwN","_id":"MciJOpN3YCodj6Na"}
-{"title":"Beyond The Line","description":"","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"MNetMovies2.za","start":1641796500000,"stop":1641801300000,"site":"dstv.com","_qid":"1lnhXpN7g0ER5XwN","_id":"ZKA2s6QrM0xRrfGz"}
-{"title":"Paranoia","description":"","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"MNetMovies2.za","start":1641790200000,"stop":1641796500000,"site":"dstv.com","_qid":"1lnhXpN7g0ER5XwN","_id":"ZpdIZeSRhPycDX9D"}
-{"title":"The Scorpion King","description":"","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"MNetMovies2.za","start":1641829200000,"stop":1641834780000,"site":"dstv.com","_qid":"1lnhXpN7g0ER5XwN","_id":"doO4Lh1pAt6L6wHa"}
-{"title":"Fatman","description":"","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[{"system":"xmltv_ns","value":"8.256.0/1"},{"system":"onscreen","value":"S09E257"}],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"MNetMovies2.za","start":1641761700000,"stop":1641767700000,"site":"dstv.com","_qid":"1lnhXpN7g0ER5XwN","_id":"fHahGuzHnU7xVEJX"}
-{"title":"Outbreak","description":"","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"MNetMovies2.za","start":1641782700000,"stop":1641790200000,"site":"dstv.com","_qid":"1lnhXpN7g0ER5XwN","_id":"mkvcMP4FMwL2a5ax"}
-{"title":"Motherless Brooklyn","description":"","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"MNetMovies2.za","start":1641767700000,"stop":1641776100000,"site":"dstv.com","_qid":"1lnhXpN7g0ER5XwN","_id":"nxTIAJsBwyXztRun"}
+{"titles":[{"lang":"fr","value":"World Sport"}],"descriptions":[{"lang":"fr","value":"Все о главных спортивных событиях мира. Обзоры самых важных спортивных событий, аналитика, мнения экспертов."}],"sub_titles":[],"urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","start":1641825900000,"stop":1641826800000,"site":"chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"12AJc0GeEJE9p4c3"}
+{"titles":[{"lang":"fr","value":"Connecting Africa. 114-я серия"}],"descriptions":[{"lang":"fr","value":"114-я серия. Проект, рассказывающий о людях и компаниях, которые совершают революцию в африканском бизнесе, и о тех, кто объединяет континент, выступая за свободную торговлю в Африке."}],"sub_titles":[],"urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","start":1641843900000,"stop":1641844800000,"site":"chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"1dxcT34nyxzOlxBL"}
+{"titles":[{"lang":"en","value":"Robin Hood"}],"descriptions":[],"sub_titles":[],"urls":[],"categories":[],"icon":{},"episodeNumbers":[{"system":"xmltv_ns","value":"8.256.0/1"},{"system":"onscreen","value":"S09E257"}],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"MNetMovies2.za","start":1641822300000,"stop":1641829200000,"site":"dstv.com","_qid":"1lnhXpN7g0ER5XwN","_id":"1AoKArQw6MxP6pVU"}
diff --git a/tests/__data__/input/logs/cluster/load/cluster_1.log b/tests/__data__/input/logs/cluster/load/cluster_1.log
index f4e73f70..103f79dc 100644
--- a/tests/__data__/input/logs/cluster/load/cluster_1.log
+++ b/tests/__data__/input/logs/cluster/load/cluster_1.log
@@ -1,2 +1,2 @@
-{"_qid":"0Wefq0oMR3feCcuY","programs":[{"title":"InfoNeu ","description":null,"category":null,"icon":null,"channel":"AndorraTV.ad","site": "chaines-tv.orange.fr","start":1641711600000,"stop":1641715200000},{"title":"Club Piolet","description":null,"category":null,"icon":null,"channel":"AndorraTV.ad","site": "chaines-tv.orange.fr","season":null,"episode":null,"start":1641715200000,"stop":1641718800000},{"title":"InfoNeu ","description":null,"category":null,"icon":null,"channel":"AndorraTV.ad","site": "chaines-tv.orange.fr","start":1641718800000,"stop":1641729600000},{"title":"Andorra Actualitat (RNA)","description":null,"category":null,"icon":null,"channel":"AndorraTV.ad","site": "chaines-tv.orange.fr","season":null,"episode":null,"start":1641729600000,"stop":1641730800000},{"title":"El Trànsit","description":null,"category":null,"icon":null,"channel":"AndorraTV.ad","site": "chaines-tv.orange.fr","season":null,"episode":null,"start":1641730800000,"stop":1641732000000},{"title":"El Trànsit","description":null,"category":null,"icon":null,"channel":"AndorraTV.ad","site": "chaines-tv.orange.fr","season":null,"episode":null,"start":1641732000000,"stop":1641732300000},{"title":"Informatiu migdia","description":null,"category":null,"icon":null,"channel":"AndorraTV.ad","site": "chaines-tv.orange.fr","season":null,"episode":null,"start":1641732300000,"stop":1641733800000},{"title":"El Trànsit","description":null,"category":null,"icon":null,"channel":"AndorraTV.ad","site": "chaines-tv.orange.fr","season":null,"episode":null,"start":1641733800000,"stop":1641736200000},{"title":"La Terre vue du Sport","description":null,"category":null,"icon":null,"channel":"AndorraTV.ad","site": "chaines-tv.orange.fr","season":null,"episode":null,"start":1641736200000,"stop":1641736800000},{"title":"Informatiu migdia","description":null,"category":null,"icon":null,"channel":"AndorraTV.ad","site": "chaines-tv.orange.fr","season":null,"episode":null,"start":1641736800000,"stop":1641738300000},{"title":"Club Piolet","description":null,"category":null,"icon":null,"channel":"AndorraTV.ad","site": "chaines-tv.orange.fr","season":null,"episode":null,"start":1641738300000,"stop":1641741900000},{"title":"Informatiu migdia","description":null,"category":null,"icon":null,"channel":"AndorraTV.ad","site": "chaines-tv.orange.fr","season":null,"episode":null,"start":1641741900000,"stop":1641743400000},{"title":"El Trànsit","description":null,"category":null,"icon":null,"channel":"AndorraTV.ad","site": "chaines-tv.orange.fr","season":null,"episode":null,"start":1641743400000,"stop":1641750900000},{"title":"La rotonda","description":null,"category":null,"icon":null,"channel":"AndorraTV.ad","site": "chaines-tv.orange.fr","season":null,"episode":null,"start":1641750900000,"stop":1641753600000},{"title":"Club Piolet","description":null,"category":null,"icon":null,"channel":"AndorraTV.ad","site": "chaines-tv.orange.fr","season":null,"episode":null,"start":1641753600000,"stop":1641757200000},{"title":"El Trànsit","description":null,"category":null,"icon":null,"channel":"AndorraTV.ad","site": "chaines-tv.orange.fr","season":null,"episode":null,"start":1641757200000,"stop":1641757500000},{"title":"Informatiu vespre","description":null,"category":null,"icon":null,"channel":"AndorraTV.ad","site": "chaines-tv.orange.fr","season":null,"episode":null,"start":1641757500000,"stop":1641759000000},{"title":"Recull setmanal","description":null,"category":null,"icon":null,"channel":"AndorraTV.ad","site": "chaines-tv.orange.fr","season":null,"episode":null,"start":1641759000000,"stop":1641761100000},{"title":"Memòries d'arxiu: 10 anys d'ATV","description":null,"category":null,"icon":null,"channel":"AndorraTV.ad","site": "chaines-tv.orange.fr","season":null,"episode":null,"start":1641761100000,"stop":1641763800000},{"title":"El cafè dels matins","description":null,"category":null,"icon":null,"channel":"AndorraTV.ad","site": "chaines-tv.orange.fr","season":null,"episode":null,"start":1641763800000,"stop":1641766800000},{"title":"La Terre vue du Sport","description":null,"category":null,"icon":null,"channel":"AndorraTV.ad","site": "chaines-tv.orange.fr","season":null,"episode":null,"start":1641766800000,"stop":1641767400000},{"title":"Informatiu vespre","description":null,"category":null,"icon":null,"channel":"AndorraTV.ad","site": "chaines-tv.orange.fr","season":null,"episode":null,"start":1641767400000,"stop":1641772800000},{"title":"Àrea Andorra Difusió","description":null,"category":null,"icon":null,"channel":"AndorraTV.ad","site": "chaines-tv.orange.fr","season":null,"episode":null,"start":1641772800000,"stop":1641776400000}],"error":null}
+{"_qid":"0Wefq0oMR3feCcuY","programs":[{"titles":[{"lang":"en","value":"InfoNeu "}],"descriptions":[],"categories":[],"icon":null,"channel":"AndorraTV.ad","site": "chaines-tv.orange.fr","start":1641711600000,"stop":1641715200000}],"error":null}
{"_qid":"1XzrxNkSF2AQNBrT","programs":[],"error":"Invalid header value char"}
diff --git a/yarn.lock b/yarn.lock
index 70c8be4b..edaccfd6 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1537,10 +1537,10 @@
"resolved" "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz"
"version" "2.2.0"
-"epg-grabber@^0.28.6":
- "integrity" "sha512-Cx8acZ9O1dnLaSztCRSnATi/LBroc9wcVbe2fsa9s1pAj0a/FujbR2O1C2O/EzexENhTFlgLpTjpNJ+4i9LkYw=="
- "resolved" "https://registry.npmjs.org/epg-grabber/-/epg-grabber-0.28.6.tgz"
- "version" "0.28.6"
+"epg-grabber@^0.29.1":
+ "integrity" "sha512-D2j5EsjIi/bZRf/AOgMt5NBbEzImrcC3RInAv4JybTO78CZDAvOCX3hRqDWcluKF6ms0r87+0a3W4NcbX794Uw=="
+ "resolved" "https://registry.npmjs.org/epg-grabber/-/epg-grabber-0.29.1.tgz"
+ "version" "0.29.1"
dependencies:
"axios" "^0.21.1"
"axios-cache-interceptor" "^0.10.3"
@@ -1976,9 +1976,9 @@
"type-fest" "^0.20.2"
"got@^11.8.2":
- "integrity" "sha512-7gtQ5KiPh1RtGS9/Jbv1ofDpBFuq42gyfEib+ejaRBJuj/3tQFeR5+gw57e4ipaU8c/rCjvX6fkQz2lyDlGAOg=="
- "resolved" "https://registry.npmjs.org/got/-/got-11.8.3.tgz"
- "version" "11.8.3"
+ "integrity" "sha512-o0Je4NvQObAuZPHLFoRSkdG2lTgtcynqymzg2Vupdx6PorhaT5MCbIyXG6d4D94kk8ZG57QeosgdiqfJWhEhlQ=="
+ "resolved" "https://registry.npmjs.org/got/-/got-11.8.5.tgz"
+ "version" "11.8.5"
dependencies:
"@sindresorhus/is" "^4.0.0"
"@szmarczak/http-timer" "^4.0.5"