Merge pull request #2563 from tohenk/fix/sky.com

Filter out repeated schedule events from sky.com.
This commit is contained in:
Aleksandr Statciuk 2025-01-03 13:11:35 +03:00 committed by GitHub
commit d64c934831
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 19 additions and 18 deletions

View file

@ -18,7 +18,7 @@ module.exports = {
channel.site_id channel.site_id
}` }`
}, },
parser({ content, channel }) { parser({ content, channel, date }) {
const programs = [] const programs = []
if (content) { if (content) {
const items = JSON.parse(content) || null const items = JSON.parse(content) || null
@ -30,15 +30,16 @@ module.exports = {
schedule.events schedule.events
.forEach(event => { .forEach(event => {
const start = dayjs.utc(event.st * 1000) const start = dayjs.utc(event.st * 1000)
const stop = start.add(event.d, 's') if (start.isSame(date, 'd')) {
programs.push({ programs.push({
title: event.t, title: event.t,
description: event.sy, description: event.sy,
season: event.seasonnumber, season: event.seasonnumber,
episode: event.episodenumber, episode: event.episodenumber,
start, start,
stop stop: start.add(event.d, 's')
}) })
}
}) })
} }
}) })

View file

@ -28,17 +28,17 @@ it('can parse response', () => {
return p return p
}) })
expect(result.length).toBe(33) expect(result.length).toBe(31)
expect(result[0]).toMatchObject({ expect(result[0]).toMatchObject({
start: '2024-12-13T22:00:00.000Z', start: '2024-12-14T00:00:00.000Z',
stop: '2024-12-13T23:00:00.000Z', stop: '2024-12-14T00:30:00.000Z',
title: 'The UnXplained With...', title: 'Storage Wars',
description: description:
'The Hunt for Jack the Ripper: Jack the Ripper\'s identity has eluded police, historians and armchair detectives for over a century. What do we know about the notorious killer? (S3, ep 21)', 'A Sale Of Two Cities: Emily brings her mother along with her to Walnut, and Darrell wastes no time finding an advantage. Ivy and Ivy jr clean up with their locker. (S12, ep 4)',
season: 4, season: 12,
episode: 14 episode: 4
}) })
expect(result[4]).toMatchObject({ expect(result[2]).toMatchObject({
start: '2024-12-14T01:00:00.000Z', start: '2024-12-14T01:00:00.000Z',
stop: '2024-12-14T01:30:00.000Z', stop: '2024-12-14T01:30:00.000Z',
title: 'Storage Wars', title: 'Storage Wars',