Merge pull request #1147 from iptv-org/add-mysky.com.ph

Add guide from mysky.com.ph
This commit is contained in:
Aleksandr Statciuk 2022-10-04 14:49:54 +03:00 committed by GitHub
commit 3ef23e7033
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 259 additions and 0 deletions

17
.github/workflows/mysky.com.ph.yml vendored Normal file
View 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 }}

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

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

View 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 &amp; 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 &amp; INVESTIGATION</channel> -->
</channels>
</site>