From 02838b38716cd6dd01bd7a3aad0fcbb6f44ffa1f Mon Sep 17 00:00:00 2001 From: leap123 Date: Sun, 22 Jun 2025 07:24:21 +0000 Subject: [PATCH 1/2] Update tivie.id MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replaces #2786. Has the same parsing fix from the last commit of said PR but with changes to the channels.xml. ```shell @leap0x7b ➜ /workspaces/epg (master) $ npm test --- tivie.id > test > run-script-os tivie.id > test:default > TZ=Pacific/Nauru npx jest --runInBand tivie.id PASS sites/tivie.id/tivie.id.test.js ✓ can generate valid url (3 ms) ✓ can parse response (179 ms) ✓ can handle empty guide Test Suites: 1 passed, 1 total Tests: 3 passed, 3 total Snapshots: 0 total Time: 0.52 s Ran all test suites matching /tivie.id/i. ``` ```shell @leap0x7b ➜ /workspaces/epg (master) $ npm run grab --- --site=tivie.id > grab > npx tsx scripts/commands/epg/grab.ts --site=tivie.id starting... config: output: guide.xml maxConnections: 1 gzip: false site: tivie.id loading channels... found 45 channel(s) run: [1/90] tivie.id (id) - ANTV.id - Jun 22, 2025 (14 programs) [2/90] tivie.id (id) - ANTV.id - Jun 23, 2025 (13 programs) [3/90] tivie.id (id) - ZeeBioskop.id - Jun 23, 2025 (14 programs) [4/90] tivie.id (id) - ZeeBioskop.id - Jun 22, 2025 (11 programs) [5/90] tivie.id (id) - TVRINasional.id - Jun 23, 2025 (36 programs) [6/90] tivie.id (id) - TVRINasional.id - Jun 22, 2025 (38 programs) [7/90] tivie.id (id) - tvOne.id - Jun 23, 2025 (24 programs) [8/90] tivie.id (id) - tvOne.id - Jun 22, 2025 (25 programs) [9/90] tivie.id (id) - tvNMoviesAsia.hk - Jun 23, 2025 (14 programs) [10/90] tivie.id (id) - tvNMoviesAsia.hk - Jun 22, 2025 (13 programs) [11/90] tivie.id (id) - tvNAsia.hk - Jun 23, 2025 (21 programs) [12/90] tivie.id (id) - tvNAsia.hk - Jun 22, 2025 (18 programs) [13/90] tivie.id (id) - TransTV.id - Jun 23, 2025 (21 programs) [14/90] tivie.id (id) - TransTV.id - Jun 22, 2025 (23 programs) [15/90] tivie.id (id) - Trans7.id - Jun 23, 2025 (28 programs) [16/90] tivie.id (id) - Trans7.id - Jun 22, 2025 (23 programs) [17/90] tivie.id (id) - SPOTV.id - Jun 23, 2025 (6 programs) [18/90] tivie.id (id) - SPOTV.id - Jun 22, 2025 (9 programs) [19/90] tivie.id (id) - SPOTV2.id - Jun 23, 2025 (11 programs) [20/90] tivie.id (id) - SPOTV2.id - Jun 22, 2025 (15 programs) [21/90] tivie.id (id) - SindoNewsTV.id - Jun 23, 2025 (23 programs) [22/90] tivie.id (id) - SindoNewsTV.id - Jun 22, 2025 (23 programs) [23/90] tivie.id (id) - SEAToday.id - Jun 23, 2025 (42 programs) [24/90] tivie.id (id) - SEAToday.id - Jun 22, 2025 (42 programs) [25/90] tivie.id (id) - SCTV.id - Jun 23, 2025 (18 programs) [26/90] tivie.id (id) - SCTV.id - Jun 22, 2025 (19 programs) [27/90] tivie.id (id) - ROCKExtreme.sg - Jun 23, 2025 (14 programs) [28/90] tivie.id (id) - ROCKExtreme.sg - Jun 22, 2025 (14 programs) [29/90] tivie.id (id) - ROCKEntertainment.sg - Jun 23, 2025 (26 programs) [30/90] tivie.id (id) - ROCKEntertainment.sg - Jun 22, 2025 (17 programs) [31/90] tivie.id (id) - RCTI.id - Jun 23, 2025 (19 programs) [32/90] tivie.id (id) - RCTI.id - Jun 22, 2025 (19 programs) [33/90] tivie.id (id) - RajawaliTV.id - Jun 23, 2025 (26 programs) [34/90] tivie.id (id) - RajawaliTV.id - Jun 22, 2025 (29 programs) [35/90] tivie.id (id) - NusantaraTV.id - Jun 23, 2025 (23 programs) [36/90] tivie.id (id) - NusantaraTV.id - Jun 22, 2025 (26 programs) [37/90] tivie.id (id) - Moji.id - Jun 23, 2025 (14 programs) [38/90] tivie.id (id) - Moji.id - Jun 22, 2025 (16 programs) [39/90] tivie.id (id) - MNCTV.id - Jun 23, 2025 (19 programs) [40/90] tivie.id (id) - MNCTV.id - Jun 22, 2025 (16 programs) Unable to fetch https://tivie.id/program/go-healthy-nwzDnwzDnAPB: socket hang up! Unable to fetch https://tivie.id/program/metro-sports-nwzDnwzDnAPD: socket hang up! Unable to fetch https://tivie.id/program/metro-siang-nwzDnwzDnAP8: socket hang up! Unable to fetch https://tivie.id/program/metro-siang-nwzDnwzDnAP8: socket hang up! Unable to fetch https://tivie.id/program/headline-news-nwzDnwzDmwz6: socket hang up! Unable to fetch https://tivie.id/program/metro-siang-nwzDnwzDnAP8: socket hang up! Unable to fetch https://tivie.id/program/newsline-nwzDnwzDnAP6: socket hang up! Unable to fetch https://tivie.id/program/headline-news-nwzDnwzDmwz6: socket hang up! Unable to fetch https://tivie.id/program/headline-news-nwzDnwzDmwz6: socket hang up! [41/90] tivie.id (id) - MetroTV.id - Jun 23, 2025 (59 programs) [42/90] tivie.id (id) - MetroTV.id - Jun 22, 2025 (56 programs) [43/90] tivie.id (id) - MentariTV.id - Jun 23, 2025 (19 programs) [44/90] tivie.id (id) - MentariTV.id - Jun 22, 2025 (19 programs) [45/90] tivie.id (id) - NET.id - Jun 23, 2025 (22 programs) [46/90] tivie.id (id) - NET.id - Jun 22, 2025 (22 programs) [47/90] tivie.id (id) - LifetimeAsia.us - Jun 23, 2025 (25 programs) [48/90] tivie.id (id) - LifetimeAsia.us - Jun 22, 2025 (18 programs) [49/90] tivie.id (id) - KompasTV.id - Jun 23, 2025 (23 programs) [50/90] tivie.id (id) - KompasTV.id - Jun 22, 2025 (28 programs) [51/90] tivie.id (id) - iNews.id - Jun 23, 2025 (24 programs) [52/90] tivie.id (id) - iNews.id - Jun 22, 2025 (22 programs) [53/90] tivie.id (id) - Indosiar.id - Jun 23, 2025 (15 programs) [54/90] tivie.id (id) - Indosiar.id - Jun 22, 2025 (15 programs) [55/90] tivie.id (id) - HITSNowHD.sg - Jun 23, 2025 (25 programs) [56/90] tivie.id (id) - HITSNowHD.sg - Jun 22, 2025 (26 programs) [57/90] tivie.id (id) - HITSMovies.sg - Jun 23, 2025 (12 programs) [58/90] tivie.id (id) - HITSMovies.sg - Jun 22, 2025 (12 programs) [59/90] tivie.id (id) - HITS.sg - Jun 23, 2025 (29 programs) [60/90] tivie.id (id) - HITS.sg - Jun 22, 2025 (30 programs) [61/90] tivie.id (id) - HBOSignatureAsia.sg - Jun 23, 2025 (16 programs) [62/90] tivie.id (id) - HBOSignatureAsia.sg - Jun 22, 2025 (15 programs) [63/90] tivie.id (id) - HBOHitsAsia.sg - Jun 23, 2025 (17 programs) [64/90] tivie.id (id) - HBOHitsAsia.sg - Jun 22, 2025 (15 programs) [65/90] tivie.id (id) - HBOFamilyAsia.sg - Jun 23, 2025 (63 programs) [66/90] tivie.id (id) - HBOFamilyAsia.sg - Jun 22, 2025 (60 programs) [67/90] tivie.id (id) - HBOAsia.sg - Jun 23, 2025 (13 programs) [68/90] tivie.id (id) - HBOAsia.sg - Jun 22, 2025 (14 programs) [69/90] tivie.id (id) - GTV.id - Jun 23, 2025 (20 programs) [70/90] tivie.id (id) - GTV.id - Jun 22, 2025 (18 programs) [71/90] tivie.id (id) - GarudaTV.id - Jun 23, 2025 (37 programs) [72/90] tivie.id (id) - GarudaTV.id - Jun 22, 2025 (39 programs) [73/90] tivie.id (id) - GalaxyPremium.id - Jun 23, 2025 (14 programs) [74/90] tivie.id (id) - GalaxyPremium.id - Jun 22, 2025 (13 programs) [75/90] tivie.id (id) - Galaxy.id - Jun 23, 2025 (16 programs) [76/90] tivie.id (id) - Galaxy.id - Jun 22, 2025 (16 programs) [77/90] tivie.id (id) - CNNIndonesia.id - Jun 23, 2025 (26 programs) [78/90] tivie.id (id) - CNNIndonesia.id - Jun 22, 2025 (26 programs) [79/90] tivie.id (id) - CinemaxAsia.sg - Jun 23, 2025 (16 programs) [80/90] tivie.id (id) - CinemaxAsia.sg - Jun 22, 2025 (15 programs) [81/90] tivie.id (id) - BTV.id - Jun 23, 2025 (27 programs) [82/90] tivie.id (id) - BTV.id - Jun 22, 2025 (28 programs) [83/90] tivie.id (id) - beINSports3.qa@Indonesia - Jun 23, 2025 (21 programs) [84/90] tivie.id (id) - beINSports3.qa@Indonesia - Jun 22, 2025 (20 programs) [85/90] tivie.id (id) - beinsports2 - Jun 23, 2025 (22 programs) [86/90] tivie.id (id) - beinsports2 - Jun 22, 2025 (18 programs) [87/90] tivie.id (id) - beINSports1.qa@Indonesia - Jun 23, 2025 (21 programs) [88/90] tivie.id (id) - beINSports1.qa@Indonesia - Jun 22, 2025 (23 programs) [89/90] tivie.id (id) - AXNAsia.sg@Indonesia - Jun 23, 2025 (25 programs) [90/90] tivie.id (id) - AXNAsia.sg@Indonesia - Jun 22, 2025 (24 programs) saving to "guide.xml"... done in 00h 02m 45s ``` --- sites/tivie.id/tivie.id.channels.xml | 7 +------ sites/tivie.id/tivie.id.config.js | 13 ++++++++++--- yarn.lock | 22 +++++++++++----------- 3 files changed, 22 insertions(+), 20 deletions(-) diff --git a/sites/tivie.id/tivie.id.channels.xml b/sites/tivie.id/tivie.id.channels.xml index 32edc824..5378f68b 100644 --- a/sites/tivie.id/tivie.id.channels.xml +++ b/sites/tivie.id/tivie.id.channels.xml @@ -23,15 +23,11 @@ iNews Kompas TV Lifetime + MDTV Mentari TV Metro TV MNC TV Moji - My Cinema - My Cinema Asia - My Family Channel - My Kidz - NET. Nusantara TV RTV RCTI @@ -48,6 +44,5 @@ tvN Movies TvOne TVRI - VTV Zee Bioskop diff --git a/sites/tivie.id/tivie.id.config.js b/sites/tivie.id/tivie.id.config.js index 080a74e7..ed3bda76 100644 --- a/sites/tivie.id/tivie.id.config.js +++ b/sites/tivie.id/tivie.id.config.js @@ -72,11 +72,18 @@ module.exports = { const img = $('#main-content > div > div:nth-child(1) img') const info = $('#main-content > div > div:nth-child(2)') const title = parseText(info.find('h2:nth-child(2)')) - if (!queue.i.title.startsWith(title)) { + if (!queue.i.title.startsWith(title) && !queue.i.title.startsWith('LIVE ')) { queue.i.subTitle = parseText(info.find('h2:nth-child(2)')) } - queue.i.description = parseText(info.find('div[class=""]:nth-child(4)')) - queue.i.date = parseText(info.find('h2:nth-child(3)')) + const desc1 = parseText(info.find('div[class=""]:nth-child(3)')) + const desc2 = parseText(info.find('div[class=""]:nth-child(4)')) + if (desc2 == '') { + queue.i.description = desc1.replace('TiViE.id | ', '') + } else { + queue.i.description = desc2.replace('TiViE.id | ', '') + queue.i.date = parseText(info.find('h2:nth-child(3)')) + } + queue.i.categories = parseText(info.find('div[class=""]:nth-child(1)')).split(', ') queue.i.image = img.length ? img.attr('src') : null }) } diff --git a/yarn.lock b/yarn.lock index c4fd3ef2..ff4369c8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -323,10 +323,10 @@ enabled "2.0.x" kuler "^2.0.0" -"@esbuild/darwin-x64@0.25.2": +"@esbuild/linux-x64@0.25.2": version "0.25.2" - resolved "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.2.tgz" - integrity sha512-5eRPrTX7wFyuWe8FqEFPG2cU0+butQQVNcT4sVipqjLYQjjh8a8+vUTfgBKM88ObB85ahsnTwF7PSIt6PG+QkA== + resolved "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.2.tgz" + integrity sha512-QInHERlqpTTZ4FRB0fROQWXcYRD64lAoiegezDunLpalZMjcUcld3YzZmVJ2H/Cp0wJRZ8Xtjtj0cEHhYc/uUg== "@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": version "4.4.1" @@ -1052,10 +1052,15 @@ dependencies: "@sinonjs/commons" "^3.0.0" -"@swc/core-darwin-x64@1.10.4": +"@swc/core-linux-x64-gnu@1.10.4": version "1.10.4" - resolved "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.10.4.tgz" - integrity sha512-gjYNU6vrAUO4+FuovEo9ofnVosTFXkF0VDuo1MKPItz6e2pxc2ale4FGzLw0Nf7JB1sX4a8h06CN16/pLJ8Q2w== + resolved "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.10.4.tgz" + integrity sha512-qJXh9D6Kf5xSdGWPINpLGixAbB5JX8JcbEJpRamhlDBoOcQC79dYfOMEIxWPhTS1DGLyFakAx2FX/b2VmQmj0g== + +"@swc/core-linux-x64-musl@1.10.4": + version "1.10.4" + resolved "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.10.4.tgz" + integrity sha512-A76lIAeyQnHCVt0RL/pG+0er8Qk9+acGJqSZOZm67Ve3B0oqMd871kPtaHBM0BW3OZAhoILgfHW3Op9Q3mx3Cw== "@swc/core@*", "@swc/core@^1.10.4", "@swc/core@>=1.2.50": version "1.10.4" @@ -2884,11 +2889,6 @@ fs.realpath@^1.0.0: resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= -fsevents@^2.3.2, fsevents@~2.3.2, fsevents@~2.3.3: - version "2.3.3" - resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz" - integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== - function-bind@^1.1.1: version "1.1.2" resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz" From 5883a6d5b2990bf6a07183b152ff472ecaf16374 Mon Sep 17 00:00:00 2001 From: theofficialomega <30985701+BellezaEmporium@users.noreply.github.com> Date: Mon, 30 Jun 2025 10:08:50 +0200 Subject: [PATCH 2/2] revert yarn.lock changes --- yarn.lock | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/yarn.lock b/yarn.lock index ff4369c8..c4fd3ef2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -323,10 +323,10 @@ enabled "2.0.x" kuler "^2.0.0" -"@esbuild/linux-x64@0.25.2": +"@esbuild/darwin-x64@0.25.2": version "0.25.2" - resolved "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.2.tgz" - integrity sha512-QInHERlqpTTZ4FRB0fROQWXcYRD64lAoiegezDunLpalZMjcUcld3YzZmVJ2H/Cp0wJRZ8Xtjtj0cEHhYc/uUg== + resolved "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.2.tgz" + integrity sha512-5eRPrTX7wFyuWe8FqEFPG2cU0+butQQVNcT4sVipqjLYQjjh8a8+vUTfgBKM88ObB85ahsnTwF7PSIt6PG+QkA== "@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": version "4.4.1" @@ -1052,15 +1052,10 @@ dependencies: "@sinonjs/commons" "^3.0.0" -"@swc/core-linux-x64-gnu@1.10.4": +"@swc/core-darwin-x64@1.10.4": version "1.10.4" - resolved "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.10.4.tgz" - integrity sha512-qJXh9D6Kf5xSdGWPINpLGixAbB5JX8JcbEJpRamhlDBoOcQC79dYfOMEIxWPhTS1DGLyFakAx2FX/b2VmQmj0g== - -"@swc/core-linux-x64-musl@1.10.4": - version "1.10.4" - resolved "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.10.4.tgz" - integrity sha512-A76lIAeyQnHCVt0RL/pG+0er8Qk9+acGJqSZOZm67Ve3B0oqMd871kPtaHBM0BW3OZAhoILgfHW3Op9Q3mx3Cw== + resolved "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.10.4.tgz" + integrity sha512-gjYNU6vrAUO4+FuovEo9ofnVosTFXkF0VDuo1MKPItz6e2pxc2ale4FGzLw0Nf7JB1sX4a8h06CN16/pLJ8Q2w== "@swc/core@*", "@swc/core@^1.10.4", "@swc/core@>=1.2.50": version "1.10.4" @@ -2889,6 +2884,11 @@ fs.realpath@^1.0.0: resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= +fsevents@^2.3.2, fsevents@~2.3.2, fsevents@~2.3.3: + version "2.3.3" + resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz" + integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== + function-bind@^1.1.1: version "1.1.2" resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz"