Update /sites

This commit is contained in:
freearhey
2023-10-02 06:35:33 +03:00
parent ca254a6df0
commit c0cfcf7a47
543 changed files with 30781 additions and 31187 deletions

View File

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

View File

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

View File

@@ -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([])
})