diff --git a/sites/mediaklikk.hu/__data__/content.html b/sites/mediaklikk.hu/__data__/content.html new file mode 100644 index 00000000..4a6a77cf --- /dev/null +++ b/sites/mediaklikk.hu/__data__/content.html @@ -0,0 +1,1501 @@ + +
+
+
+
+

+
+
+
  • +
    + +
    Élő
    + +
    +
    +

    Almárium

    +

    44. rész, 50 perc

    +
    + +
  • +
    + + + +
    +
    +

    Ő és én

    +

    4. rész, 5 perc, 2019

    +
    + +
  • +
    + + + +
    +
    +

    Család-barát 2. rész

    +

    44. rész, 56 perc

    +
    + +
  • +
    + + + +
    +
    +

    Himnusz

    +

    2 perc, 2012

    +
    + +
  • +
    + + + +
    +
    +

    Mindennapi

    +

    206. rész, 1 perc

    +
    + +
  • +
    + + + +
    +
    +

    HÍRADÓ

    +

    301. rész, 30 perc

    +
    + +
  • +
    + + + +
    +
    +

    Nemzeti Sporthíradó

    +

    901. rész, 8 perc

    +
    + +
  • +
    + + + +
    +
    +

    Időjárás-jelentés

    +

    3707. rész, 3 perc

    +
    + +
  • +
    + + + +
    +
    +

    Kenó

    +

    300. rész, 1 perc

    +
    + +
  • +
    + + + +
    +
    +

    Álmok álmodói

    +

    100. rész, 5 perc

    +
    + +
  • +
    + + + +
    +
    +

    Rondó

    +

    40. rész, 26 perc

    +
    + +
  • +
    + + + +
    +
    +

    Kárpát-medence

    +

    43. rész, 20 perc

    +
    + +
  • +
    + + + +
    +
    +

    A NAGYOK

    +

    42. rész, 26 perc

    +
    + +
  • +
    + + + +
    +
    +

    Önök kérték!

    +

    139. rész, 26 perc

    +
    + +
  • +
    + + + +
    +
    +

    Család-barát beharangozó

    +

    45. rész, 3 perc

    +
    + +
  • +
    + + + +
    +
    +

    Az érzelmek tengerén - 2. évad

    +

    54. rész, 43 perc

    +
    + +
  • +
    + + + +
    +
    +

    Család-barát 1. rész

    +

    45. rész, 18 perc

    +
    + +
  • +
    + + + +
    +
    +

    Egy Perc Híradó

    +

    301. rész, 1 perc

    +
    + +
  • +
    + + + +
    +
    +

    Időjárás-jelentés

    +

    3708. rész, 1 perc

    +
    + +
  • +
    + + + +
    +
    +

    Bajorország vadvilága

    +

    2. rész, 52 perc

    +
    + +
  • +
    + + + +
    +
    +

    Család-barát 2. rész

    +

    45. rész, 55 perc

    +
    + +
  • +
    + + + +
    +
    +

    Déli harangszó

    +

    704. rész, 1 perc, 2011

    +
    + +
  • +
    + + + +
    +
    +

    HÍRADÓ

    +

    301. rész, 37 perc

    +
    + +
  • +
    + + + +
    +
    +

    Nemzeti Sporthíradó

    +

    902. rész, 8 perc

    +
    + +
  • +
    + + + +
    +
    +

    Időjárás-jelentés

    +

    3709. rész, 3 perc

    +
    + +
  • +
    + + + +
    +
    +

    Főmenü mini

    +

    26. rész, 3 perc

    +
    + +
  • +
    + + + +
    +
    +

    Álmok álmodói

    +

    100. rész, 5 perc

    +
    + +
  • +
    + + + +
    +
    +

    Lengyelország ízei

    +

    11. rész, 25 perc

    +
    + +
  • +
    + + + +
    +
    +

    Almárium

    +

    45. rész, 50 perc

    +
    + +
  • +
    + + + +
    +
    +

    Ízőrzők - Takarékos konyha

    +

    26. rész, 26 perc, 2020

    +
    + +
  • +
    + + + +
    +
    +

    Almárium

    +

    45. rész, 18 perc

    +
    + +
  • +
    + + + +
    +
    +

    Időjárás-jelentés

    +

    3710. rész, 1 perc

    +
    + +
  • +
    + + + +
    +
    +

    Önök kérték!

    +

    140. rész, 26 perc

    +
    + +
  • +
    + + + +
    +
    +

    Ridikül

    +

    140. rész, 50 perc

    +
    + +
  • +
    + + + +
    +
    +

    Almárium

    +

    45. rész, 7 perc

    +
    + +
  • +
    + + + +
    +
    +

    Híradó - headline

    +

    2494. rész, 1 perc

    +
    + +
  • +
    + + + +
    +
    +

    Don Matteo - XI. évad

    +

    1. rész, 66 perc, 2017

    +
    + +
  • +
    + + + +
    +
    +

    SzerencsePerc

    +

    43. rész, 1 perc

    +
    + +
  • +
    + + + +
    +
    +

    HÍRADÓ

    +

    301. rész, 29 perc

    +
    + +
  • +
    + + + +
    +
    +

    Nemzeti Sporthíradó

    +

    903. rész, 8 perc

    +
    + +
  • +
    + + + +
    +
    +

    Időjárás-jelentés

    +

    3711. rész, 3 perc

    +
    + +
  • +
    + + + +
    +
    +

    Álmok álmodói

    +

    82. rész, 5 perc

    +
    + +
  • +
    + + + +
    +
    +

    Az érzelmek tengerén - 2. évad

    +

    55. rész, 46 perc

    +
    + +
  • +
    + + + +
    +
    +

    Mindennapi

    +

    206. rész, 1 perc

    +
    + +
  • +
    + + + +
    +
    +

    Brown atya - VIII. évad

    +

    4. rész, 44 perc, 2020

    +
    + +
  • +
    + + + +
    +
    +

    Főmenü mini

    +

    30. rész, 3 perc

    +
    + +
  • +
    + + + +
    +
    +

    Hajsza a föld alatt (1974)

    +

    100 perc

    +
    + +
  • +
    + + + +
    +
    +

    Kenó

    +

    301. rész, 1 perc

    +
    + +
  • +
    + + + +
    +
    +

    Időjárás-jelentés

    +

    3712. rész, 1 perc

    +
    + +
  • +
    + + + +
    +
    +

    Szemtől szemben (1967)

    +

    93 perc

    +
    + +
+
+
+
\ No newline at end of file diff --git a/sites/mediaklikk.hu/mediaklikk.hu.config.js b/sites/mediaklikk.hu/mediaklikk.hu.config.js index 557f2f23..f42750e7 100644 --- a/sites/mediaklikk.hu/mediaklikk.hu.config.js +++ b/sites/mediaklikk.hu/mediaklikk.hu.config.js @@ -1,11 +1,9 @@ const cheerio = require('cheerio') 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 = { @@ -48,14 +46,18 @@ module.exports = { function parseStart($item) { const timeString = $item('*').data('from') - return dayjs.tz(timeString, 'YYYY-MM-DD HH:mm:ss', 'Europe/Budapest') + return dayjs(timeString, 'YYYY-MM-DD HH:mm:ssZZ') } function parseStop($item) { const timeString = $item('*').data('till') if (!timeString) return null - return dayjs.tz(timeString, 'YYYY-MM-DD HH:mm:ss', 'Europe/Budapest') + try { + return dayjs(timeString, 'YYYY-MM-DD HH:mm:ssZZ') + } catch (err) { + return null + } } function parseTitle($item) { @@ -70,8 +72,9 @@ function parseIcon($item) { const backgroundImage = $item('.program_about > .program_photo').css('background-image') if (!backgroundImage) return null const [_, icon] = backgroundImage.match(/url\(\'(.*)'\)/) || [null, null] + if (!icon) return null - return icon + return `https:${icon}` } function parseItems(content) { diff --git a/sites/mediaklikk.hu/mediaklikk.hu.test.js b/sites/mediaklikk.hu/mediaklikk.hu.test.js index c6c575b3..d64399de 100644 --- a/sites/mediaklikk.hu/mediaklikk.hu.test.js +++ b/sites/mediaklikk.hu/mediaklikk.hu.test.js @@ -1,6 +1,8 @@ // npx epg-grabber --config=sites/mediaklikk.hu/mediaklikk.hu.config.js --channels=sites/mediaklikk.hu/mediaklikk.hu_hu.channels.xml --output=guide.xml --days=2 const { parser, url, request } = require('./mediaklikk.hu.config.js') +const fs = require('fs') +const path = require('path') const dayjs = require('dayjs') const utc = require('dayjs/plugin/utc') const customParseFormat = require('dayjs/plugin/customParseFormat') @@ -36,24 +38,21 @@ it('can generate valid request data', () => { }) it('can parse response', () => { - const content = `
  • A tengeralattjáró (2018)

    4. rész, 57 perc, 2018

` - - const result = parser({ content }).map(p => { + const content = fs.readFileSync(path.resolve(__dirname, '__data__/content.html')) + const results = parser({ content }).map(p => { p.start = p.start.toJSON() p.stop = p.stop.toJSON() return p }) - expect(result).toMatchObject([ - { - start: '2022-03-09T23:35:35.000Z', - stop: '2022-03-10T00:35:54.000Z', - title: `A tengeralattjáró (2018)`, - description: - 'A La Rochelle-ben történt robbanás után a polgármester parancsot kap néhány súlyos intézkedés meghozatalára. Az ellenséges támadás után az U-612 fedélzetén a bajtársiasság terén gondok mutatkoznak. Hoffmann és Tennstedt rivalizálása és a legénység közt tapasztalható feszültség veszélybe sodorja küldetésüket.(Eredeti hang digitálisan.)', - icon: 'https://mediaklikk.hu/wp-content/uploads/sites/4/2020/06/00-150x150.jpg' - } - ]) + expect(results[0]).toMatchObject({ + start: '2022-10-27T22:00:46.000Z', + stop: '2022-10-27T22:54:00.000Z', + title: `A hegyi doktor - I. évad`, + description: + 'Maxl iskolatársának, Vroninak az anyja egy autóbalesetben meghal. A 20 éves testvér, Vinzenz magához szeretné venni a lányt, ám a gyámüggyel problémái akadnak, ezért megpróbálja elszöktetni.(Eredeti hang digitálisan.)', + icon: 'https://mediaklikk.hu/wp-content/uploads/sites/4/2019/10/A-hegyi-doktor-I-évad-e1571318391226-150x150.jpg' + }) }) it('can handle empty guide', () => {