diff --git a/.gh-pages/guides/programme-tv.net.xml b/.gh-pages/guides/programme-tv.net.xml index 8a398baa..60410cb9 100644 --- a/.gh-pages/guides/programme-tv.net.xml +++ b/.gh-pages/guides/programme-tv.net.xml @@ -222,7 +222,7 @@ RTPI RTS Deux RTS Un -Science & Vie TV +Science & Vie TV Seasons serieclub Stingray Djazz @@ -8007,35 +8007,35 @@ La traqueTéléfilm policier HiddenSérie de suspense HiddenSérie de suspense -La nuit de la pleine luneSciences et technique -La nuit de la pleine luneSciences et technique -Des usines XXLSciences et technique -On n'est pas que des cobayes!Sciences et technique -Les trains de l'extrêmeDécouvertes -Précision : comment tout mesurer ?Sciences et technique -Courts de scienceMagazine scientifique -Il était une fois... les découvreursDessin animé -Il était une fois... la vieDessin animé -On n'est pas que des cobayes!Sciences et technique -On n'est pas que des cobayes!Sciences et technique -Combats de robotsSciences et technique -La nuit de la pleine luneSciences et technique -La nuit de la pleine luneSciences et technique -Construire l'impossibleSciences et technique -Construire l'impossibleSciences et technique -Météo de l'extrême : les rescapésSciences et technique -Panique dans le ciel : ces avions qui font le buzzSciences et technique -Mars : mission spatiale sans retourSciences et technique -Mars : mission spatiale sans retourSciences et technique -Au coeur de la villeSciences et technique -L'art de la démolitionSciences et technique -L'art de la démolitionSciences et technique -Mégastructures : Le géant chinoisSciences et technique -Mars, ultime frontièreSciences et technique -Les mystères de l'universSciences et technique -Les rendez-vous de l'espaceMagazine scientifique -Exomars : à la conquête de la planète rougeSciences et technique -Les nouvelles frontières de l'espaceSciences et technique +La nuit de la pleine luneSciences et technique +La nuit de la pleine luneSciences et technique +Des usines XXLSciences et technique +On n'est pas que des cobayes!Sciences et technique +Les trains de l'extrêmeDécouvertes +Précision : comment tout mesurer ?Sciences et technique +Courts de scienceMagazine scientifique +Il était une fois... les découvreursDessin animé +Il était une fois... la vieDessin animé +On n'est pas que des cobayes!Sciences et technique +On n'est pas que des cobayes!Sciences et technique +Combats de robotsSciences et technique +La nuit de la pleine luneSciences et technique +La nuit de la pleine luneSciences et technique +Construire l'impossibleSciences et technique +Construire l'impossibleSciences et technique +Météo de l'extrême : les rescapésSciences et technique +Panique dans le ciel : ces avions qui font le buzzSciences et technique +Mars : mission spatiale sans retourSciences et technique +Mars : mission spatiale sans retourSciences et technique +Au coeur de la villeSciences et technique +L'art de la démolitionSciences et technique +L'art de la démolitionSciences et technique +Mégastructures : Le géant chinoisSciences et technique +Mars, ultime frontièreSciences et technique +Les mystères de l'universSciences et technique +Les rendez-vous de l'espaceMagazine scientifique +Exomars : à la conquête de la planète rougeSciences et technique +Les nouvelles frontières de l'espaceSciences et technique TransmissionPêche Seasons hebdoMagazine de la nature Chasseur de père...en fille!Chasse diff --git a/bin/epg-grabber/utils.js b/bin/epg-grabber/utils.js index 191cb5f5..3930dd7a 100644 --- a/bin/epg-grabber/utils.js +++ b/bin/epg-grabber/utils.js @@ -65,7 +65,9 @@ utils.sleep = function (ms) { } } -utils.escapeString = function (string) { +utils.escapeString = function (string, defaultValue = '') { + if (!string) return defaultValue + return string .toString() .replace(/&/g, '&') @@ -82,16 +84,18 @@ utils.convertToXMLTV = function ({ config, channels, programs }) { let output = `\r\n` for (let channel of channels) { + const id = this.escapeString(channel['xmltv_id']) const displayName = this.escapeString(channel.name) - output += `${displayName}\r\n` + output += `${displayName}\r\n` } for (let program of programs) { if (!program) continue - const title = program.title ? this.escapeString(program.title) : '' - const description = program.description ? this.escapeString(program.description) : '' - const category = program.category ? this.escapeString(program.category) : '' + const channel = this.escapeString(program.channel) + const title = this.escapeString(program.title) + const description = this.escapeString(program.description) + const category = this.escapeString(program.category) const start = program.start ? dayjs(program.start).format('YYYYMMDDHHmmss ZZ') : '' const stop = program.stop ? dayjs(program.stop).format('YYYYMMDDHHmmss ZZ') : '' const lang = program.lang || config.lang @@ -103,7 +107,7 @@ utils.convertToXMLTV = function ({ config, channels, programs }) { output += ` stop="${stop}"` } - output += ` channel="${program.channel}">${title}` + output += ` channel="${channel}">${title}` if (description) { output += `${description}`