diff --git a/sites/indihometv.com/__data__/content.html b/sites/indihometv.com/__data__/content.html
deleted file mode 100644
index 9feda34de..000000000
--- a/sites/indihometv.com/__data__/content.html
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/sites/indihometv.com/__data__/no_content.html b/sites/indihometv.com/__data__/no_content.html
deleted file mode 100644
index 6fedfd4c7..000000000
--- a/sites/indihometv.com/__data__/no_content.html
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/sites/indihometv.com/indihometv.com.channels.xml b/sites/indihometv.com/indihometv.com.channels.xml
deleted file mode 100644
index 85d06ca99..000000000
--- a/sites/indihometv.com/indihometv.com.channels.xml
+++ /dev/null
@@ -1,131 +0,0 @@
-
-
- ABC Australia
- Asian Food Network
- Aljazeera
- AlQuran Kareem
- Animal Planet
- Animax
- Aniplus
- Antara
- ANTV
- Arirang
- ATV
- AXN
- Bali TV
- SPOTV
- SPOTV 2
- BTV
- Bioskop Indonesia
- Bloomberg
- Rock Entertainment
- Rock Action
- Cartoonito
- Cartoon Network
- CCTV4
- Citra Drama
- Celestial Movie
- CGTN Documentary
- Chinese Drama
- Cinema World
- Citra Dangdut
- CNBC Asia
- CNBC Indonesia
- CNN Indonesia
- CNN International
- Crime Investigation
- Curiosity
- Daai TV
- Da Vinci Learning
- Discovery Channel
- Discovery Asia
- Dreamworks
- Dunia anak
- Dunia Lain
- DW (English)
- Euronews
- FashionTV
- Fight Sport
- Flik
- France 24
- Galaxy
- Galaxy Premium
- HGTV
- History
- Hits
- HIts Movie
- HITS Now
- Horee
- Horizon Sports
- Berita Satu
- IDX
- IMC
- FunPlanet
- Indosiar
- iNews
- JakTV
- Jawa Pos TV
- JTV
- KBS World
- Kix
- Kompas TV
- Kplus
- Lifetime
- Love Nature
- Maxstream
- Mentari TV
- Metro TV
- SINDO News TV
- Moonbug
- MQTV
- MTATV
- MTV Live
- Muhammadiyah TV
- MUI TV
- Musik Indonesia
- MyKidz
- NBA
- MDTV
- News Asia
- New Tv Comprehensive
- New Tv Finance
- New Tv Variety
- nhk world Japan
- Nickelodeon
- Nick Junior
- Nusantara TV
- MOJI
- Phoenix Chinese
- Phoenix InfoNews
- Prambors
- Rodja TV
- Rajawali TV
- SCTV
- Shenzen
- SONE
- Studio Universal
- Tawaf TV
- Thrill
- TLC
- Trans7
- TransTV
- TV5Monde
- TV9 NU
- TVBS News
- TVN
- TVN Movies
- TV One
- TVRI Nasional
- UChannel
- AllPlay Ent
- Warner
- ZBioskop
- Zhejiang
- GTV
- MNCTV
- RCTI
- RT
- TVRI World
- BBC World News
- CBeebies
-
diff --git a/sites/indihometv.com/indihometv.com.config.js b/sites/indihometv.com/indihometv.com.config.js
deleted file mode 100644
index cf943af82..000000000
--- a/sites/indihometv.com/indihometv.com.config.js
+++ /dev/null
@@ -1,92 +0,0 @@
-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)
-
-const tz = 'Asia/Jakarta'
-
-module.exports = {
- site: 'indihometv.com',
- days: 2,
- url({ channel }) {
- return `https://www.indihometv.com/livetv/${channel.site_id}`
- },
- parser({ content, date }) {
- const programs = []
- const [$, items] = parseItems(content, date)
- items.forEach(item => {
- const prev = programs[programs.length - 1]
- const $item = $(item)
- let start = parseStart($item, date)
- if (prev && start.isBefore(prev.start)) {
- start = start.add(1, 'd')
- date = date.add(1, 'd')
- }
- let stop = parseStop($item, date)
- if (stop.isBefore(start)) {
- stop = stop.add(1, 'd')
- date = date.add(1, 'd')
- }
- programs.push({
- title: parseTitle($item),
- start,
- stop
- })
- })
-
- return programs
- },
- async channels() {
- const axios = require('axios')
- const cheerio = require('cheerio')
- const data = await axios
- .get('https://www.indihometv.com/tv/live')
- .then(response => response.data)
- .catch(console.error)
-
- const $ = cheerio.load(data)
- const items = $('#channelContainer a.channel-item').toArray()
- const channels = items.map(item => {
- const $item = $(item)
-
- return {
- lang: 'id',
- site_id: $item.data('url').substr($item.data('url').lastIndexOf('/') + 1),
- name: $item.data('name')
- }
- })
-
- return channels
- }
-}
-
-function parseStart($item, date) {
- const timeString = $item.find('p').text()
- const [, start] = timeString.match(/(\d{2}:\d{2}) -/) || [null, null]
- const dateString = `${date.format('YYYY-MM-DD')} ${start}`
-
- return dayjs.tz(dateString, 'YYYY-MM-DD HH:mm', tz)
-}
-
-function parseStop($item, date) {
- const timeString = $item.find('p').text()
- const [, stop] = timeString.match(/- (\d{2}:\d{2})/) || [null, null]
- const dateString = `${date.format('YYYY-MM-DD')} ${stop}`
-
- return dayjs.tz(dateString, 'YYYY-MM-DD HH:mm', tz)
-}
-
-function parseTitle($item) {
- return $item.find('b').text()
-}
-
-function parseItems(content, date) {
- const $ = cheerio.load(content)
-
- return [$, $(`#pills-${date.format('YYYY-MM-DD')} .schedule-item`).toArray()]
-}
diff --git a/sites/indihometv.com/indihometv.com.test.js b/sites/indihometv.com/indihometv.com.test.js
deleted file mode 100644
index d84c0c24e..000000000
--- a/sites/indihometv.com/indihometv.com.test.js
+++ /dev/null
@@ -1,57 +0,0 @@
-const { parser, url } = require('./indihometv.com.config.js')
-const fs = require('fs')
-const path = require('path')
-const dayjs = require('dayjs')
-const utc = require('dayjs/plugin/utc')
-dayjs.extend(utc)
-
-const date = dayjs.utc('2022-08-08').startOf('d')
-const channel = {
- site_id: 'metrotv',
- xmltv_id: 'MetroTV.id'
-}
-
-it('can generate valid url', () => {
- expect(url({ channel })).toBe('https://www.indihometv.com/livetv/metrotv')
-})
-
-it('can parse response', () => {
- const content = fs.readFileSync(path.resolve(__dirname, '__data__/content.html'), 'utf8')
- const result = parser({ content, channel, date }).map(p => {
- p.start = p.start.toJSON()
- p.stop = p.stop.toJSON()
- return p
- })
-
- expect(result).toMatchObject([
- {
- title: 'Headline News',
- start: '2022-08-08T00:00:00.000Z',
- stop: '2022-08-08T00:05:00.000Z'
- },
- {
- title: 'Editorial Media Indonesia',
- start: '2022-08-08T00:05:00.000Z',
- stop: '2022-08-08T00:30:00.000Z'
- },
- {
- title: 'Editorial Media Indonesia',
- start: '2022-08-08T00:30:00.000Z',
- stop: '2022-08-08T00:45:00.000Z'
- },
- {
- title: 'Editorial Media Indonesia',
- start: '2022-08-08T00:45:00.000Z',
- stop: '2022-08-08T01:00:00.000Z'
- }
- ])
-})
-
-it('can handle empty guide', () => {
- const result = parser({
- date,
- channel,
- content: fs.readFileSync(path.resolve(__dirname, '__data__/no_content.html'), 'utf8')
- })
- expect(result).toMatchObject([])
-})
diff --git a/sites/indihometv.com/readme.md b/sites/indihometv.com/readme.md
deleted file mode 100644
index ccced056c..000000000
--- a/sites/indihometv.com/readme.md
+++ /dev/null
@@ -1,23 +0,0 @@
-# indihometv.com
-
-https://www.indihometv.com/
-
-### Download the guide
-
-```sh
-npm run grab --- --sites=indihometv.com
-```
-
-**NOTE:** Requests from some regions may return a "Connection timeout" error (https://check-host.net/check-report/13a843e2ke22).
-
-### Update channel list
-
-```sh
-npm run channels:parse --- --config=./sites/indihometv.com/indihometv.com.config.js --output=./sites/indihometv.com/indihometv.com.channels.xml
-```
-
-### Test
-
-```sh
-npm test --- indihometv.com
-```