Update tivie.id

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
```
This commit is contained in:
leap123
2025-06-22 07:24:21 +00:00
parent c5b983943f
commit 02838b3871
3 changed files with 22 additions and 20 deletions

View File

@@ -23,15 +23,11 @@
<channel site="tivie.id" lang="id" xmltv_id="iNews.id" site_id="inews">iNews</channel>
<channel site="tivie.id" lang="id" xmltv_id="KompasTV.id" site_id="kompastv">Kompas TV</channel>
<channel site="tivie.id" lang="id" xmltv_id="LifetimeAsia.us" site_id="lifetime">Lifetime</channel>
<channel site="tivie.id" lang="id" xmltv_id="NET.id" site_id="mdtv">MDTV</channel>
<channel site="tivie.id" lang="id" xmltv_id="MentariTV.id" site_id="mentaritv">Mentari TV</channel>
<channel site="tivie.id" lang="id" xmltv_id="MetroTV.id" site_id="metrotv">Metro TV</channel>
<channel site="tivie.id" lang="id" xmltv_id="MNCTV.id" site_id="mnctv">MNC TV</channel>
<channel site="tivie.id" lang="id" xmltv_id="Moji.id" site_id="moji">Moji</channel>
<channel site="tivie.id" lang="id" xmltv_id="MyCinema.id" site_id="mycinema">My Cinema</channel>
<channel site="tivie.id" lang="id" xmltv_id="MyCinemaAsia.id" site_id="mycinemaasia">My Cinema Asia</channel>
<channel site="tivie.id" lang="id" xmltv_id="MyFamily.id" site_id="myfamily">My Family Channel</channel>
<channel site="tivie.id" lang="id" xmltv_id="MyKidz.id" site_id="mykidz">My Kidz</channel>
<channel site="tivie.id" lang="id" xmltv_id="NET.id" site_id="net">NET.</channel>
<channel site="tivie.id" lang="id" xmltv_id="NusantaraTV.id" site_id="nusantaratv">Nusantara TV</channel>
<channel site="tivie.id" lang="id" xmltv_id="RajawaliTV.id" site_id="rtv">RTV</channel>
<channel site="tivie.id" lang="id" xmltv_id="RCTI.id" site_id="rcti">RCTI</channel>
@@ -48,6 +44,5 @@
<channel site="tivie.id" lang="id" xmltv_id="tvNMoviesAsia.hk" site_id="tvnmovies">tvN Movies</channel>
<channel site="tivie.id" lang="id" xmltv_id="tvOne.id" site_id="tvone">TvOne</channel>
<channel site="tivie.id" lang="id" xmltv_id="TVRINasional.id" site_id="tvri">TVRI</channel>
<channel site="tivie.id" lang="id" xmltv_id="VTV.id" site_id="vtv">VTV</channel>
<channel site="tivie.id" lang="id" xmltv_id="ZeeBioskop.id" site_id="zeebioskop">Zee Bioskop</channel>
</channels>

View File

@@ -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
})
}

View File

@@ -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"