mirror of
https://github.com/iptv-org/epg
synced 2026-05-01 06:56:59 -04:00
Update /sites
This commit is contained in:
@@ -1,38 +1,36 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<site site="clickthecity.com">
|
||||
<channels>
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="137">Solar Flix</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="163">Crime Investigation</channel> -->
|
||||
<channel lang="en" xmltv_id="A2Z.ph" site_id="189">a2z Channel 11</channel>
|
||||
<channel lang="en" xmltv_id="ANC.ph" site_id="13">ANC</channel>
|
||||
<channel lang="en" xmltv_id="AnimaxPhilippines.ph" site_id="168">Animax</channel>
|
||||
<channel lang="en" xmltv_id="AXNPhilippines.ph" site_id="126">AXN</channel>
|
||||
<channel lang="en" xmltv_id="CelestialMoviesPinoy.hk" site_id="181">Celestial Movies Pinoy</channel>
|
||||
<channel lang="en" xmltv_id="CinemaOneGlobal.ph" site_id="82">Cinema One</channel>
|
||||
<channel lang="en" xmltv_id="CinemaxAsia.sg" site_id="30">Cinemax</channel>
|
||||
<channel lang="en" xmltv_id="CNNPhilippines.ph" site_id="177">CNN Philippines</channel>
|
||||
<channel lang="en" xmltv_id="GEM.sg" site_id="183">GEM</channel>
|
||||
<channel lang="en" xmltv_id="GMATV.ph" site_id="2">GMA</channel>
|
||||
<channel lang="en" xmltv_id="GTV.ph" site_id="143">GTV</channel>
|
||||
<channel lang="en" xmltv_id="HBOAsia.sg" site_id="8">HBO</channel>
|
||||
<channel lang="en" xmltv_id="HistoryPhilippines.ph" site_id="162">History</channel>
|
||||
<channel lang="en" xmltv_id="IBC13.ph" site_id="7">IBC TV 13</channel>
|
||||
<channel lang="en" xmltv_id="JeepneyTV.ph" site_id="179">Jeepney TV</channel>
|
||||
<channel lang="en" xmltv_id="KapamilyaChannel.ph" site_id="184">Kapamilya Channel</channel>
|
||||
<channel lang="en" xmltv_id="KMoviesPinoy.ph" site_id="182">K-Movies Pinoy</channel>
|
||||
<channel lang="en" xmltv_id="Liga.ph" site_id="188">Liga</channel>
|
||||
<channel lang="en" xmltv_id="MetroChannel.ph" site_id="66">Metro Channel</channel>
|
||||
<channel lang="en" xmltv_id="MyxPhilippines.ph" site_id="139">MYX</channel>
|
||||
<channel lang="en" xmltv_id="NationalGeographicPhilippines.ph" site_id="75">National Geographic</channel>
|
||||
<channel lang="en" xmltv_id="Net25.ph" site_id="133">Net 25</channel>
|
||||
<channel lang="en" xmltv_id="NickelodeonPhilippines.ph" site_id="78">Nickelodeon</channel>
|
||||
<channel lang="en" xmltv_id="PBO.ph" site_id="142">PBO</channel>
|
||||
<channel lang="en" xmltv_id="PTV.ph" site_id="4">PTV</channel>
|
||||
<channel lang="en" xmltv_id="ROCKEntertainment.sg" site_id="180">Rock Entertainment</channel>
|
||||
<channel lang="en" xmltv_id="ROCKExtreme.sg" site_id="186">Rock Extreme</channel>
|
||||
<channel lang="en" xmltv_id="TagalizedMovieChannel.ph" site_id="178">Tagalized Movie Channel</channel>
|
||||
<channel lang="en" xmltv_id="TeleNovelaChannel.ph" site_id="160">Telenovela Channel</channel>
|
||||
<channel lang="en" xmltv_id="TV5.ph" site_id="5">TV5</channel>
|
||||
<channel lang="en" xmltv_id="VivaCinema.ph" site_id="155">VIVA Cinema</channel>
|
||||
</channels>
|
||||
</site>
|
||||
<channels>
|
||||
<!-- <channel site="clickthecity.com" lang="en" xmltv_id="" site_id="137">Solar Flix</channel> -->
|
||||
<!-- <channel site="clickthecity.com" lang="en" xmltv_id="" site_id="163">Crime Investigation</channel> -->
|
||||
<channel site="clickthecity.com" lang="en" xmltv_id="A2Z.ph" site_id="189">a2z Channel 11</channel>
|
||||
<channel site="clickthecity.com" lang="en" xmltv_id="ANC.ph" site_id="13">ANC</channel>
|
||||
<channel site="clickthecity.com" lang="en" xmltv_id="AnimaxPhilippines.ph" site_id="168">Animax</channel>
|
||||
<channel site="clickthecity.com" lang="en" xmltv_id="AXNPhilippines.ph" site_id="126">AXN</channel>
|
||||
<channel site="clickthecity.com" lang="en" xmltv_id="CelestialMoviesPinoy.hk" site_id="181">Celestial Movies Pinoy</channel>
|
||||
<channel site="clickthecity.com" lang="en" xmltv_id="CinemaOneGlobal.ph" site_id="82">Cinema One</channel>
|
||||
<channel site="clickthecity.com" lang="en" xmltv_id="CinemaxAsia.sg" site_id="30">Cinemax</channel>
|
||||
<channel site="clickthecity.com" lang="en" xmltv_id="CNNPhilippines.ph" site_id="177">CNN Philippines</channel>
|
||||
<channel site="clickthecity.com" lang="en" xmltv_id="GEM.sg" site_id="183">GEM</channel>
|
||||
<channel site="clickthecity.com" lang="en" xmltv_id="GMATV.ph" site_id="2">GMA</channel>
|
||||
<channel site="clickthecity.com" lang="en" xmltv_id="GTV.ph" site_id="143">GTV</channel>
|
||||
<channel site="clickthecity.com" lang="en" xmltv_id="HBOAsia.sg" site_id="8">HBO</channel>
|
||||
<channel site="clickthecity.com" lang="en" xmltv_id="HistoryPhilippines.ph" site_id="162">History</channel>
|
||||
<channel site="clickthecity.com" lang="en" xmltv_id="IBC13.ph" site_id="7">IBC TV 13</channel>
|
||||
<channel site="clickthecity.com" lang="en" xmltv_id="JeepneyTV.ph" site_id="179">Jeepney TV</channel>
|
||||
<channel site="clickthecity.com" lang="en" xmltv_id="KapamilyaChannel.ph" site_id="184">Kapamilya Channel</channel>
|
||||
<channel site="clickthecity.com" lang="en" xmltv_id="KMoviesPinoy.ph" site_id="182">K-Movies Pinoy</channel>
|
||||
<channel site="clickthecity.com" lang="en" xmltv_id="Liga.ph" site_id="188">Liga</channel>
|
||||
<channel site="clickthecity.com" lang="en" xmltv_id="MetroChannel.ph" site_id="66">Metro Channel</channel>
|
||||
<channel site="clickthecity.com" lang="en" xmltv_id="MyxPhilippines.ph" site_id="139">MYX</channel>
|
||||
<channel site="clickthecity.com" lang="en" xmltv_id="NationalGeographicPhilippines.ph" site_id="75">National Geographic</channel>
|
||||
<channel site="clickthecity.com" lang="en" xmltv_id="Net25.ph" site_id="133">Net 25</channel>
|
||||
<channel site="clickthecity.com" lang="en" xmltv_id="NickelodeonPhilippines.ph" site_id="78">Nickelodeon</channel>
|
||||
<channel site="clickthecity.com" lang="en" xmltv_id="PBO.ph" site_id="142">PBO</channel>
|
||||
<channel site="clickthecity.com" lang="en" xmltv_id="PTV.ph" site_id="4">PTV</channel>
|
||||
<channel site="clickthecity.com" lang="en" xmltv_id="ROCKEntertainment.sg" site_id="180">Rock Entertainment</channel>
|
||||
<channel site="clickthecity.com" lang="en" xmltv_id="ROCKExtreme.sg" site_id="186">Rock Extreme</channel>
|
||||
<channel site="clickthecity.com" lang="en" xmltv_id="TagalizedMovieChannel.ph" site_id="178">Tagalized Movie Channel</channel>
|
||||
<channel site="clickthecity.com" lang="en" xmltv_id="TeleNovelaChannel.ph" site_id="160">Telenovela Channel</channel>
|
||||
<channel site="clickthecity.com" lang="en" xmltv_id="TV5.ph" site_id="5">TV5</channel>
|
||||
<channel site="clickthecity.com" lang="en" xmltv_id="VivaCinema.ph" site_id="155">VIVA Cinema</channel>
|
||||
</channels>
|
||||
|
||||
@@ -47,7 +47,7 @@ module.exports = {
|
||||
},
|
||||
async channels() {
|
||||
const html = await axios
|
||||
.get(`https://www.clickthecity.com/tv/channels/`)
|
||||
.get('https://www.clickthecity.com/tv/channels/')
|
||||
.then(r => r.data)
|
||||
.catch(console.log)
|
||||
const $ = cheerio.load(html)
|
||||
@@ -56,7 +56,7 @@ module.exports = {
|
||||
return items.map(item => {
|
||||
const name = $(item).find('.card-body').text().trim()
|
||||
const url = $(item).find('a').attr('href')
|
||||
const [_, site_id] = url.match(/netid=(\d+)/) || [null, null]
|
||||
const [, site_id] = url.match(/netid=(\d+)/) || [null, null]
|
||||
|
||||
return {
|
||||
site_id,
|
||||
@@ -72,7 +72,7 @@ function parseTitle($item) {
|
||||
|
||||
function parseStart($item, date) {
|
||||
const url = $item('td.cPrg > a').attr('href') || ''
|
||||
let [_, time] = url.match(/starttime=(\d{1,2}%3A\d{2}\+(AM|PM))/) || [null, null]
|
||||
let [, time] = url.match(/starttime=(\d{1,2}%3A\d{2}\+(AM|PM))/) || [null, null]
|
||||
if (!time) return null
|
||||
time = `${date.format('YYYY-MM-DD')} ${time.replace('%3A', ':').replace('+', ' ')}`
|
||||
|
||||
@@ -81,7 +81,7 @@ function parseStart($item, date) {
|
||||
|
||||
function parseStop($item, date) {
|
||||
const url = $item('td.cPrg > a').attr('href') || ''
|
||||
let [_, time] = url.match(/endtime=(\d{1,2}%3A\d{2}\+(AM|PM))/) || [null, null]
|
||||
let [, time] = url.match(/endtime=(\d{1,2}%3A\d{2}\+(AM|PM))/) || [null, null]
|
||||
if (!time) return null
|
||||
time = `${date.format('YYYY-MM-DD')} ${time.replace('%3A', ':').replace('+', ' ')}`
|
||||
|
||||
@@ -91,7 +91,7 @@ function parseStop($item, date) {
|
||||
function parseItems(content) {
|
||||
const $ = cheerio.load(content)
|
||||
|
||||
return $(`#tvlistings > tbody > tr`)
|
||||
return $('#tvlistings > tbody > tr')
|
||||
.filter(function () {
|
||||
return $(this).find('td.cPrg').length
|
||||
})
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// npm run channels:parse -- --config=./sites/clickthecity.com/clickthecity.com.config.js --output=./sites/clickthecity.com/clickthecity.com.channels.xml
|
||||
// npx epg-grabber --config=sites/clickthecity.com/clickthecity.com.config.js --channels=sites/clickthecity.com/clickthecity.com.channels.xml --output=guide.xml
|
||||
// npm run grab -- --site=clickthecity.com
|
||||
|
||||
const { parser, url, request } = require('./clickthecity.com.config.js')
|
||||
const fs = require('fs')
|
||||
@@ -49,13 +49,13 @@ it('can parse response', () => {
|
||||
expect(results[0]).toMatchObject({
|
||||
start: '2023-06-11T21:00:00.000Z',
|
||||
stop: '2023-06-11T22:00:00.000Z',
|
||||
title: `Word Of God`
|
||||
title: 'Word Of God'
|
||||
})
|
||||
|
||||
expect(results[19]).toMatchObject({
|
||||
start: '2023-06-12T15:30:00.000Z',
|
||||
stop: '2023-06-12T16:00:00.000Z',
|
||||
title: `La Suerte De Loli`
|
||||
title: 'La Suerte De Loli'
|
||||
})
|
||||
})
|
||||
|
||||
@@ -63,7 +63,8 @@ it('can handle empty guide', () => {
|
||||
const result = parser({
|
||||
date,
|
||||
channel,
|
||||
content: `<!DOCTYPE html><html class="html" lang="en-US" prefix="og: https://ogp.me/ns#"><head></head><body></body></html>`
|
||||
content:
|
||||
'<!DOCTYPE html><html class="html" lang="en-US" prefix="og: https://ogp.me/ns#"><head></head><body></body></html>'
|
||||
})
|
||||
expect(result).toMatchObject([])
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user