Initial Commit
This commit is contained in:
119
sites/magticom.ge/magticom.ge.channels.xml
Normal file
119
sites/magticom.ge/magticom.ge.channels.xml
Normal file
@@ -0,0 +1,119 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<site site="magticom.ge">
|
||||
<channels>
|
||||
<channel lang="en" xmltv_id="360TuneBox.nl" site_id="264">360 Tune Box</channel>
|
||||
<channel lang="en" xmltv_id="BBCWorldNewsEurope.uk" site_id="284">BBC World News Europe</channel>
|
||||
<channel lang="en" xmltv_id="CNBCEurope.uk" site_id="79">CNBC Europe</channel>
|
||||
<channel lang="en" xmltv_id="CNNInternationalEurope.us" site_id="140">CNN International Europe</channel>
|
||||
<channel lang="en" xmltv_id="Erox.nl" site_id="2">Erox HD</channel>
|
||||
<channel lang="en" xmltv_id="FashionBox.nl" site_id="272">FashionBox HD</channel>
|
||||
<channel lang="en" xmltv_id="France24English.fr" site_id="161">France 24 English</channel>
|
||||
<channel lang="en" xmltv_id="MTV80s.uk" site_id="49">MTV 80s</channel>
|
||||
<channel lang="en" xmltv_id="MTVRussia.ru" site_id="99">MTV Russia</channel>
|
||||
<channel lang="en" xmltv_id="RT.ru" site_id="154">RT News</channel>
|
||||
<channel lang="ka" xmltv_id="2TV.ge" site_id="167">2 TV</channel>
|
||||
<channel lang="ka" xmltv_id="Adjarasport1.ge" site_id="121">Adjarasport 1</channel>
|
||||
<channel lang="ka" xmltv_id="Adjarasport2.ge" site_id="66003">Adjarasport 2</channel>
|
||||
<channel lang="ka" xmltv_id="AjaraTV.ge" site_id="27">Ajara TV</channel>
|
||||
<channel lang="ka" xmltv_id="BrazzersTVEurope.us" site_id="206">Brazzers TV Europe</channel>
|
||||
<channel lang="ka" xmltv_id="ChveniMagti.ge" site_id="248">Chveni Magti</channel>
|
||||
<channel lang="ka" xmltv_id="ComedyTV.ge" site_id="58000">Comedy TV</channel>
|
||||
<channel lang="ka" xmltv_id="Dardimandi.ge" site_id="199">Dardimandi</channel>
|
||||
<channel lang="ka" xmltv_id="EnkiBenki.ge" site_id="83">Enki Benki</channel>
|
||||
<channel lang="ka" xmltv_id="Ertsulovneba.ge" site_id="72">Ertsulovneba</channel>
|
||||
<channel lang="ka" xmltv_id="1TV.ge" site_id="3">1 TV</channel>
|
||||
<channel lang="ka" xmltv_id="Formula.ge" site_id="63000">Formula</channel>
|
||||
<channel lang="ka" xmltv_id="GDSTV.ge" site_id="144">GDS TV</channel>
|
||||
<channel lang="ka" xmltv_id="GurjaaniTV.ge" site_id="286">Gurjaani TV</channel>
|
||||
<channel lang="ka" xmltv_id="ImediTV.ge" site_id="4">Imedi TV</channel>
|
||||
<channel lang="ka" xmltv_id="KavkasiaTV.ge" site_id="135">Kavkasia TV</channel>
|
||||
<channel lang="ka" xmltv_id="Maestro.ge" site_id="141">Maestro</channel>
|
||||
<channel lang="ka" xmltv_id="MagtiHiti.ge" site_id="249">Magti Hiti</channel>
|
||||
<channel lang="ka" xmltv_id="MagtiKino.ge" site_id="247">Magti Kino</channel>
|
||||
<channel lang="ka" xmltv_id="MaraoTV.ge" site_id="137">Marao TV</channel>
|
||||
<channel lang="ka" xmltv_id="MtavariArkhi.ge" site_id="61000">Mtavari Arkhi</channel>
|
||||
<channel lang="ka" xmltv_id="ObieqtiviTV.ge" site_id="85">Obieqtivi TV</channel>
|
||||
<channel lang="ka" xmltv_id="PalitraNews.ge" site_id="87">Palitra News</channel>
|
||||
<channel lang="ka" xmltv_id="PosTV.ge" site_id="65000">Pos TV</channel>
|
||||
<channel lang="ka" xmltv_id="QartuliArkhi.ge" site_id="195">Qartuli Arkhi</channel>
|
||||
<channel lang="ka" xmltv_id="QualityChannel.ge" site_id="96">Quality Channel</channel>
|
||||
<channel lang="ka" xmltv_id="RedlightHD.nl" site_id="7">Redlight HD</channel>
|
||||
<channel lang="ka" xmltv_id="RioniTV.ge" site_id="197">Rioni TV</channel>
|
||||
<channel lang="ka" xmltv_id="RugbyTV.ge" site_id="288">Rugby TV</channel>
|
||||
<channel lang="ka" xmltv_id="Rustavi2.ge" site_id="1">Rustavi 2</channel>
|
||||
<channel lang="ka" xmltv_id="SaperaviTV.ge" site_id="240">Saperavi TV HD</channel>
|
||||
<channel lang="ka" xmltv_id="SetantaSportsGeorgia.ge" site_id="68351">Setanta Sports Georgia</channel>
|
||||
<channel lang="ka" xmltv_id="SetantaSportsPlusGeorgia.ge" site_id="68352">Setanta Sports + Georgia</channel>
|
||||
<channel lang="ka" xmltv_id="SilkUniversal.ge" site_id="287">Silk Universal</channel>
|
||||
<channel lang="ka" xmltv_id="TV25.ge" site_id="285">TV 25</channel>
|
||||
<channel lang="ka" xmltv_id="TVPirveli.ge" site_id="207">TV Pirveli</channel>
|
||||
<channel lang="ru" xmltv_id="A1.ru" site_id="219">A1</channel>
|
||||
<channel lang="ru" xmltv_id="A2.ru" site_id="156">A2</channel>
|
||||
<channel lang="ru" xmltv_id="AmediaHit.ru" site_id="76">Amedia Hit</channel>
|
||||
<channel lang="ru" xmltv_id="AmediaPremium.ru" site_id="122">Amedia Premium</channel>
|
||||
<channel lang="ru" xmltv_id="Armenia1.am" site_id="84">Armenia 1 TV</channel>
|
||||
<channel lang="ru" xmltv_id="AVTO24.ru" site_id="294">Avto 24</channel>
|
||||
<channel lang="ru" xmltv_id="AzTV.az" site_id="101">Az TV</channel>
|
||||
<channel lang="ru" xmltv_id="BollywoodHD.ru" site_id="260">Bollywood TV Rossiya</channel>
|
||||
<channel lang="ru" xmltv_id="CartoonNetworkRussia.ru" site_id="41">Cartoon Network Russia & South East Europe</channel>
|
||||
<channel lang="ru" xmltv_id="Cinema.ru" site_id="230">Cinéma</channel>
|
||||
<channel lang="ru" xmltv_id="CTCInternational.ru" site_id="65">STS International</channel>
|
||||
<channel lang="ru" xmltv_id="CurrentTimeTV.cz" site_id="280">Nastoyashcheye Vremya</channel>
|
||||
<channel lang="ru" xmltv_id="DaVinci.de" site_id="225">Da Vinci</channel>
|
||||
<channel lang="ru" xmltv_id="DiscoveryScienceRussia.ru" site_id="46">Discovery Science Rossiya</channel>
|
||||
<channel lang="ru" xmltv_id="DocuBox.nl" site_id="262">DocuBox HD</channel>
|
||||
<channel lang="ru" xmltv_id="Domashniy.ru" site_id="1336">Domashniy</channel>
|
||||
<channel lang="ru" xmltv_id="DomKino.ru" site_id="185">Dom Kino</channel>
|
||||
<channel lang="ru" xmltv_id="DomKinoPremium.ru" site_id="269">Dom Kino Premium</channel>
|
||||
<channel lang="ru" xmltv_id="DTXRussia.ru" site_id="45">DTX Rossiya</channel>
|
||||
<channel lang="ru" xmltv_id="DuckTV.sk" site_id="251">Duck TV SD</channel>
|
||||
<channel lang="ru" xmltv_id="EuronewsRussian.fr" site_id="52">EuroNews Russkiy</channel>
|
||||
<channel lang="ru" xmltv_id="Evrokino.ru" site_id="19">Evrokino</channel>
|
||||
<channel lang="ru" xmltv_id="FastFunBox.nl" site_id="267">Fast & FunBox HD</channel>
|
||||
<channel lang="ru" xmltv_id="FightBox.nl" site_id="252">FightBox HD</channel>
|
||||
<channel lang="ru" xmltv_id="FilmBoxArthouse.nl" site_id="254">FilmBox Arthouse Worldwide</channel>
|
||||
<channel lang="ru" xmltv_id="FilmBoxRussia.ru" site_id="253">FilmBox Russia</channel>
|
||||
<channel lang="ru" xmltv_id="FoxRussia.ru" site_id="39">Fox Russia</channel>
|
||||
<channel lang="ru" xmltv_id="FridayInternational.ru" site_id="124">Pyatnitsa! International</channel>
|
||||
<channel lang="ru" xmltv_id="GulliGirl.ru" site_id="16">Gulli Girl</channel>
|
||||
<channel lang="ru" xmltv_id="HollywoodHD.ru" site_id="142">Hollywood HD</channel>
|
||||
<channel lang="ru" xmltv_id="IllusionPlus.ru" site_id="295">Illusion +</channel>
|
||||
<channel lang="ru" xmltv_id="InvestigationDiscoveryRussia.ru" site_id="159">Investigation Discovery Rossiya</channel>
|
||||
<channel lang="ru" xmltv_id="Istoriya.ru" site_id="261">Istoriya</channel>
|
||||
<channel lang="ru" xmltv_id="Karusel.ru" site_id="184">Karusel International</channel>
|
||||
<channel lang="ru" xmltv_id="Mezzo.fr" site_id="50">Mezzo</channel>
|
||||
<channel lang="ru" xmltv_id="MoyaPlaneta.ru" site_id="256">Moya Planeta</channel>
|
||||
<channel lang="ru" xmltv_id="Mult.ru" site_id="265">Mult</channel>
|
||||
<channel lang="ru" xmltv_id="NationalGeographicRussia.ru" site_id="55">National Geographic Russia</channel>
|
||||
<channel lang="ru" xmltv_id="NationalGeographicWildRussia.ru" site_id="33">National Geographic Wild Russia</channel>
|
||||
<channel lang="ru" xmltv_id="Nauka.ru" site_id="258">Nauka</channel>
|
||||
<channel lang="ru" xmltv_id="NickelodeonCIS.ru" site_id="54">Nickelodeon CIS</channel>
|
||||
<channel lang="ru" xmltv_id="NickJrCIS.ru" site_id="171">Nick Jr CIS</channel>
|
||||
<channel lang="ru" xmltv_id="NST.ru" site_id="214">NST</channel>
|
||||
<channel lang="ru" xmltv_id="O.ru" site_id="302">Telekanal O!</channel>
|
||||
<channel lang="ru" xmltv_id="Ohotnikirybolov.ru" site_id="174">Ohotnik i Rybolov</channel>
|
||||
<channel lang="ru" xmltv_id="ParamountChannelRussia.ru" site_id="172">Paramount Channel Russia</channel>
|
||||
<channel lang="ru" xmltv_id="ParamountComedyRussia.ru" site_id="173">Paramount Comedy Russia</channel>
|
||||
<channel lang="ru" xmltv_id="PeretzInternational.ru" site_id="220">Peretz International</channel>
|
||||
<channel lang="ru" xmltv_id="RBKTV.ru" site_id="90">RBK TV</channel>
|
||||
<channel lang="ru" xmltv_id="RTRPlaneta.ru" site_id="63">RTR Planeta</channel>
|
||||
<channel lang="ru" xmltv_id="RTVi.ru" site_id="30">RTVi Europe</channel>
|
||||
<channel lang="ru" xmltv_id="Russia24.ru" site_id="153">Rossiya 24</channel>
|
||||
<channel lang="ru" xmltv_id="RussiaK.ru" site_id="69">Rossiya K</channel>
|
||||
<channel lang="ru" xmltv_id="RusskiyIllusion.ru" site_id="213">Russkiy Illusion</channel>
|
||||
<channel lang="ru" xmltv_id="Sarafan.ru" site_id="268">Sarafan</channel>
|
||||
<channel lang="ru" xmltv_id="TiJiRussia.ru" site_id="15">Tiji Russia</channel>
|
||||
<channel lang="ru" xmltv_id="TNTMusic.ru" site_id="1345">TNT Music</channel>
|
||||
<channel lang="ru" xmltv_id="TV1000ActionEast.ru" site_id="20">TV 1000 Action</channel>
|
||||
<channel lang="ru" xmltv_id="TV1000East.ru" site_id="21">TV 1000 East</channel>
|
||||
<channel lang="ru" xmltv_id="TV1000RusskoeKino.ru" site_id="25">TV 1000 Russkoe Kino</channel>
|
||||
<channel lang="ru" xmltv_id="TVXXI.lv" site_id="18">TV XXI</channel>
|
||||
<channel lang="ru" xmltv_id="ViasatExplore.se" site_id="22">Viasat Explore East</channel>
|
||||
<channel lang="ru" xmltv_id="ViasatHistory.se" site_id="23">Viasat History</channel>
|
||||
<channel lang="ru" xmltv_id="ViasatNature.se" site_id="77">Viasat Nature East</channel>
|
||||
<channel lang="ru" xmltv_id="ViasatSport.ru" site_id="24">Viasat Sport East</channel>
|
||||
<channel lang="ru" xmltv_id="Zagorodnyy.ru" site_id="1340">Zagorodny International</channel>
|
||||
<channel lang="ru" xmltv_id="ZhivayaPlaneta.ru" site_id="263">Zhivaya Planeta</channel>
|
||||
<!-- <channel lang="ru" xmltv_id="" site_id="5">Perviy kanal CIS</channel> -->
|
||||
</channels>
|
||||
</site>
|
||||
84
sites/magticom.ge/magticom.ge.config.js
Normal file
84
sites/magticom.ge/magticom.ge.config.js
Normal file
@@ -0,0 +1,84 @@
|
||||
const cheerio = require('cheerio')
|
||||
const axios = require('axios')
|
||||
const dayjs = require('dayjs')
|
||||
const utc = require('dayjs/plugin/utc')
|
||||
const timezone = require('dayjs/plugin/timezone')
|
||||
const customParseFormat = require('dayjs/plugin/customParseFormat')
|
||||
|
||||
dayjs.extend(utc)
|
||||
dayjs.extend(timezone)
|
||||
dayjs.extend(customParseFormat)
|
||||
|
||||
module.exports = {
|
||||
site: 'magticom.ge',
|
||||
days: 2,
|
||||
url: 'https://www.magticom.ge/request/channel-program.php',
|
||||
request: {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
|
||||
Referer: 'https://www.magticom.ge/en/tv/tv-services/tv-guide'
|
||||
},
|
||||
data({ channel, date }) {
|
||||
const params = new URLSearchParams()
|
||||
params.append('channelId', channel.site_id)
|
||||
params.append('start', date.unix())
|
||||
params.append('end', date.add(1, 'd').unix())
|
||||
|
||||
return params
|
||||
}
|
||||
},
|
||||
parser({ content }) {
|
||||
let programs = []
|
||||
const items = parseItems(content)
|
||||
items.forEach(item => {
|
||||
programs.push({
|
||||
title: item.title,
|
||||
description: item.info,
|
||||
start: parseStart(item),
|
||||
stop: parseStop(item)
|
||||
})
|
||||
})
|
||||
|
||||
return programs
|
||||
},
|
||||
async channels({ country, lang }) {
|
||||
const html = await axios
|
||||
.get(`https://www.magticom.ge/en/tv/tv-services/tv-guide`)
|
||||
.then(r => r.data)
|
||||
.catch(console.log)
|
||||
|
||||
const $ = cheerio.load(html)
|
||||
const channels = $(
|
||||
'#article > article > div > div > div.tv-guide > div.tv-guide-channels > div.tv-guide-channel'
|
||||
).toArray()
|
||||
|
||||
return channels.map(item => {
|
||||
const $item = cheerio.load(item)
|
||||
const channelId = $item('*').data('id')
|
||||
return {
|
||||
lang: 'ka',
|
||||
site_id: channelId,
|
||||
name: $item('.tv-guide-channel-title > div > div').text()
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
function parseStart(item) {
|
||||
return dayjs.tz(item.startTimestamp, 'YYYY-MM-DDTHH:mm:ss', 'Asia/Tbilisi')
|
||||
}
|
||||
|
||||
function parseStop(item) {
|
||||
return dayjs.tz(item.endTimestamp, 'YYYY-MM-DDTHH:mm:ss', 'Asia/Tbilisi')
|
||||
}
|
||||
|
||||
function parseItems(content) {
|
||||
let data
|
||||
try {
|
||||
data = JSON.parse(content)
|
||||
} catch (err) {}
|
||||
if (!data || !Array.isArray(data)) return []
|
||||
|
||||
return data
|
||||
}
|
||||
64
sites/magticom.ge/magticom.ge.test.js
Normal file
64
sites/magticom.ge/magticom.ge.test.js
Normal file
@@ -0,0 +1,64 @@
|
||||
// node ./scripts/channels.js --config=./sites/magticom.ge/magticom.ge.config.js --output=./sites/magticom.ge/magticom.ge.channels.xml
|
||||
// npx epg-grabber --config=sites/magticom.ge/magticom.ge.config.js --channels=sites/magticom.ge/magticom.ge.channels.xml --output=guide.xml --days=2
|
||||
|
||||
const { parser, url, request } = require('./magticom.ge.config.js')
|
||||
const dayjs = require('dayjs')
|
||||
const utc = require('dayjs/plugin/utc')
|
||||
const customParseFormat = require('dayjs/plugin/customParseFormat')
|
||||
dayjs.extend(customParseFormat)
|
||||
dayjs.extend(utc)
|
||||
|
||||
const date = dayjs.utc('2021-11-22', 'YYYY-MM-DD').startOf('d')
|
||||
const channel = {
|
||||
site_id: '260',
|
||||
xmltv_id: 'BollywoodHDRussia.ru'
|
||||
}
|
||||
|
||||
it('can generate valid url', () => {
|
||||
expect(url).toBe('https://www.magticom.ge/request/channel-program.php')
|
||||
})
|
||||
|
||||
it('can generate valid request method', () => {
|
||||
expect(request.method).toBe('POST')
|
||||
})
|
||||
|
||||
it('can generate valid request headers', () => {
|
||||
expect(request.headers).toMatchObject({
|
||||
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
|
||||
Referer: 'https://www.magticom.ge/en/tv/tv-services/tv-guide'
|
||||
})
|
||||
})
|
||||
|
||||
it('can generate valid request data', () => {
|
||||
const result = request.data({ channel, date })
|
||||
expect(result.has('channelId')).toBe(true)
|
||||
expect(result.has('start')).toBe(true)
|
||||
expect(result.has('end')).toBe(true)
|
||||
})
|
||||
|
||||
it('can parse response', () => {
|
||||
const content = `[{\"id\":2313254118,\"channelId\":260,\"startTimestamp\":\"2021-11-22T07:00:00\",\"endTimestamp\":\"2021-11-22T09:00:00\",\"duration\":null,\"title\":\"\\u0425\\\/\\u0444 \\\"\\u041d\\u0435\\u0440\\u0430\\u0432\\u043d\\u044b\\u0439 \\u0431\\u0440\\u0430\\u043a\\\".\",\"subTitle\":\"\\u0425\\\/\\u0444 \\\"\\u041d\\u0435\\u0440\\u0430\\u0432\\u043d\\u044b\\u0439 \\u0431\\u0440\\u0430\\u043a\\\".\",\"info\":\"\\u0413\\u0443\\u0434\\u0436\\u0430\\u0440\\u0430\\u0442\\u0435\\u0446 \\u0425\\u0430\\u0441\\u043c\\u0443\\u043a\\u0445 \\u041f\\u0430\\u0442\\u0435\\u043b \\u043f\\u043e\\u0441\\u0441\\u043e\\u0440\\u0438\\u043b\\u0441\\u044f \\u0441 \\u043d\\u043e\\u0432\\u044b\\u043c \\u0441\\u043e\\u0441\\u0435\\u0434\\u043e\\u043c \\u0413\\u0443\\u0433\\u0433\\u0438 \\u0422\\u0430\\u043d\\u0434\\u043e\\u043d\\u043e\\u043c. \\u041d\\u043e \\u0438\\u043c \\u043f\\u0440\\u0438\\u0445\\u043e\\u0434\\u0438\\u0442\\u0441\\u044f \\u043f\\u043e\\u043c\\u0438\\u0440\\u0438\\u0442\\u044c\\u0441\\u044f, \\u043a\\u043e\\u0433\\u0434\\u0430 \\u0438\\u0445 \\u0434\\u0435\\u0442\\u0438 \\u0432\\u043b\\u044e\\u0431\\u043b\\u044f\\u044e\\u0442\\u0441\\u044f \\u0434\\u0440\\u0443\\u0433 \\u0432 \\u0434\\u0440\\u0443\\u0433\\u0430. \\u0420\\u0435\\u0436\\u0438\\u0441\\u0441\\u0435\\u0440: \\u0421\\u0430\\u043d\\u0434\\u0436\\u0430\\u0439 \\u0427\\u0445\\u0435\\u043b. \\u0410\\u043a\\u0442\\u0435\\u0440\\u044b: \\u0420\\u0438\\u0448\\u0438 \\u041a\\u0430\\u043f\\u0443\\u0440, \\u041f\\u0430\\u0440\\u0435\\u0448 \\u0420\\u0430\\u0432\\u0430\\u043b, \\u0412\\u0438\\u0440 \\u0414\\u0430\\u0441. 2017 \\u0433\\u043e\\u0434.\",\"pg\":null,\"year\":null,\"country\":null,\"imageUrl\":null,\"createdBy\":-200,\"creationTimestamp\":\"2021-11-21T18:04:52\",\"epgSourceId\":8,\"startDateStr\":\"20211122070000\",\"genreByGenreId\":null,\"languageByLanguageId\":{\"id\":3,\"name\":\"\\u10e0\\u10e3\\u10e1\\u10e3\\u10da\\u10d8\",\"orderIndex\":3,\"nameShort\":\"ru\"},\"externalId\":\"2021460000084132\",\"programHumanById\":[],\"date\":null,\"time\":null,\"startDate\":null,\"endDate\":null,\"longInfo\":\"\\u0413\\u0443\\u0434\\u0436\\u0430\\u0440\\u0430\\u0442\\u0435\\u0446 \\u0425\\u0430\\u0441\\u043c\\u0443\\u043a\\u0445 \\u041f\\u0430\\u0442\\u0435\\u043b \\u043f\\u043e\\u0441\\u0441\\u043e\\u0440\\u0438\\u043b\\u0441\\u044f \\u0441 \\u043d\\u043e\\u0432\\u044b\\u043c \\u0441\\u043e\\u0441\\u0435\\u0434\\u043e\\u043c \\u0413\\u0443\\u0433\\u0433\\u0438 \\u0422\\u0430\\u043d\\u0434\\u043e\\u043d\\u043e\\u043c. \\u041d\\u043e \\u0438\\u043c \\u043f\\u0440\\u0438\\u0445\\u043e\\u0434\\u0438\\u0442\\u0441\\u044f \\u043f\\u043e\\u043c\\u0438\\u0440\\u0438\\u0442\\u044c\\u0441\\u044f, \\u043a\\u043e\\u0433\\u0434\\u0430 \\u0438\\u0445 \\u0434\\u0435\\u0442\\u0438 \\u0432\\u043b\\u044e\\u0431\\u043b\\u044f\\u044e\\u0442\\u0441\\u044f \\u0434\\u0440\\u0443\\u0433 \\u0432 \\u0434\\u0440\\u0443\\u0433\\u0430. \\u0420\\u0435\\u0436\\u0438\\u0441\\u0441\\u0435\\u0440: \\u0421\\u0430\\u043d\\u0434\\u0436\\u0430\\u0439 \\u0427\\u0445\\u0435\\u043b. \\u0410\\u043a\\u0442\\u0435\\u0440\\u044b: \\u0420\\u0438\\u0448\\u0438 \\u041a\\u0430\\u043f\\u0443\\u0440, \\u041f\\u0430\\u0440\\u0435\\u0448 \\u0420\\u0430\\u0432\\u0430\\u043b, \\u0412\\u0438\\u0440 \\u0414\\u0430\\u0441. 2017 \\u0433\\u043e\\u0434.\"}]`
|
||||
const result = parser({ content }).map(p => {
|
||||
p.start = p.start.toJSON()
|
||||
p.stop = p.stop.toJSON()
|
||||
return p
|
||||
})
|
||||
|
||||
expect(result).toMatchObject([
|
||||
{
|
||||
start: '2021-11-22T03:00:00.000Z',
|
||||
stop: '2021-11-22T05:00:00.000Z',
|
||||
title: `Х/ф "Неравный брак".`,
|
||||
description: `Гуджаратец Хасмукх Пател поссорился с новым соседом Гугги Тандоном. Но им приходится помириться, когда их дети влюбляются друг в друга. Режиссер: Санджай Чхел. Актеры: Риши Капур, Пареш Равал, Вир Дас. 2017 год.`
|
||||
}
|
||||
])
|
||||
})
|
||||
|
||||
it('can handle empty guide', () => {
|
||||
const result = parser({
|
||||
date,
|
||||
channel,
|
||||
content: `[]`
|
||||
})
|
||||
expect(result).toMatchObject([])
|
||||
})
|
||||
Reference in New Issue
Block a user