mirror of
https://github.com/iptv-org/epg.git
synced 2025-05-10 09:00:07 -04:00
Merge pull request #1147 from iptv-org/add-mysky.com.ph
Add guide from mysky.com.ph
This commit is contained in:
commit
3ef23e7033
4 changed files with 259 additions and 0 deletions
17
.github/workflows/mysky.com.ph.yml
vendored
Normal file
17
.github/workflows/mysky.com.ph.yml
vendored
Normal file
|
@ -0,0 +1,17 @@
|
|||
name: mysky.com.ph
|
||||
on:
|
||||
schedule:
|
||||
- cron: '0 3 * * *'
|
||||
workflow_dispatch:
|
||||
workflow_run:
|
||||
workflows: [_trigger]
|
||||
types:
|
||||
- completed
|
||||
jobs:
|
||||
load:
|
||||
uses: ./.github/workflows/_load.yml
|
||||
with:
|
||||
site: ${{github.workflow}}
|
||||
secrets:
|
||||
APP_ID: ${{ secrets.APP_ID }}
|
||||
APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}
|
61
sites/mysky.com.ph/mysky.com.ph.config.js
Normal file
61
sites/mysky.com.ph/mysky.com.ph.config.js
Normal file
|
@ -0,0 +1,61 @@
|
|||
const axios = require('axios')
|
||||
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: 'mysky.com.ph',
|
||||
url: 'https://skyepg.mysky.com.ph/Main/getEventsbyType',
|
||||
request: {
|
||||
cache: {
|
||||
ttl: 60 * 60 * 1000 // 1 hour
|
||||
}
|
||||
},
|
||||
parser: function ({ content, channel, date }) {
|
||||
let programs = []
|
||||
const items = parseItems(content, channel, date)
|
||||
items.forEach(item => {
|
||||
programs.push({
|
||||
title: item.name,
|
||||
description: item.userData.description,
|
||||
start: parseStart(item),
|
||||
stop: parseStop(item)
|
||||
})
|
||||
})
|
||||
|
||||
return programs
|
||||
},
|
||||
async channels() {
|
||||
const items = await axios
|
||||
.get(`https://skyepg.mysky.com.ph/Main/getEventsbyType`)
|
||||
.then(r => r.data.location)
|
||||
.catch(console.log)
|
||||
|
||||
return items.map(item => ({
|
||||
site_id: item.id,
|
||||
name: item.name
|
||||
}))
|
||||
}
|
||||
}
|
||||
|
||||
function parseStart(item) {
|
||||
return dayjs.tz(item.start, 'YYYY/MM/DD HH:mm', 'Asia/Manila')
|
||||
}
|
||||
|
||||
function parseStop(item) {
|
||||
return dayjs.tz(item.end, 'YYYY/MM/DD HH:mm', 'Asia/Manila')
|
||||
}
|
||||
|
||||
function parseItems(content, channel, date) {
|
||||
if (!content) return []
|
||||
const data = JSON.parse(content)
|
||||
if (!data || !Array.isArray(data.events)) return []
|
||||
const d = date.format('YYYY/MM/DD')
|
||||
|
||||
return data.events.filter(i => i.location == channel.site_id && i.start.includes(d))
|
||||
}
|
46
sites/mysky.com.ph/mysky.com.ph.test.js
Normal file
46
sites/mysky.com.ph/mysky.com.ph.test.js
Normal file
|
@ -0,0 +1,46 @@
|
|||
// npx epg-grabber --config=sites/mysky.com.ph/mysky.com.ph.config.js --channels=sites/mysky.com.ph/mysky.com.ph_ph.channels.xml --output=guide.xml --days=2
|
||||
// npm run channels:parse -- --config=./sites/mysky.com.ph/mysky.com.ph.config.js --output=./sites/mysky.com.ph/mysky.com.ph_ph.channels.xml
|
||||
|
||||
const { parser, url } = require('./mysky.com.ph.config.js')
|
||||
const dayjs = require('dayjs')
|
||||
const utc = require('dayjs/plugin/utc')
|
||||
const customParseFormat = require('dayjs/plugin/customParseFormat')
|
||||
dayjs.extend(customParseFormat)
|
||||
dayjs.extend(utc)
|
||||
|
||||
const date = dayjs.utc('2022-10-04', 'YYYY-MM-DD').startOf('d')
|
||||
const channel = {
|
||||
site_id: '8',
|
||||
xmltv_id: 'KapamilyaChannel.ph'
|
||||
}
|
||||
|
||||
it('can generate valid url', () => {
|
||||
expect(url).toBe('https://skyepg.mysky.com.ph/Main/getEventsbyType')
|
||||
})
|
||||
|
||||
it('can parse response', () => {
|
||||
const content = `{"events":[{"name":"TV PATROL","location":"8","start":"2022/10/04 19:00","end":"2022/10/04 20:00","userData":{"description":"Description example"}},{"name":"DARNA","location":"8","start":"2022/10/05 20:00","end":"2022/10/05 20:45","userData":{"description":""}},{"name":"Zoe Bakes S1","location":"22","start":"2022/10/04 20:30","end":"2022/10/04 21:00","userData":{"description":"Zo Franois Dad is a beekeeper. So for his birthday, she bakes him a special beehiveshaped cake."}}]}`
|
||||
const result = parser({ content, channel, date }).map(p => {
|
||||
p.start = p.start.toJSON()
|
||||
p.stop = p.stop.toJSON()
|
||||
return p
|
||||
})
|
||||
|
||||
expect(result).toMatchObject([
|
||||
{
|
||||
start: '2022-10-04T11:00:00.000Z',
|
||||
stop: '2022-10-04T12:00:00.000Z',
|
||||
title: 'TV PATROL',
|
||||
description: 'Description example'
|
||||
}
|
||||
])
|
||||
})
|
||||
|
||||
it('can handle empty guide', () => {
|
||||
const result = parser({
|
||||
content: ``,
|
||||
channel,
|
||||
date
|
||||
})
|
||||
expect(result).toMatchObject([])
|
||||
})
|
135
sites/mysky.com.ph/mysky.com.ph_ph.channels.xml
Normal file
135
sites/mysky.com.ph/mysky.com.ph_ph.channels.xml
Normal file
|
@ -0,0 +1,135 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<site site="mysky.com.ph">
|
||||
<channels>
|
||||
<channel lang="en" xmltv_id="ANC.ph" site_id="27">ANC</channel>
|
||||
<channel lang="en" xmltv_id="ANCHD.ph" site_id="182">ANC HD</channel>
|
||||
<channel lang="en" xmltv_id="AsianFoodNetwork.sg" site_id="22">ASIAN FOOD NETWORK</channel>
|
||||
<channel lang="en" xmltv_id="BabyTV.uk" site_id="122">BABY TV</channel>
|
||||
<channel lang="en" xmltv_id="CelestialClassicMovies.hk" site_id="97">CELESTIAL CLASSIC MOVIES</channel>
|
||||
<channel lang="en" xmltv_id="CineMo.ph" site_id="7">CINEMO!</channel>
|
||||
<channel lang="en" xmltv_id="JeepneyTV.ph" site_id="9">JEEPNEY TV</channel>
|
||||
<channel lang="en" xmltv_id="KapamilyaChannel.ph" site_id="8">KAPAMILYA CHANNEL</channel>
|
||||
<channel lang="en" xmltv_id="KBSWorld.kr" site_id="75">KBS WORLD</channel>
|
||||
<channel lang="en" xmltv_id="Kix.hk" site_id="63">KIX</channel>
|
||||
<channel lang="en" xmltv_id="KnowledgeChannel.ph" site_id="5">KNOWLEDGE CHANNEL</channel>
|
||||
<channel lang="en" xmltv_id="KPlus.sg" site_id="300">K-PLUS</channel>
|
||||
<channel lang="en" xmltv_id="MetroChannel.ph" site_id="287">METRO CHANNEL SD</channel>
|
||||
<channel lang="en" xmltv_id="MezzoLiveHD.fr" site_id="252">MEZZO LIVE HD</channel>
|
||||
<channel lang="en" xmltv_id="MTV90s.uk" site_id="321">MTV 90s</channel>
|
||||
<channel lang="en" xmltv_id="MyxPhilippines.ph" site_id="23">MYX</channel>
|
||||
<channel lang="en" xmltv_id="NHKWorldJapan.jp" site_id="222">NHK WORLD JAPAN</channel>
|
||||
<channel lang="en" xmltv_id="OneSports.ph" site_id="309">ONE SPORTS</channel>
|
||||
<channel lang="en" xmltv_id="PBO.ph" site_id="60">PBO</channel>
|
||||
<channel lang="en" xmltv_id="RockEntertainment.sg" site_id="53">ROCK ENTERTAINMENT</channel>
|
||||
<channel lang="en" xmltv_id="RockExtreme.sg" site_id="104">ROCK EXTREME</channel>
|
||||
<channel lang="en" xmltv_id="SolarSports.ph" site_id="70">SOLAR SPORTS</channel>
|
||||
<channel lang="en" xmltv_id="SPOTV.kr" site_id="31">SPOTV</channel>
|
||||
<channel lang="en" xmltv_id="SPOTV2.kr" site_id="32">SPOTV 2</channel>
|
||||
<channel lang="en" xmltv_id="StarBharat.in" site_id="153">STAR BHARAT</channel>
|
||||
<channel lang="en" xmltv_id="TAPActionFlix.ph" site_id="78">TapAction Flix</channel>
|
||||
<channel lang="en" xmltv_id="TAPEdge.ph" site_id="325">TAP EDGE</channel>
|
||||
<channel lang="en" xmltv_id="TAPMovies.ph" site_id="55">TAP MOVIES</channel>
|
||||
<channel lang="en" xmltv_id="TAPTV.ph" site_id="324">TAP TV</channel>
|
||||
<channel lang="en" xmltv_id="TechStorm.sg" site_id="301">TECH STORM</channel>
|
||||
<channel lang="en" xmltv_id="Thrill.hk" site_id="107">THRILL</channel>
|
||||
<channel lang="en" xmltv_id="TV5.ph" site_id="10">TV5</channel>
|
||||
<channel lang="en" xmltv_id="TVBSAsia.tw" site_id="144">TVBS ASIA</channel>
|
||||
<channel lang="en" xmltv_id="TVBSNews.tw" site_id="304">TVBS NEWS</channel>
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="1">YEY!</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="100">HBO HITS</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="101">HBO SIGNATURE</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="102">HBO FAMILY</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="103">NICK JR.</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="108">FASHION TV</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="109">CHANNEL NEWS ASIA</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="110">HLN</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="112">FOX NEWS</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="116">GEM TV SD</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="118">BOOMERANG</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="121">BABY FIRST</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="131">NHK PREMIUM</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="132">DEUTSCHEWELLE</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="134">TV 5 MONDE</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="139">ANIPLUS SD</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="140">PREMIER SPORTS</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="16">SOLARFLIX</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="164">DISCOVERY ASIA</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="165">HISTORY HD</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="167">KAPAMILYA CHANNEL HD</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="168">HBO HD</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="169">HBO HITS HD</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="170">TAP MOVIES HD</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="176">PREMIER SPORTS HD</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="178">CARTOON NETWORK HD</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="179">OUTDOOR CHANNEL HD</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="180">TapAction Flix HD</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="181">CNN HD</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="184">CINEMA WORLD HD</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="185">HBO SIGNATURE HD</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="186">HBO FAMILY HD</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="187">FIGHT SPORTS HD</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="190">MTV LIVE HD</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="193">NAT GEO WILD HD</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="195">NATIONAL GEOGRAPHIC HD</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="196">ROCK ENTERTAINMENT HD</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="197">WARNER TV HD</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="198">CINEMAX HD</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="199">LIFETIME HD</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="201">TRAVEL CHANNEL HD</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="203">CRIME & INVESTIGATION HD</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="204">BEIN SPORTS 1 HD</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="205">BEIN SPORTS 2 HD</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="206">BEIN SPORTS 3 HD</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="208">FASHION TV HD</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="209">ROCK EXTREME HD</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="214">EUROSPORT</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="216">OUTDOOR CHANNEL</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="219">EURONEWS</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="242">KIX HD</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="245">FOOD NETWORK HD</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="246">HGTV HD</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="247">AXN HD</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="248">ASIAN FOOD NETWORK HD</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="249">EUROSPORT HD</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="250">DREAMWORKS HD</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="253">SPOTV HD</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="254">SPOTV 2 HD</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="26">DZMM TELERADYO</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="28">CNN</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="288">METRO CHANNEL HD</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="29">BBC WORLD NEWS</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="290">TLC HD</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="291">DISCOVERY CHANNEL HD</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="293">ANIMAL PLANET HD</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="297">ZOO MOO</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="299">DA VINCI KIDS</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="30">BLOOMBERG</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="318">TAP SPORTS HD</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="322">PREMIER FOOTBALL HD</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="323">A2Z</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="326">PREMIER SPORTS 2 HD</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="333">GLOBAL TREKKER HD</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="334">LOVE NATURE HD</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="34">WARNER TV</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="36">CINEMAX</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="39">DISCOVERY CHANNEL</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="40">ANIMAL PLANET</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="41">NATIONAL GEOGRAPHIC</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="43">CARTOON NETWORK</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="45">NICKELODEON</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="46">ANIMAX</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="47">DREAMWORKS</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="49">AXN</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="54">HBO</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="56">CINEMA ONE</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="62">TLC</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="65">LIFETIME</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="66">NAT GEO WILD</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="67">HISTORY</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="68">FOOD NETWORK</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="80">TMC (TAGALIZED MOVIE CHANNEL)</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="82">TRAVEL CHANNEL</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="88">HGTV</channel> -->
|
||||
<!-- <channel lang="en" xmltv_id="" site_id="99">CRIME & INVESTIGATION</channel> -->
|
||||
</channels>
|
||||
</site>
|
Loading…
Add table
Add a link
Reference in a new issue