mirror of
https://github.com/iptv-org/epg
synced 2026-09-09 21:36:50 -04:00
Update tv.nu guide.
Test: ```sh npm test -- tv.nu > test > run-script-os tv.nu > test:win32 > SET "TZ=Pacific/Nauru" && npx jest --runInBand tv.nu PASS sites/tv.nu/tv.nu.test.js (6.72 s) √ can generate valid url (5 ms) √ can parse response (7 ms) √ can handle empty guide (1 ms) Test Suites: 1 passed, 1 total Tests: 3 passed, 3 total Snapshots: 0 total Time: 7.246 s Ran all test suites matching /tv.nu/i. ``` Grab: ```sh npm run grab -- --site=tv.nu > grab > npx tsx scripts/commands/epg/grab.ts --site=tv.nu starting... config: output: guide.xml maxConnections: 1 gzip: false site: tv.nu loading channels... found 199 channel(s) run #1: [1/398] tv.nu (da) - dk4.dk - Dec 4, 2024 (41 programs) [2/398] tv.nu (da) - dk4.dk - Dec 5, 2024 (43 programs) ... [397/398] tv.nu (sv) - VSportUltraHD.se - Dec 4, 2024 (7 programs) [398/398] tv.nu (sv) - VSportUltraHD.se - Dec 5, 2024 (7 programs) saving to "guide.xml"... done in 00h 02m 40s ``` Signed-off-by: Toha <tohenk@yahoo.com>
This commit is contained in:
+14
-15
@@ -1,3 +1,5 @@
|
||||
const fs = require('fs')
|
||||
const path = require('path')
|
||||
const { parser, url } = require('./tv.nu.config.js')
|
||||
const dayjs = require('dayjs')
|
||||
const utc = require('dayjs/plugin/utc')
|
||||
@@ -5,7 +7,7 @@ const customParseFormat = require('dayjs/plugin/customParseFormat')
|
||||
dayjs.extend(customParseFormat)
|
||||
dayjs.extend(utc)
|
||||
|
||||
const date = dayjs.utc('2022-03-06', 'YYYY-MM-DD').startOf('d')
|
||||
const date = dayjs.utc('2024-12-03', 'YYYY-MM-DD').startOf('d')
|
||||
const channel = {
|
||||
site_id: '3sat',
|
||||
xmltv_id: '3sat.de'
|
||||
@@ -13,13 +15,12 @@ const channel = {
|
||||
|
||||
it('can generate valid url', () => {
|
||||
expect(url({ channel, date })).toBe(
|
||||
'https://web-api.tv.nu/channels/3sat/schedule?date=2022-03-06&fullDay=true'
|
||||
'https://web-api.tv.nu/channels/3sat/schedule?date=2024-12-03&fullDay=true'
|
||||
)
|
||||
})
|
||||
|
||||
it('can parse response', () => {
|
||||
const content =
|
||||
'{"meta":{"status":200},"data":{"id":30139,"name":"RTL","slug":"rtl","themedLogo":{"light":{"url":"https://new.static.tv.nu/19402170","isFallback":false},"dark":{"url":"https://new.static.tv.nu/59995595","isFallback":true}},"broadcasts":[{"type":"broadcast","id":"1OoSZY-7Q7-1DzQ","slug":"csi","programId":"2452","isPlay":true,"isMovie":false,"isSeries":true,"isLive":false,"title":"CSI: Den Tätern auf der Spur","description":"Hellseherin Sedona Wiley wird tot aufgefunden. Die Ermittlungen führen zu einem alten Mord. Gordon Wallace wurde vor 15 Jahren beschuldigt, seine Frau getötet zu haben, jedoch wurde nie eine Leiche gefunden.","imagePortrait":"https://new.static.tv.nu/16686512","imageLandscape":"https://new.static.tv.nu/13119997","year":2006,"genres":["Action","Kriminaldrama","Mysterium","Spänning","Thriller"],"imdb":{"rating":"7.7","link":"https://www.imdb.com/title/tt0247082"},"playProviders":[{"name":"Viaplay","slug":"viaplay","themedLogo":{"light":{"url":"https://new.static.tv.nu/17048879","isFallback":false},"dark":{"url":"https://new.static.tv.nu/119659437","isFallback":false}},"url":"https://viaplay.se/serier/csi-crime-scene-investigation/sasong-6/avsnitt-19?utm_source=tv.nu&utm_content=CSI%3A+Crime+Scene+Investigation"},{"name":"Tele2 Play","slug":"tele2play","themedLogo":{"light":{"url":"https://new.static.tv.nu/158747195","isFallback":false},"dark":{"url":"https://new.static.tv.nu/158747194","isFallback":false}},"url":"https://www.comhemplay.se/open/vod/SH016259780000?utm_source=tv.nu&utm_medium=partner&utm_campaign=tabla&utm_content=CSI%3A+Crime+Scene+Investigation"},{"name":"Prime Video","slug":"prime-video","themedLogo":{"light":{"url":"https://new.static.tv.nu/23085972","isFallback":false},"dark":{"url":"https://new.static.tv.nu/275111","isFallback":true}},"url":"https://app.primevideo.com/detail?gti=amzn1.dv.gti.54af67f9-e58f-e6db-4991-81eb4f2efa37&utm_source=tv.nu"}],"broadcast":{"id":"1OoSZY-7Q7-1DzQ","startTime":1660878900000,"endTime":1660881600000,"channel":{"name":"RTL","slug":"rtl","themedLogo":{"light":{"url":"https://new.static.tv.nu/19402170","isFallback":false},"dark":{"url":"https://new.static.tv.nu/59995595","isFallback":true}}}},"totalEpisodes":24,"episodeNumber":19,"seasonNumber":6}]}}'
|
||||
const content = fs.readFileSync(path.join(__dirname, '__data__', 'content.json'))
|
||||
const result = parser({ content }).map(p => {
|
||||
p.start = p.start.toJSON()
|
||||
p.stop = p.stop.toJSON()
|
||||
@@ -28,22 +29,20 @@ it('can parse response', () => {
|
||||
|
||||
expect(result).toMatchObject([
|
||||
{
|
||||
start: '2022-08-19T03:15:00.000Z',
|
||||
stop: '2022-08-19T04:00:00.000Z',
|
||||
title: 'CSI: Den Tätern auf der Spur',
|
||||
start: '2024-12-03T11:50:00.000Z',
|
||||
stop: '2024-12-03T12:15:00.000Z',
|
||||
title: 'Natur im Garten',
|
||||
description:
|
||||
'Hellseherin Sedona Wiley wird tot aufgefunden. Die Ermittlungen führen zu einem alten Mord. Gordon Wallace wurde vor 15 Jahren beschuldigt, seine Frau getötet zu haben, jedoch wurde nie eine Leiche gefunden.',
|
||||
image: 'https://new.static.tv.nu/13119997',
|
||||
category: ['Action', 'Kriminaldrama', 'Mysterium', 'Spänning', 'Thriller'],
|
||||
season: 6,
|
||||
episode: 19
|
||||
'Der Gartenbuchautor Karl Ploberger gibt in der Sendung Tipps und Tricks zur Gartenpflege.',
|
||||
category: ['Konsument', 'Underhållning', 'Trädgård'],
|
||||
season: 29,
|
||||
episode: 9
|
||||
}
|
||||
])
|
||||
})
|
||||
|
||||
it('can handle empty guide', () => {
|
||||
const result = parser({
|
||||
content: '{"meta":{"status":200},"data":{"broadcasts":[]}}'
|
||||
})
|
||||
const content = fs.readFileSync(path.join(__dirname, '__data__', 'no_content.json'))
|
||||
const result = parser({ content })
|
||||
expect(result).toMatchObject([])
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user