Merge pull request #2243 from tohenk/transvision.co.id-gone

Site transvision.co.id is gone.
This commit is contained in:
Aleksandr Statciuk 2023-11-22 10:29:53 +03:00 committed by GitHub
commit 4f0dedf8b6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 0 additions and 257 deletions

View file

@ -131,7 +131,6 @@
| telsu.fi | 🟢 | | | telsu.fi | 🟢 | |
| tivu.tv | 🟢 | | | tivu.tv | 🟢 | |
| toonamiaftermath.com | 🟢 | | | toonamiaftermath.com | 🟢 | |
| transvision.co.id | 🟢 | |
| turksatkablo.com.tr | 🟢 | | | turksatkablo.com.tr | 🟢 | |
| tv.blue.ch | 🟢 | | | tv.blue.ch | 🟢 | |
| tv.cctv.com | 🟢 | | | tv.cctv.com | 🟢 | |

View file

@ -1,81 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<channels>
<channel site="transvision.co.id" lang="id" xmltv_id="ABCAustralia.au" site_id="AUSK">ABC Australia</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="AlJazeera.qa" site_id="ALZA">Al Jazeera</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="AlQuranAlKareemTV.sa" site_id="AQAK">Al Quran Al Kareem</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="AnimaxAsia.sg" site_id="ANI">Animax</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="AniPlus.th" site_id="ANIP">AniPlus</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="ANTV.id" site_id="ANTV">ANTV</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="ArirangTV.kr" site_id="ARI">Arirang</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="AsianFoodNetwork.sg" site_id="AFCK">AFN HD</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="AXN.id" site_id="AXN">AXN HD</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="BabyFirst.us" site_id="BBF">Baby First</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="BTV.id" site_id="BST">BeritaSatu</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="BioskopIndonesia.id" site_id="TRBI">Bioskop Indonesia</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="BloombergTVAsia.hk" site_id="BLO">Bloomberg TV</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="BoomerangAsia.sg" site_id="BOOM">Boomerang HD</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="CartoonNetworkAsia.sg" site_id="CAR">Cartoon Network HD</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="CCTV4Asia.cn" site_id="CCTV">CCTV 4</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="CelestialMoviesIndonesia.id" site_id="CELE">Celestial Movies</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="CGTN.cn" site_id="CCNE">CGTN</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="CGTNDocumentary.cn" site_id="CC9">CGTN Documentary</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="CinemaWorld.my" site_id="CIWO">Cinema World HD</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="CinemaxAsia.sg" site_id="CMX">CINEMAX</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="CNA.sg" site_id="NAC">Channel NewsAsia</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="CNBCAsia.sg" site_id="CNBC">CNBC Asia</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="CNNIndonesia.id" site_id="CNI">CNN Indonesia HD</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="CNNInternationalAsiaPacific.hk" site_id="CNN">CNN International HD</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="CrimePlusInvestigationAsia.sg" site_id="CI">Crime &amp; Investigation HD</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="DAAITV.id" site_id="DAAI">DAAI TV</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="DaVinciAsia.de" site_id="DVL">Da Vinci</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="ducktv.sk" site_id="DUCK">Duck TV</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="DuniaAnak.id" site_id="AND">Dunia Anak</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="DuniaLain.id" site_id="TRDU">Dunia Lain</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="DWEnglish.de" site_id="DWT">DW</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="EatNGo.id" site_id="TREA">Eat N Go</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="EuronewsEnglish.fr" site_id="EURO">Euronews</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="FashionOne.uk" site_id="F1KU">Fashion One HD</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="FashionTVAsia.fr" site_id="FTV">Fashion TV HD</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="FightSports.us" site_id="FSP">Fight Sports HD</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="France24English.fr" site_id="FRC">France 24</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="GEM.sg" site_id="GEM">GEM HD</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="GTV.id" site_id="GLO">GLOBAL TV</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="HBOAsia.sg" site_id="HBO">HBO</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="HBOFamilyAsia.sg" site_id="HBF">HBO Family HD</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="HBOHitsAsia.sg" site_id="HBH">HBO Hits HD</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="HBOSignatureAsia.sg" site_id="HBOS">HBO Signature HD</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="History2Asia.us" site_id="TORY">HISTORY2 HD</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="HistoryAsia.us" site_id="HIS">History HD</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="Indosiar.id" site_id="IDS">Indosiar</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="JakTV.id" site_id="JAK">JakTV</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="Jendela.id" site_id="JDL">Jendela</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="KBSWorld.kr" site_id="KBS">KBS World HD</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="Khazanah.id" site_id="TRKH">Khazanah</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="KIX.hk" site_id="KIX">KIX HD</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="KompasTV.id" site_id="KOM">Kompas TV</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="LifetimeAsia.us" site_id="LIFT">Lifetime HD</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="LinguaChannel.id" site_id="LIN">Lingua Channel HD</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="MetroTV.id" site_id="MET">Metro TV</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="MNCTV.id" site_id="MNC">MNCTV</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="MTVLive.uk" site_id="MTLU">MTV Live</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="NHKWorldPremium.jp" site_id="NHP">NHK World Premium</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="NickelodeonAsia.sg" site_id="NCK">Nickelodeon</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="NickJrAsia.sg" site_id="NCJ">Nick Jr.</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="nsert.id" site_id="TRIS">!nsert</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="ONE.sg" site_id="ONE">ONE HD</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="RajawaliTV.id" site_id="BCH">RTV</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="RCTI.id" site_id="RCTI">RCTI</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="ROCKEntertainment.sg" site_id="RTLK">Rock Entertainment HD</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="RT.ru" site_id="RUSK">Russia Today</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="SCTV.id" site_id="SCTV">SCTV</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="Thrill.hk" site_id="THR">Thrill</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="TMusic.id" site_id="ALG">T-Music</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="Trans7.id" site_id="TR7">Trans7 HD</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="TransTV.id" site_id="TRTV">TransTV HD</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="TV5MondeAsia.fr" site_id="TMO">TV 5 Monde</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="tvNAsia.hk" site_id="TVN">tvN HD</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="tvOne.id" site_id="TV1">tvOne</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="TVRINasional.id" site_id="TVRI">TVRI</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="WarnerTVAsia.us" site_id="WAR">Warner TV HD</channel>
<channel site="transvision.co.id" lang="id" xmltv_id="ZeeBioskop.id" site_id="ZBIO">Zee Bioskop</channel>
</channels>

View file

@ -1,93 +0,0 @@
const axios = require('axios')
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 = {
site: 'transvision.co.id',
days: 2,
url: 'https://www.transvision.co.id/jadwalacara/epg',
request: {
method: 'POST',
data: function ({ channel, date }) {
const formData = new URLSearchParams()
formData.append('ValidateEPG[channel_name]', channel.site_id)
formData.append('ValidateEPG[tanggal]', date.format('YYYY-MM-DD'))
formData.append('ValidateEPG[sinopsis]', '')
formData.append('yt0', 'PROSES')
return formData
},
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
}
},
parser({ content, date }) {
const programs = []
const items = parseItems(content)
for (const item of items) {
const prev = programs[programs.length - 1]
const start = parseStart(item, date)
if (prev) prev.stop = start
const stop = start.add(30, 'm')
programs.push({
title: parseTitle(item),
description: parseDescription(item),
start,
stop
})
}
return programs
},
async channels() {
const data = await axios
.get('https://www.transvision.co.id/jadwalacara/epg')
.then(response => response.data)
.catch(console.log)
const $ = cheerio.load(data)
const items = $('#ValidateEPG_channel_name option').toArray()
const channels = items.map(item => {
const $item = cheerio.load(item)
return {
lang: 'id',
site_id: $item('*').attr('value'),
name: $item('*').text()
}
})
return channels
}
}
function parseDescription(item) {
return cheerio.load(item)('td:last-child').text()
}
function parseStart(item, date) {
const $ = cheerio.load(item)
let time = $('th').text()
time = `${date.format('DD/MM/YYYY')} ${time}`
return dayjs.tz(time, 'DD/MM/YYYY HH:mm', 'Asia/Jakarta')
}
function parseTitle(item) {
const $ = cheerio.load(item)
return $('td:first-of-type').text()
}
function parseItems(content) {
const $ = cheerio.load(content)
return $('table tbody tr').toArray()
}

View file

@ -1,82 +0,0 @@
// npm run grab -- --site=transvision.co.id
const { parser, url, request } = require('./transvision.co.id.config.js')
const dayjs = require('dayjs')
const utc = require('dayjs/plugin/utc')
dayjs.extend(utc)
const date = dayjs.utc('2022-03-10', 'YYYY-MM-DD').startOf('d')
const channel = {
site_id: 'TRIS',
xmltv_id: 'nsert.id'
}
const content =
'<!doctype html><html class="no-js" lang="zxx"> <head></head> <body> <div class="wrapper"> <div id="content"> <div class="epg-area bg-white ptb-80"> <div class="container"> <div class="row"> <div class="col-sm-12"> <div class="component"> <div style="overflow: auto;"> <table> <tbody> <tr> <th>00:00:00</th> <td>Insert Today</td><td>Insert adalah program infotainment yang menceritakan berita-berita kehidupan selebriti serta gosip-gosipnya dan disajikan secara aktual dan faktual dengan suasana yang santai.</td></tr><tr> <th>01:00:00</th> <td>Brownis</td><td>Brownis atau obrolan manis merupakan program talkshow segar yang dipandu oleh Ruben Onsu bersama Ivan Gunawan.</td></tr><tr> <th>01:30:00</th> <td>Warga +62</td><td>Warga +62 menghadirkan trend penyebaran video/momen lucu yang juga dikenal sebagai video lucu Indonesia yang tersebar di media sosial.</td></tr><tr> <th>23:00:00</th> <td>Insert</td><td>Insert adalah program infotainment yang menceritakan berita-berita kehidupan selebriti serta gosip-gosipnya dan disajikan secara aktual dan faktual dengan suasana yang santai.</td></tr></tbody> </table> </div></div></div></div></div></div></div></div></body></html>'
it('can generate valid url', () => {
expect(url).toBe('https://www.transvision.co.id/jadwalacara/epg')
})
it('can generate valid request method', () => {
expect(request.method).toBe('POST')
})
it('can generate valid request headers', () => {
expect(request.headers).toMatchObject({
'Content-Type': 'application/x-www-form-urlencoded'
})
})
it('can generate valid request data', () => {
const result = request.data({ channel, date })
expect(result.get('ValidateEPG[channel_name]')).toBe('TRIS')
expect(result.get('ValidateEPG[tanggal]')).toBe('2022-03-10')
expect(result.get('ValidateEPG[sinopsis]')).toBe('')
expect(result.get('yt0')).toBe('PROSES')
})
it('can parse response', () => {
const result = parser({ content, channel, date }).map(p => {
p.start = p.start.toJSON()
p.stop = p.stop.toJSON()
return p
})
expect(result).toMatchObject([
{
title: 'Insert Today',
description:
'Insert adalah program infotainment yang menceritakan berita-berita kehidupan selebriti serta gosip-gosipnya dan disajikan secara aktual dan faktual dengan suasana yang santai.',
start: '2022-03-09T17:00:00.000Z',
stop: '2022-03-09T18:00:00.000Z'
},
{
title: 'Brownis',
description:
'Brownis atau obrolan manis merupakan program talkshow segar yang dipandu oleh Ruben Onsu bersama Ivan Gunawan.',
start: '2022-03-09T18:00:00.000Z',
stop: '2022-03-09T18:30:00.000Z'
},
{
title: 'Warga +62',
description:
'Warga +62 menghadirkan trend penyebaran video/momen lucu yang juga dikenal sebagai video lucu Indonesia yang tersebar di media sosial.',
start: '2022-03-09T18:30:00.000Z',
stop: '2022-03-10T16:00:00.000Z'
},
{
title: 'Insert',
description:
'Insert adalah program infotainment yang menceritakan berita-berita kehidupan selebriti serta gosip-gosipnya dan disajikan secara aktual dan faktual dengan suasana yang santai.',
start: '2022-03-10T16:00:00.000Z',
stop: '2022-03-10T16:30:00.000Z'
}
])
})
it('can handle empty guide', () => {
const result = parser({
content: '<!doctype html><html class="no-js" lang="zxx"><head></head><body></body></html>'
})
expect(result).toMatchObject([])
})