Update musor.tv guide.

Test:

```sh
npm test -- musor.tv

> test
> run-script-os musor.tv

> test:win32
> SET "TZ=Pacific/Nauru" && npx jest --runInBand musor.tv

 PASS  sites/musor.tv/musor.tv.test.js (7.206 s)
  √ can generate valid url (14 ms)
  √ can generate valid url for today
  √ can parse response (372 ms)
  √ can handle empty guide (2 ms)

Test Suites: 1 passed, 1 total
Tests:       4 passed, 4 total
Snapshots:   0 total
Time:        7.437 s
Ran all test suites matching /musor.tv/i.
```

Grab:

```sh
npm run grab -- --site=musor.tv

> grab
> npx tsx scripts/commands/epg/grab.ts --site=musor.tv

starting...
config:
  output: guide.xml
  maxConnections: 1
  gzip: false
  site: musor.tv
loading channels...
  found 18 channel(s)
run #1:
  [1/36] musor.tv (en) - ClubMTVEurope.uk - Dec 15, 2024 (11 programs)
  [2/36] musor.tv (en) - ClubMTVEurope.uk - Dec 16, 2024 (10 programs)
  [3/36] musor.tv (en) - Travelxp.in - Dec 16, 2024 (49 programs)
  [4/36] musor.tv (en) - Travelxp.in - Dec 15, 2024 (61 programs)
  [5/36] musor.tv (en) - TraceUrban.fr - Dec 16, 2024 (10 programs)
  [6/36] musor.tv (en) - TraceUrban.fr - Dec 15, 2024 (11 programs)
  [7/36] musor.tv (en) - TraceSportStars.fr - Dec 16, 2024 (48 programs)
  [8/36] musor.tv (en) - TraceSportStars.fr - Dec 15, 2024 (60 programs)
  [9/36] musor.tv (en) - TotalDanceTV.hu - Dec 16, 2024 (0 programs)
    ERR: socket hang up
  [10/36] musor.tv (en) - TotalDanceTV.hu - Dec 15, 2024 (30 programs)
  [11/36] musor.tv (en) - StingrayCMusic.ca - Dec 16, 2024 (11 programs)
  [12/36] musor.tv (en) - StingrayCMusic.ca - Dec 15, 2024 (12 programs)
  [13/36] musor.tv (en) - StingrayClassica.ca - Dec 16, 2024 (31 programs)
  [14/36] musor.tv (en) - StingrayClassica.ca - Dec 15, 2024 (34 programs)
  [15/36] musor.tv (en) - SkyNewsInternational.uk - Dec 16, 2024 (42 programs)
  [16/36] musor.tv (en) - SkyNewsInternational.uk - Dec 15, 2024 (47 programs)
  [17/36] musor.tv (en) - MTVLive.uk - Dec 16, 2024 (26 programs)
  [18/36] musor.tv (en) - MTVLive.uk - Dec 15, 2024 (31 programs)
  [19/36] musor.tv (en) - MTVHitsEurope.uk - Dec 16, 2024 (13 programs)
  [20/36] musor.tv (en) - MTVHitsEurope.uk - Dec 15, 2024 (13 programs)
  [21/36] musor.tv (en) - MTVGlobal.uk - Dec 16, 2024 (34 programs)
  [22/36] musor.tv (en) - MTVGlobal.uk - Dec 15, 2024 (38 programs)
  [23/36] musor.tv (en) - MTV90s.uk - Dec 16, 2024 (10 programs)
  [24/36] musor.tv (en) - MTV90s.uk - Dec 15, 2024 (10 programs)
  [25/36] musor.tv (en) - MTV00s.uk - Dec 16, 2024 (8 programs)
  [26/36] musor.tv (en) - MTV00s.uk - Dec 15, 2024 (11 programs)
  [27/36] musor.tv (en) - FilmBoxArthouse.nl - Dec 16, 2024 (21 programs)
  [28/36] musor.tv (en) - FilmBoxArthouse.nl - Dec 15, 2024 (27 programs)
  [29/36] musor.tv (en) - FightBox.nl - Dec 16, 2024 (24 programs)
  [30/36] musor.tv (en) - FightBox.nl - Dec 15, 2024 (33 programs)
  [31/36] musor.tv (en) - ExtremeSportsChannel.nl - Dec 16, 2024 (20 programs)
  [32/36] musor.tv (en) - ExtremeSportsChannel.nl - Dec 15, 2024 (25 programs)
  [33/36] musor.tv (en) - EnglishClubTV.uk - Dec 16, 2024 (134 programs)
  [34/36] musor.tv (en) - EnglishClubTV.uk - Dec 15, 2024 (129 programs)
  [35/36] musor.tv (en) - EEurope.nl - Dec 16, 2024 (26 programs)
  [36/36] musor.tv (en) - EEurope.nl - Dec 15, 2024 (32 programs)
  saving to "guide.xml"...
  done in 00h 02m 35s
```

Signed-off-by: Toha <tohenk@yahoo.com>
This commit is contained in:
Toha 2024-12-15 18:50:41 +07:00
parent 581f5e0ca9
commit ac914c7081
No known key found for this signature in database
GPG key ID: 2D7AA6389D44DCAB
3 changed files with 48 additions and 31 deletions

View file

@ -22,25 +22,38 @@
<channel site="musor.tv" lang="hu" xmltv_id="" site_id="CARTOONITO">Cartoonito</channel>
<channel site="musor.tv" lang="hu" xmltv_id="" site_id="DANKO_RADIO">Dankó Rádió</channel>
<channel site="musor.tv" lang="hu" xmltv_id="" site_id="DEBRECEN_TV">Debrecen TV</channel>
<channel site="musor.tv" lang="hu" xmltv_id="" site_id="DTX">Discovery Turbo Xtra (DTX) (HD)</channel>
<channel site="musor.tv" lang="hu" xmltv_id="" site_id="DUCKHD">Duck TV HD</channel>
<channel site="musor.tv" lang="hu" xmltv_id="" site_id="DUNAWORLDRADIO">Duna World Rádió</channel>
<channel site="musor.tv" lang="hu" xmltv_id="" site_id="ELSO_KERULET_TV">Első Kerület TV HD</channel>
<channel site="musor.tv" lang="hu" xmltv_id="" site_id="FASHIONTV">Fashion TV</channel>
<channel site="musor.tv" lang="hu" xmltv_id="" site_id="FILMBOX">Filmbox</channel>
<channel site="musor.tv" lang="hu" xmltv_id="" site_id="FILMBOX">Filmbox (HD)</channel>
<channel site="musor.tv" lang="hu" xmltv_id="" site_id="GYONGYOS_TV">Gyöngyös TV HD</channel>
<channel site="musor.tv" lang="hu" xmltv_id="" site_id="HBOHD">HBO (HD)</channel>
<channel site="musor.tv" lang="hu" xmltv_id="" site_id="HISTORYHD">History (HD)</channel>
<channel site="musor.tv" lang="hu" xmltv_id="" site_id="JAZZ_TV">Jazz TV (HD)</channel>
<channel site="musor.tv" lang="hu" xmltv_id="" site_id="KOLYOK_KLUB">Kölyök Klub</channel>
<channel site="musor.tv" lang="hu" xmltv_id="" site_id="M3">M3 (online)</channel>
<channel site="musor.tv" lang="hu" xmltv_id="" site_id="MKR">Magyar Katolikus Rádió</channel>
<channel site="musor.tv" lang="hu" xmltv_id="" site_id="MOZI_KLUB">Mozi Klub</channel>
<channel site="musor.tv" lang="hu" xmltv_id="" site_id="MR1">Kossuth Rádió</channel>
<channel site="musor.tv" lang="hu" xmltv_id="" site_id="MR2">Petőfi Rádió</channel>
<channel site="musor.tv" lang="hu" xmltv_id="" site_id="MR3">Bartók Rádió</channel>
<channel site="musor.tv" lang="hu" xmltv_id="" site_id="MR4">Nemzetiségi Adások</channel>
<channel site="musor.tv" lang="hu" xmltv_id="" site_id="MR_SPORT_RADIO">Nemzeti Sport Rádió</channel>
<channel site="musor.tv" lang="hu" xmltv_id="" site_id="MTVHU">MTV Hungary</channel>
<channel site="musor.tv" lang="hu" xmltv_id="" site_id="NICKELODEONHD">Nickelodeon HD</channel>
<channel site="musor.tv" lang="hu" xmltv_id="" site_id="PESTBUDA_TV">PestBuda TV HD</channel>
<channel site="musor.tv" lang="hu" xmltv_id="" site_id="RTL3">RTL HÁROM (HD)</channel>
<channel site="musor.tv" lang="hu" xmltv_id="" site_id="RTL_OTTHON">RTL Otthon</channel>
<channel site="musor.tv" lang="hu" xmltv_id="" site_id="RUSSKOE_KINO">TV1000 Russian Kino</channel>
<channel site="musor.tv" lang="hu" xmltv_id="" site_id="SOROZAT_KLUB">Sorozat Klub</channel>
<channel site="musor.tv" lang="hu" xmltv_id="" site_id="SZAKCSI_RADIO">Szakcsi Rádió</channel>
<channel site="musor.tv" lang="hu" xmltv_id="" site_id="TRAVELXP_4K">Travel XP 4K</channel>
<channel site="musor.tv" lang="hu" xmltv_id="" site_id="VIASAT_FILM">Viasat Film</channel>
<channel site="musor.tv" lang="hu" xmltv_id="" site_id="TRAVELXP_4K">Travel XP 4K</channel>
<channel site="musor.tv" lang="hu" xmltv_id="" site_id="TV2_KLUB">TV2 Klub</channel>
<channel site="musor.tv" lang="hu" xmltv_id="" site_id="VASARHELYI_TV">Vásárhelyi Televízió</channel>
<channel site="musor.tv" lang="hu" xmltv_id="" site_id="VESZPREM_TV">Veszprém TV HD</channel>
<channel site="musor.tv" lang="hu" xmltv_id="" site_id="VIASAT_FILM">Viasat Film (HD)</channel>
<channel site="musor.tv" lang="hu" xmltv_id="7TV.hu" site_id="7TV">7.TV</channel>
<channel site="musor.tv" lang="hu" xmltv_id="AMC.hu" site_id="AMC">AMC (HD)</channel>
<channel site="musor.tv" lang="hu" xmltv_id="AnimalPlanetEurope.uk" site_id="ANIMAL">Animal Planet (HD)</channel>
@ -55,22 +68,19 @@
<channel site="musor.tv" lang="hu" xmltv_id="BBCEarth.ro" site_id="BBC_EARTH">BBC Earth (HD)</channel>
<channel site="musor.tv" lang="hu" xmltv_id="BBCNewsEurope.uk" site_id="BBCWORLD">BBC World News</channel>
<channel site="musor.tv" lang="hu" xmltv_id="CartoonNetwork.hu" site_id="CARTOON">Cartoon Network</channel>
<channel site="musor.tv" lang="hu" xmltv_id="CBSRealityEMEA.uk" site_id="CBSREALITY">CBS Reality</channel>
<channel site="musor.tv" lang="hu" xmltv_id="Cinemax2CentralEuropeHD.hu" site_id="CINEMAX2">Cinemax 2 (HD)</channel>
<channel site="musor.tv" lang="hu" xmltv_id="CinemaxCentralEuropeHD.hu" site_id="CINEMAX">Cinemax (HD)</channel>
<channel site="musor.tv" lang="hu" xmltv_id="CNBCEurope.uk" site_id="CNBC">CNBC</channel>
<channel site="musor.tv" lang="hu" xmltv_id="CNNInternationalEurope.us" site_id="CNN">CNN</channel>
<channel site="musor.tv" lang="hu" xmltv_id="ComedyCentral.hu" site_id="COMEDY">Comedy Central (HD)</channel>
<channel site="musor.tv" lang="hu" xmltv_id="ComedyCentralFamily.hu" site_id="COMEDY_CENTRAL_FAMILY">Comedy Central Family</channel>
<channel site="musor.tv" lang="hu" xmltv_id="CoolTV.hu" site_id="COOL">Cool (HD)</channel>
<channel site="musor.tv" lang="hu" xmltv_id="D1TV.hu" site_id="D1TV">D1 Televízió</channel>
<channel site="musor.tv" lang="hu" xmltv_id="DaVinci.hu" site_id="DAVINCI">Da Vinci (HD)</channel>
<channel site="musor.tv" lang="hu" xmltv_id="DikhTV.hu" site_id="DIKH_TV">Dikh TV (HD)</channel>
<channel site="musor.tv" lang="hu" xmltv_id="DirectOneTV.lu" site_id="DIRECT_ONE_TV">Direct One TV (HD)</channel>
<channel site="musor.tv" lang="hu" xmltv_id="DiscoveryChannel.hu" site_id="DISCOVERY">Discovery Channel (HD)</channel>
<channel site="musor.tv" lang="hu" xmltv_id="DiscoveryScience.us" site_id="DISCOVERYSCI">Discovery Science (HD)</channel>
<channel site="musor.tv" lang="hu" xmltv_id="DisneyChannel.hu" site_id="DISNEY">Disney Channel</channel>
<channel site="musor.tv" lang="hu" xmltv_id="DocuBox.nl" site_id="DOCUBOX_EN">Docubox HD</channel>
<channel site="musor.tv" lang="hu" xmltv_id="DocuBox.nl" site_id="DOCUBOX_EN">Docubox (HD)</channel>
<channel site="musor.tv" lang="hu" xmltv_id="ducktv.sk" site_id="DUCKTV">Duck TV</channel>
<channel site="musor.tv" lang="hu" xmltv_id="Duna.hu" site_id="DUNA">Duna TV (HD)</channel>
<channel site="musor.tv" lang="hu" xmltv_id="DunaWorld.hu" site_id="DUNAWORLD">Duna World (HD)</channel>
@ -80,10 +90,10 @@
<channel site="musor.tv" lang="hu" xmltv_id="Eurosport1.hu" site_id="EUROSPORT">Eurosport 1 (HD)</channel>
<channel site="musor.tv" lang="hu" xmltv_id="Eurosport2.hu" site_id="EUROSPORT2">Eurosport 2 (HD)</channel>
<channel site="musor.tv" lang="hu" xmltv_id="Eurosport4K.fr" site_id="EUROSPORT4K">Eurosport 4K</channel>
<channel site="musor.tv" lang="hu" xmltv_id="Eurosport4K.fr" site_id="EUROSPORT4K">Eurosport 4K</channel>
<channel site="musor.tv" lang="hu" xmltv_id="EWTNBonumTV.hu" site_id="BONUM">EWTN / Bonum TV (HD)</channel>
<channel site="musor.tv" lang="hu" xmltv_id="FashionTVEurope.fr" site_id="FTVHD">Fashion TV HD</channel>
<channel site="musor.tv" lang="hu" xmltv_id="FehervarTV.hu" site_id="FEHERVAR_TV">Fehérvár TV</channel>
<channel site="musor.tv" lang="hu" xmltv_id="FEM3.hu" site_id="FEM3">FEM3</channel>
<channel site="musor.tv" lang="hu" xmltv_id="Film4.hu" site_id="FILM4">Film 4 (HD)</channel>
<channel site="musor.tv" lang="hu" xmltv_id="FilmBoxExtra.hu" site_id="FILMBOX_EXTRA_HD">Filmbox Extra HD</channel>
<channel site="musor.tv" lang="hu" xmltv_id="FilmBoxFamily.nl" site_id="FILMBOXFAMILY">Filmbox Family</channel>
@ -95,8 +105,9 @@
<channel site="musor.tv" lang="hu" xmltv_id="FitHD.hu" site_id="FIT_HD">Fit HD</channel>
<channel site="musor.tv" lang="hu" xmltv_id="FoodNetworkEMEA.us" site_id="FOODNETWORK">Food Network (HD)</channel>
<channel site="musor.tv" lang="hu" xmltv_id="FunBoxUHD.nl" site_id="FUNBOX_UHD">Funbox UltraHD 4K</channel>
<channel site="musor.tv" lang="hu" xmltv_id="FunBoxUHD.nl" site_id="FUNBOX_UHD">Funbox UltraHD 4K</channel>
<channel site="musor.tv" lang="hu" xmltv_id="Galaxy4.hu" site_id="GALAXY">Galaxy 4 (HD)</channel>
<channel site="musor.tv" lang="hu" xmltv_id="Gametoon.nl" site_id="GAMETOON">Gametoon HD</channel>
<channel site="musor.tv" lang="hu" xmltv_id="Gametoon.nl" site_id="GAMETOON">Gametoon (HD)</channel>
<channel site="musor.tv" lang="hu" xmltv_id="Hatoscsatorna.hu" site_id="HATOS_CSATORNA">Hatoscsatorna</channel>
<channel site="musor.tv" lang="hu" xmltv_id="HBO2CentralEuropeHD.hu" site_id="HBO2">HBO 2 (HD)</channel>
<channel site="musor.tv" lang="hu" xmltv_id="HBO3CentralEuropeHD.hu" site_id="HBO3">HBO 3 (HD)</channel>
@ -112,19 +123,19 @@
<channel site="musor.tv" lang="hu" xmltv_id="KolcseyTV.hu" site_id="KOLCSEY_TV">Kölcsey TV</channel>
<channel site="musor.tv" lang="hu" xmltv_id="LifeTV.hu" site_id="LIFE_TV">Life TV (HD)</channel>
<channel site="musor.tv" lang="hu" xmltv_id="LoveNature.ca" site_id="LOVE_NATURE">Love Nature (HD / 4K)</channel>
<channel site="musor.tv" lang="hu" xmltv_id="LoveNature.ca" site_id="LOVE_NATURE">Love Nature (HD / 4K)</channel>
<channel site="musor.tv" lang="hu" xmltv_id="M1.hu" site_id="M1">M1 (HD)</channel>
<channel site="musor.tv" lang="hu" xmltv_id="M2.hu" site_id="M2">M2 / Petőfi (HD)</channel>
<channel site="musor.tv" lang="hu" xmltv_id="M4Sport.hu" site_id="M4_SPORT">M4 Sport (HD)</channel>
<channel site="musor.tv" lang="hu" xmltv_id="M4SportPlus.hu" site_id="M4_SPORT_PLUSZ">M4 Sport+ (HD)</channel>
<channel site="musor.tv" lang="hu" xmltv_id="M5.hu" site_id="M5">M5 (HD)</channel>
<channel site="musor.tv" lang="hu" xmltv_id="MagyarMoziTV.hu" site_id="MAGYAR_MOZI_TV">Magyar Mozi TV</channel>
<channel site="musor.tv" lang="hu" xmltv_id="MagyarMoziTV.hu" site_id="MAGYAR_MOZI_TV">Magyar Mozi TV (HD)</channel>
<channel site="musor.tv" lang="hu" xmltv_id="Match4.hu" site_id="MATCH4">Match4 (HD)</channel>
<channel site="musor.tv" lang="hu" xmltv_id="MAX4.hu" site_id="MAX4">Max 4</channel>
<channel site="musor.tv" lang="hu" xmltv_id="Mezzo.fr" site_id="MEZZO">Mezzo</channel>
<channel site="musor.tv" lang="hu" xmltv_id="MezzoLive.fr" site_id="MEZZOHD">Mezzo Live HD</channel>
<channel site="musor.tv" lang="hu" xmltv_id="Minimax.hu" site_id="MINIMAX">Minimax</channel>
<channel site="musor.tv" lang="hu" xmltv_id="MoziPlus.hu" site_id="MOZI_PLUSZ">Mozi+ (HD)</channel>
<channel site="musor.tv" lang="hu" xmltv_id="" site_id="MOZI_KLUB">Mozi Klub</channel>
<channel site="musor.tv" lang="hu" xmltv_id="Moziverzum.hu" site_id="MOZIVERZUM">Moziverzum (HD)</channel>
<channel site="musor.tv" lang="hu" xmltv_id="MTV80s.uk" site_id="MTV80S">MTV 80s</channel>
<channel site="musor.tv" lang="hu" xmltv_id="MuzsikaTV.hu" site_id="MUZSIKATV">Muzsika TV</channel>
@ -144,7 +155,6 @@
<channel site="musor.tv" lang="hu" xmltv_id="RTLKetto.hu" site_id="RTL2">RTL KETTŐ (HD)</channel>
<channel site="musor.tv" lang="hu" xmltv_id="SlagerTV.hu" site_id="SLAGERTV">Sláger TV (HD)</channel>
<channel site="musor.tv" lang="hu" xmltv_id="SorozatPlus.hu" site_id="SOROZAT">Sorozat+</channel>
<channel site="musor.tv" lang="hu" xmltv_id="" site_id="SOROZAT_KLUB">Sorozat Klub</channel>
<channel site="musor.tv" lang="hu" xmltv_id="Spektrum.hu" site_id="SPEKTRUM">Spektrum (HD)</channel>
<channel site="musor.tv" lang="hu" xmltv_id="SpektrumHome.hu" site_id="SPEKTRUMHOME">Spektrum Home (HD)</channel>
<channel site="musor.tv" lang="hu" xmltv_id="Spiler1.hu" site_id="SPILER_TV">Spíler1 TV (HD)</channel>

View file

@ -1,15 +1,21 @@
const cheerio = require('cheerio')
const dayjs = require('dayjs')
const axios = require('axios')
const dayjs = require('dayjs')
const utc = require('dayjs/plugin/utc')
const customParseFormat = require('dayjs/plugin/customParseFormat')
dayjs.extend(utc)
dayjs.extend(customParseFormat)
const headers = {
'User-Agent':
'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36 OPR/115.0.0.0',
}
module.exports = {
site: 'musor.tv',
days: 2,
request: { headers },
url({ channel, date }) {
return dayjs.utc().isSame(date, 'd')
? `https://musor.tv/mai/tvmusor/${channel.site_id}`
@ -17,10 +23,10 @@ module.exports = {
},
parser({ content }) {
const programs = []
const items = parseItems(content)
const [$, items] = parseItems(content)
items.forEach(item => {
const prev = programs[programs.length - 1]
const $item = cheerio.load(item)
const $item = $(item)
let start = parseStart($item)
if (prev) prev.stop = start
const stop = start.add(30, 'm')
@ -37,22 +43,22 @@ module.exports = {
},
async channels() {
const html = await axios
.get('https://musor.tv/')
.get('https://musor.tv/', { headers })
.then(r => r.data)
.catch(console.log)
.catch(console.error)
const $ = cheerio.load(html)
const channels = $('body > div.big_content > div > nav > table > tbody > tr > td > a').toArray()
return channels
.map(item => {
const $item = cheerio.load(item)
const url = $item('*').attr('href')
const $item = $(item)
const url = $item.attr('href')
if (!url.startsWith('//musor.tv/mai/tvmusor/')) return null
const site_id = url.replace('//musor.tv/mai/tvmusor/', '')
return {
lang: 'hu',
site_id,
name: $item('*').text()
name: $item.text()
}
})
.filter(i => i)
@ -60,21 +66,21 @@ module.exports = {
}
function parseImage($item) {
const imgSrc = $item('div.smartpe_screenshot > img').attr('src')
const imgSrc = $item.find('div.smartpe_screenshot > img').attr('src')
return imgSrc ? `https:${imgSrc}` : null
}
function parseTitle($item) {
return $item('div:nth-child(2) > div > h3 > a').text().trim()
return $item.find('div:nth-child(2) > div > h3 > a').text().trim()
}
function parseDescription($item) {
return $item('div:nth-child(5) > div > div').text().trim()
return $item.find('div:nth-child(5) > div > div').text().trim()
}
function parseStart($item) {
let datetime = $item('div:nth-child(1) > div > div > div > div > time').attr('content')
let datetime = $item.find('div:nth-child(1) > div > div > div > div > time').attr('content')
if (!datetime) return null
return dayjs.utc(datetime.replace('GMT', 'T'), 'YYYY-MM-DDTHH:mm:ss')
@ -83,5 +89,5 @@ function parseStart($item) {
function parseItems(content) {
const $ = cheerio.load(content)
return $('div.multicolumndayprogarea > div.smartpe_progentry').toArray()
return [$, $('div.multicolumndayprogarea > div.smartpe_progentry').toArray()]
}

View file

@ -4,6 +4,7 @@ const path = require('path')
const dayjs = require('dayjs')
const utc = require('dayjs/plugin/utc')
const customParseFormat = require('dayjs/plugin/customParseFormat')
dayjs.extend(customParseFormat)
dayjs.extend(utc)
@ -25,12 +26,12 @@ it('can generate valid url for today', () => {
it('can parse response', () => {
const content = fs.readFileSync(path.resolve(__dirname, '__data__/content.html'))
let results = parser({ content, date })
results = results.map(p => {
p.start = p.start.toJSON()
p.stop = p.stop.toJSON()
return p
})
const results = parser({ content, date })
.map(p => {
p.start = p.start.toJSON()
p.stop = p.stop.toJSON()
return p
})
expect(results[0]).toMatchObject({
start: '2022-11-19T23:00:00.000Z',