mirror of
https://github.com/iptv-org/epg.git
synced 2025-05-09 08:30:06 -04:00
Merge branch 'master' into update-tvprofil.com
This commit is contained in:
commit
8f00e104b7
211 changed files with 22970 additions and 9601 deletions
30
.github/ISSUE_TEMPLATE/----channel-request.yml
vendored
Normal file
30
.github/ISSUE_TEMPLATE/----channel-request.yml
vendored
Normal file
|
@ -0,0 +1,30 @@
|
|||
name: ✍️ Channel Request
|
||||
description: Request to add a channel to the guide
|
||||
labels: ['channel request']
|
||||
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Please fill out the request as much as possible so we can efficiently process your request.
|
||||
|
||||
- type: input
|
||||
attributes:
|
||||
label: Site
|
||||
description: The name of the site
|
||||
placeholder: 'guidatv.sky.it'
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Channels
|
||||
description: List of channels to be added
|
||||
placeholder: 'BBC One'
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Notes
|
||||
description: Anything else we should know?
|
6
.github/workflows/check.yml
vendored
6
.github/workflows/check.yml
vendored
|
@ -20,7 +20,7 @@ jobs:
|
|||
files_yaml: |
|
||||
js:
|
||||
- tests/**/*.{js,ts}
|
||||
- scripts/**/*.{js,ts}
|
||||
- scripts/**/*.{js,mts,ts}
|
||||
- sites/**/*.{js,ts}
|
||||
channels:
|
||||
- sites/**/*.channels.xml
|
||||
|
@ -39,4 +39,6 @@ jobs:
|
|||
- name: check changed *.channels.xml
|
||||
if: steps.files.outputs.channels_any_changed == 'true'
|
||||
run: |
|
||||
npm run channels:lint -- ${{ steps.files.outputs.channels_all_changed_files }}
|
||||
npm run channels:lint -- ${{ steps.files.outputs.channels_all_changed_files }}
|
||||
npm run postinstall
|
||||
npm run channels:validate -- ${{ steps.files.outputs.channels_all_changed_files }}
|
129
CONTRIBUTING.md
129
CONTRIBUTING.md
|
@ -8,12 +8,16 @@
|
|||
|
||||
### How to add a channel to the guide?
|
||||
|
||||
Open the [/sites](/sites) folder and select the source that you know has the guide for the channel you want.
|
||||
First, select a site from the [SITES.md](SITES.md) that you know has a guide for the channel you need. Then go to the folder with its config and open the file `*.channels.xml`.
|
||||
|
||||
Then in the selected folder open the file `*.channels.xml` and add to it:
|
||||
Make sure that the desired channel is not already in the list. If it is not, simply add its description to the end of the list as shown here:
|
||||
|
||||
```xml
|
||||
<channel site="SITE" lang="LANGUAGE_CODE" xmltv_id="CHANNEL_ID" site_id="SITE_ID">CHANNEL_NAME</channel>
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<channels>
|
||||
...
|
||||
<channel site="SITE" lang="LANGUAGE_CODE" xmltv_id="CHANNEL_ID" site_id="SITE_ID">CHANNEL_NAME</channel>
|
||||
</channels>
|
||||
```
|
||||
|
||||
| Attribute | Description | Example |
|
||||
|
@ -22,28 +26,56 @@ Then in the selected folder open the file `*.channels.xml` and add to it:
|
|||
| LANGUAGE_CODE | Language of the guide ([ISO 639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) code). | `en` |
|
||||
| CHANNEL_ID | Channel ID from [iptv-org/database](https://github.com/iptv-org/database). A complete list of supported channels can also be found at https://iptv-org.github.io/. | `BBCOne.uk` |
|
||||
| SITE_ID | Unique ID of the channel used in the source. | `bbc1` |
|
||||
| CHANNEL_NAME | Name of the channel used in the source. | `BBC 1` |
|
||||
| CHANNEL_NAME | Name of the channel used in the source. | `BBC One` |
|
||||
|
||||
After that just commit all changes and send a pull request.
|
||||
After that just [commit](https://docs.github.com/en/pull-requests/committing-changes-to-your-project/creating-and-editing-commits/about-commits) all changes and send a [pull request](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests).
|
||||
|
||||
### How to map the channels?
|
||||
|
||||
In order for the guides to be linked with playlists from [iptv-org/iptv](https://github.com/iptv-org/iptv) and also with our other projects, each channel must have the same ID in the description as in our [iptv-org/database](https://github.com/iptv-org/database).
|
||||
|
||||
To check this, select one of the sites in the [SITES.md](SITES.md), open its `*.channels.xml` file and check that all channels have a valid `xmltv_id`. If it is missing somewhere, just copy the matching ID from the [iptv-org.github.io](https://iptv-org.github.io/). If the channel is not in our database yet, you can add it to it through this [form](https://github.com/iptv-org/database/issues/new?assignees=&labels=channels%3Aadd&projects=&template=__channels_add.yml&title=Add%3A+).
|
||||
|
||||
If the `*.channels.xml` file contains many channels without `xmltv_id`, you can speed up the process by running the command in the [Console](https://en.wikipedia.org/wiki/Windows_Console) (or [Terminal](<https://en.wikipedia.org/wiki/Terminal_(macOS)>) if you have macOS):
|
||||
|
||||
```sh
|
||||
npm run channels:edit path/to/channels.xml
|
||||
```
|
||||
|
||||
This way, you can map channels by simply selecting the proper ID from the list:
|
||||
|
||||
```sh
|
||||
? Select xmltv_id for "BBC One" (bbc1): (Use arrow keys)
|
||||
❯ BBC One (BBC1, BBC Television, BBC Television Service) | BBCOne.uk
|
||||
BBC One HD | BBCOneHD.uk
|
||||
Type...
|
||||
Skip
|
||||
```
|
||||
|
||||
Once complete, [commit](https://docs.github.com/en/pull-requests/committing-changes-to-your-project/creating-and-editing-commits/about-commits) all changes and send a [pull request](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests).
|
||||
|
||||
### How to add a new source to the repository?
|
||||
|
||||
To do this, you must create a new folder in the [/sites](/sites) with at least 3 files:
|
||||
To do this, you will need to create a new folder in the [/sites](/sites) directory with at least 4 files:
|
||||
|
||||
<details>
|
||||
<summary>example.com.config.js</summary>
|
||||
<br>
|
||||
|
||||
This file describes what kind of request we need to send to get the guide for a particular channel on a certain date. It also describes how to parse the response.
|
||||
This file describes what kind of request we need to send to get the guide for a particular channel on a certain date and how to parse the response.
|
||||
|
||||
```js
|
||||
module.exports = {
|
||||
site: 'example.com',
|
||||
url: function ({ channel, date }) {
|
||||
url({ channel, date }) {
|
||||
return `https://example.com/api/${channel.site_id}/${date.format('YYYY-MM-DD')}`
|
||||
},
|
||||
parser: function ({ content }) {
|
||||
return JSON.parse(content)
|
||||
parser({ content }) {
|
||||
try {
|
||||
return JSON.parse(content)
|
||||
} catch {
|
||||
return []
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
@ -59,39 +91,51 @@ More detailed instructions for this file can be found here: https://github.com/f
|
|||
With this file we can test the previously created config and make sure it works as you expect.
|
||||
|
||||
```js
|
||||
const { url, parser } = require('./example.com.config.js')
|
||||
const { parser, url } = require('./example.com.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-11-18', 'YYYY-MM-DD').startOf('d')
|
||||
const channel = { site_id: 'bbc1', xmltv_id: 'BBCOne.uk', lang: 'en' }
|
||||
const date = dayjs.utc('2025-01-12', 'YYYY-MM-DD').startOf('d')
|
||||
const channel = { site_id: 'bbc1', xmltv_id: 'BBCOne.uk' }
|
||||
|
||||
it('can generate valid url', () => {
|
||||
expect(url({ channel, date })).toBe('https://example.com/api/bbc1/2022-11-18')
|
||||
expect(url({ channel, date })).toBe('https://example.com/api/bbc1/2025-01-12')
|
||||
})
|
||||
|
||||
it('can parse response', () => {
|
||||
const content = `[{"start":"2022-11-18T01:30:00.000Z","stop":"2022-11-18T02:00:00.000Z","title":"Program 1"}]`
|
||||
const content =
|
||||
'[{"title":"Program 1","start":"2025-01-12T00:00:00.000Z","stop":"2025-01-12T00:30:00.000Z"},{"title":"Program 2","start":"2025-01-12T00:30:00.000Z","stop":"2025-01-12T01:00:00.000Z"}]'
|
||||
|
||||
const results = parser({ content })
|
||||
|
||||
expect(results).toMatchObject([
|
||||
{
|
||||
start: '2022-11-18T01:30:00.000Z',
|
||||
stop: '2022-11-18T02:00:00.000Z',
|
||||
title: 'Program 1'
|
||||
}
|
||||
])
|
||||
expect(results.length).toBe(2)
|
||||
expect(results[0]).toMatchObject({
|
||||
title: 'Program 1',
|
||||
start: '2025-01-12T00:00:00.000Z',
|
||||
stop: '2025-01-12T00:30:00.000Z'
|
||||
})
|
||||
expect(results[1]).toMatchObject({
|
||||
title: 'Program 2',
|
||||
start: '2025-01-12T00:30:00.000Z',
|
||||
stop: '2025-01-12T01:00:00.000Z'
|
||||
})
|
||||
})
|
||||
|
||||
it('can handle empty guide', () => {
|
||||
const results = parser({ content: '' })
|
||||
const result = parser({
|
||||
date,
|
||||
channel,
|
||||
content: ''
|
||||
})
|
||||
|
||||
expect(results).toMatchObject([])
|
||||
expect(result).toMatchObject([])
|
||||
})
|
||||
```
|
||||
|
||||
To run the tests you can use the following command:
|
||||
To run all of these tests use the following command:
|
||||
|
||||
```sh
|
||||
npm test --- example.com
|
||||
|
@ -110,21 +154,45 @@ This file contains a list of channels available at the source.
|
|||
```xml
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<channels>
|
||||
<channel site="example.com" lang="en" xmltv_id="BBCOne.uk" site_id="bbc1">BBC 1</channel>
|
||||
<channel site="example.com" lang="en" xmltv_id="BBCOne.uk" site_id="bbc1">BBC One</channel>
|
||||
</channels>
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
After creating all the files we can make sure that the guide loads correctly and has no errors using the command:
|
||||
<details>
|
||||
<summary>readme.md</summary>
|
||||
<br>
|
||||
|
||||
This file contains instructions on how to use this config.
|
||||
|
||||
````
|
||||
# example.com
|
||||
|
||||
https://example.com
|
||||
|
||||
### Download the guide
|
||||
|
||||
```sh
|
||||
npm run grab --- --site=example.com
|
||||
```
|
||||
|
||||
If the download is successful, the `guide.xml` file with the ready to use program should appear in the root directory.
|
||||
### Test
|
||||
|
||||
After that, all that remains is to commit all the changes and send a pull request.
|
||||
```sh
|
||||
npm test --- example.com
|
||||
```
|
||||
````
|
||||
|
||||
</details>
|
||||
|
||||
The fastest way to create all these files is to use the command:
|
||||
|
||||
```sh
|
||||
npm run sites:init --- example.com
|
||||
```
|
||||
|
||||
Once you are done working on the config make sure the tests pass, the guide downloads correctly, [commit](https://docs.github.com/en/pull-requests/committing-changes-to-your-project/creating-and-editing-commits/about-commits) all changes and send us a [pull request](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests).
|
||||
|
||||
## Project Structure
|
||||
|
||||
|
@ -153,8 +221,9 @@ To run scripts use the `npm run <script-name>` command.
|
|||
- `api:generate`: generates a JSON file with all channels for the [iptv-org/api](https://github.com/iptv-org/api) repository.
|
||||
- `channels:lint`: сhecks the channel lists for syntax errors.
|
||||
- `channels:parse`: generates a list of channels based on the site configuration.
|
||||
- `channels:editor`: utility for quick channels markup.
|
||||
- `channels:edit`: utility for quick channels mapping.
|
||||
- `channels:validate`: checks the description of channels for errors.
|
||||
- `sites:init`: creates a new site config from the template.
|
||||
- `sites:update`: updates the list of sites and their status in [SITES.md](SITES.md).
|
||||
- `grab`: downloads a program from a specified source.
|
||||
- `serve`: starts the [web server](https://github.com/vercel/serve).
|
||||
|
|
3
SITES.md
3
SITES.md
|
@ -65,7 +65,7 @@
|
|||
<tr><td><a href="sites/hoy.tv">hoy.tv</a></td><td>🟢</td><td></td></tr>
|
||||
<tr><td><a href="sites/i.mjh.nz">i.mjh.nz</a></td><td>🟢</td><td></td></tr>
|
||||
<tr><td><a href="sites/i24news.tv">i24news.tv</a></td><td>🟢</td><td></td></tr>
|
||||
<tr><td><a href="sites/iltalehti.fi">iltalehti.fi</a></td><td>🟡</td><td>https://github.com/iptv-org/epg/issues/2396</td></tr>
|
||||
<tr><td><a href="sites/iltalehti.fi">iltalehti.fi</a></td><td>🟢</td><td></td></tr>
|
||||
<tr><td><a href="sites/indihometv.com">indihometv.com</a></td><td>🟢</td><td></td></tr>
|
||||
<tr><td><a href="sites/ionplustv.com">ionplustv.com</a></td><td>🟢</td><td></td></tr>
|
||||
<tr><td><a href="sites/ipko.tv">ipko.tv</a></td><td>🟢</td><td></td></tr>
|
||||
|
@ -203,7 +203,6 @@
|
|||
<tr><td><a href="sites/virginmediatelevision.ie">virginmediatelevision.ie</a></td><td>🟢</td><td></td></tr>
|
||||
<tr><td><a href="sites/virgintvgo.virginmedia.com">virgintvgo.virginmedia.com</a></td><td>🟢</td><td></td></tr>
|
||||
<tr><td><a href="sites/visionplus.id">visionplus.id</a></td><td>🟢</td><td></td></tr>
|
||||
<tr><td><a href="sites/vivacom.bg">vivacom.bg</a></td><td>🔴</td><td>https://github.com/iptv-org/epg/issues/2270</td></tr>
|
||||
<tr><td><a href="sites/vtm.be">vtm.be</a></td><td>🟢</td><td></td></tr>
|
||||
<tr><td><a href="sites/walesi.com.fj">walesi.com.fj</a></td><td>🟢</td><td></td></tr>
|
||||
<tr><td><a href="sites/watch.sportsnet.ca">watch.sportsnet.ca</a></td><td>🟢</td><td></td></tr>
|
||||
|
|
|
@ -48,5 +48,8 @@ export default [
|
|||
|
||||
semi: ['error', 'never']
|
||||
}
|
||||
},
|
||||
{
|
||||
ignores: ['tests/__data__/']
|
||||
}
|
||||
]
|
||||
|
|
1811
package-lock.json
generated
1811
package-lock.json
generated
File diff suppressed because it is too large
Load diff
23
package.json
23
package.json
|
@ -5,14 +5,15 @@
|
|||
"act:update": "act workflow_dispatch -W .github/workflows/update.yml",
|
||||
"api:load": "npx tsx scripts/commands/api/load.ts",
|
||||
"api:generate": "npx tsx scripts/commands/api/generate.ts",
|
||||
"channels:lint": "npx tsx scripts/commands/channels/lint.ts",
|
||||
"channels:lint": "npx tsx scripts/commands/channels/lint.mts",
|
||||
"channels:parse": "npx tsx scripts/commands/channels/parse.ts",
|
||||
"channels:editor": "npx tsx scripts/commands/channels/editor.ts",
|
||||
"channels:edit": "npx tsx scripts/commands/channels/edit.ts",
|
||||
"channels:validate": "npx tsx scripts/commands/channels/validate.ts",
|
||||
"sites:init": "npx tsx scripts/commands/sites/init.ts",
|
||||
"sites:update": "npx tsx scripts/commands/sites/update.ts",
|
||||
"grab": "npx tsx scripts/commands/epg/grab.ts",
|
||||
"serve": "npx serve",
|
||||
"lint": "npx eslint \"{scripts,tests,sites}/**/*.{ts,js}\"",
|
||||
"lint": "npx eslint \"{scripts,tests,sites}/**/*.{ts,mts,js}\"",
|
||||
"test": "run-script-os",
|
||||
"test:win32": "SET \"TZ=Pacific/Nauru\" && npx jest --runInBand",
|
||||
"test:default": "TZ=Pacific/Nauru npx jest --runInBand",
|
||||
|
@ -29,15 +30,17 @@
|
|||
"transform": {
|
||||
"^.+\\.(ts|js)$": "@swc/jest"
|
||||
},
|
||||
"testRegex": "(tests|sites)/(.*?/)?.*test.(js|ts)$",
|
||||
"testMatch": [
|
||||
"<rootDir>/sites/**/*.test.(js|ts)",
|
||||
"<rootDir>/tests/commands/**/*.test.(js|ts)"
|
||||
],
|
||||
"testTimeout": 10000
|
||||
},
|
||||
"dependencies": {
|
||||
"@alex_neo/jest-expect-message": "^1.0.5",
|
||||
"@eslint/eslintrc": "^3.2.0",
|
||||
"@eslint/js": "^9.17.0",
|
||||
"@freearhey/core": "^0.3.1",
|
||||
"@freearhey/search-js": "^0.1.1",
|
||||
"@freearhey/core": "^0.5.0",
|
||||
"@ntlab/sfetch": "^1.0.0",
|
||||
"@octokit/plugin-paginate-rest": "^11.3.6",
|
||||
"@octokit/plugin-rest-endpoint-methods": "^13.2.6",
|
||||
|
@ -68,6 +71,7 @@
|
|||
"eslint-config-prettier": "^9.0.0",
|
||||
"form-data": "^4.0.0",
|
||||
"fs-extra": "^10.0.1",
|
||||
"fuse.js": "^7.0.0",
|
||||
"glob": "^7.2.0",
|
||||
"globals": "^15.14.0",
|
||||
"husky": "^9.1.7",
|
||||
|
@ -76,7 +80,7 @@
|
|||
"jest": "^29.7.0",
|
||||
"jest-offline": "^1.0.1",
|
||||
"langs": "^2.0.0",
|
||||
"libxmljs2": "^0.35.0",
|
||||
"libxml2-wasm": "^0.5.0",
|
||||
"lodash": "^4.17.21",
|
||||
"luxon": "^3.3.0",
|
||||
"markdown-include": "^0.4.3",
|
||||
|
@ -88,6 +92,8 @@
|
|||
"pako": "^2.1.0",
|
||||
"parse-duration": "^1.0.0",
|
||||
"pdf-parse": "^1.1.1",
|
||||
"readline": "^1.3.0",
|
||||
"run-script-os": "^1.1.6",
|
||||
"serve": "^14.2.4",
|
||||
"signale": "^1.4.0",
|
||||
"skip-postinstall": "^1.0.0",
|
||||
|
@ -99,8 +105,5 @@
|
|||
"tsx": "^4.19.2",
|
||||
"unzipit": "^1.4.0",
|
||||
"wildcard-match": "^5.1.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"run-script-os": "^1.1.6"
|
||||
}
|
||||
}
|
||||
|
|
123
scripts/commands/channels/edit.ts
Normal file
123
scripts/commands/channels/edit.ts
Normal file
|
@ -0,0 +1,123 @@
|
|||
import { DATA_DIR } from '../../constants'
|
||||
import { Storage, Collection, Logger } from '@freearhey/core'
|
||||
import { ChannelsParser, XML, ApiChannel } from '../../core'
|
||||
import { Channel } from 'epg-grabber'
|
||||
import nodeCleanup from 'node-cleanup'
|
||||
import { program } from 'commander'
|
||||
import inquirer, { QuestionCollection } from 'inquirer'
|
||||
import Fuse from 'fuse.js'
|
||||
import readline from 'readline'
|
||||
|
||||
if (process.platform === 'win32') {
|
||||
readline
|
||||
.createInterface({
|
||||
input: process.stdin,
|
||||
output: process.stdout
|
||||
})
|
||||
.on('SIGINT', function () {
|
||||
process.emit('SIGINT')
|
||||
})
|
||||
}
|
||||
|
||||
program.argument('<filepath>', 'Path to *.channels.xml file to edit').parse(process.argv)
|
||||
|
||||
const filepath = program.args[0]
|
||||
|
||||
const logger = new Logger()
|
||||
const storage = new Storage()
|
||||
let channels = new Collection()
|
||||
|
||||
async function main() {
|
||||
if (!(await storage.exists(filepath))) {
|
||||
throw new Error(`File "${filepath}" does not exists`)
|
||||
}
|
||||
|
||||
const parser = new ChannelsParser({ storage })
|
||||
channels = await parser.parse(filepath)
|
||||
|
||||
const dataStorage = new Storage(DATA_DIR)
|
||||
const channelsContent = await dataStorage.json('channels.json')
|
||||
const searchIndex = new Fuse(channelsContent, { keys: ['name', 'alt_names'], threshold: 0.4 })
|
||||
|
||||
for (const channel of channels.all()) {
|
||||
if (channel.xmltv_id) continue
|
||||
const question: QuestionCollection = {
|
||||
name: 'option',
|
||||
message: `Select xmltv_id for "${channel.name}" (${channel.site_id}):`,
|
||||
type: 'list',
|
||||
choices: getOptions(searchIndex, channel),
|
||||
pageSize: 10
|
||||
}
|
||||
|
||||
await inquirer.prompt(question).then(async selected => {
|
||||
switch (selected.option) {
|
||||
case 'Type...':
|
||||
const input = await getInput(channel)
|
||||
channel.xmltv_id = input.xmltv_id
|
||||
break
|
||||
case 'Skip':
|
||||
channel.xmltv_id = '-'
|
||||
break
|
||||
default:
|
||||
const [, xmltv_id] = selected.option
|
||||
.replace(/ \[.*\]/, '')
|
||||
.split('|')
|
||||
.map((i: string) => i.trim())
|
||||
channel.xmltv_id = xmltv_id
|
||||
break
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
channels.forEach((channel: Channel) => {
|
||||
if (channel.xmltv_id === '-') {
|
||||
channel.xmltv_id = ''
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
main()
|
||||
|
||||
function save() {
|
||||
if (!storage.existsSync(filepath)) return
|
||||
|
||||
const xml = new XML(channels)
|
||||
|
||||
storage.saveSync(filepath, xml.toString())
|
||||
|
||||
logger.info(`\nFile '${filepath}' successfully saved`)
|
||||
}
|
||||
|
||||
nodeCleanup(() => {
|
||||
save()
|
||||
})
|
||||
|
||||
async function getInput(channel: Channel) {
|
||||
const name = channel.name.trim()
|
||||
const input = await inquirer.prompt([
|
||||
{
|
||||
name: 'xmltv_id',
|
||||
message: ' xmltv_id:',
|
||||
type: 'input'
|
||||
}
|
||||
])
|
||||
|
||||
return { name, xmltv_id: input['xmltv_id'] }
|
||||
}
|
||||
|
||||
function getOptions(index, channel: Channel) {
|
||||
const similar = index.search(channel.name).map(result => new ApiChannel(result.item))
|
||||
|
||||
const variants = new Collection()
|
||||
similar.forEach((_channel: ApiChannel) => {
|
||||
const altNames = _channel.altNames.notEmpty() ? ` (${_channel.altNames.join(',')})` : ''
|
||||
const closed = _channel.closed ? ` [closed:${_channel.closed}]` : ''
|
||||
const replacedBy = _channel.replacedBy ? `[replaced_by:${_channel.replacedBy}]` : ''
|
||||
|
||||
variants.add(`${_channel.name}${altNames} | ${_channel.id}${closed}${replacedBy}`)
|
||||
})
|
||||
variants.add('Type...')
|
||||
variants.add('Skip')
|
||||
|
||||
return variants.all()
|
||||
}
|
|
@ -1,179 +0,0 @@
|
|||
import { DATA_DIR } from '../../constants'
|
||||
import { Storage, Collection, Dictionary, Logger } from '@freearhey/core'
|
||||
import { ChannelsParser, XML, ApiChannel } from '../../core'
|
||||
import { Channel } from 'epg-grabber'
|
||||
import { transliterate } from 'transliteration'
|
||||
import nodeCleanup from 'node-cleanup'
|
||||
import { program } from 'commander'
|
||||
import inquirer, { QuestionCollection } from 'inquirer'
|
||||
import sj from '@freearhey/search-js'
|
||||
|
||||
program
|
||||
.argument('<filepath>', 'Path to *.channels.xml file to edit')
|
||||
.option('-c, --country <name>', 'Default country (ISO 3166 code)', 'US')
|
||||
.parse(process.argv)
|
||||
|
||||
const filepath = program.args[0]
|
||||
const programOptions = program.opts()
|
||||
const defaultCountry = programOptions.country.toLowerCase()
|
||||
const newLabel = ' [new]'
|
||||
|
||||
let options = new Collection()
|
||||
|
||||
async function main() {
|
||||
const storage = new Storage()
|
||||
|
||||
if (!(await storage.exists(filepath))) {
|
||||
throw new Error(`File "${filepath}" does not exists`)
|
||||
}
|
||||
|
||||
const parser = new ChannelsParser({ storage })
|
||||
|
||||
const parsedChannels = await parser.parse(filepath)
|
||||
options = parsedChannels.map((channel: Channel): { channel: Channel; delete: boolean } => {
|
||||
return {
|
||||
channel,
|
||||
delete: false
|
||||
}
|
||||
})
|
||||
|
||||
const dataStorage = new Storage(DATA_DIR)
|
||||
const channelsContent = await dataStorage.json('channels.json')
|
||||
|
||||
const channelsIndex = sj.createIndex(channelsContent)
|
||||
|
||||
const buffer = new Dictionary()
|
||||
for (const option of options.all()) {
|
||||
const channel: Channel = option.channel
|
||||
if (channel.xmltv_id) {
|
||||
if (channel.xmltv_id !== '-') {
|
||||
buffer.set(`${channel.xmltv_id}/${channel.lang}`, true)
|
||||
}
|
||||
continue
|
||||
}
|
||||
const choices = getOptions(channelsIndex, channel)
|
||||
const question: QuestionCollection = {
|
||||
name: 'option',
|
||||
message: `Choose xmltv_id for "${channel.name}" (${channel.site_id}):`,
|
||||
type: 'list',
|
||||
choices,
|
||||
pageSize: 10
|
||||
}
|
||||
|
||||
await inquirer.prompt(question).then(async selected => {
|
||||
switch (selected.option) {
|
||||
case 'Overwrite':
|
||||
const input = await getInput(channel)
|
||||
channel.xmltv_id = input.xmltv_id
|
||||
break
|
||||
case 'Skip':
|
||||
channel.xmltv_id = '-'
|
||||
break
|
||||
default:
|
||||
const [, xmltv_id] = selected.option
|
||||
.replace(/ \[.*\]/, '')
|
||||
.split('|')
|
||||
.map((i: string) => i.trim().replace(newLabel, ''))
|
||||
channel.xmltv_id = xmltv_id
|
||||
break
|
||||
}
|
||||
|
||||
const found = buffer.has(`${channel.xmltv_id}/${channel.lang}`)
|
||||
if (found) {
|
||||
const question: QuestionCollection = {
|
||||
name: 'option',
|
||||
message: `"${channel.xmltv_id}" already on the list. Choose an option:`,
|
||||
type: 'list',
|
||||
choices: ['Skip', 'Add', 'Delete'],
|
||||
pageSize: 5
|
||||
}
|
||||
await inquirer.prompt(question).then(async selected => {
|
||||
switch (selected.option) {
|
||||
case 'Skip':
|
||||
channel.xmltv_id = '-'
|
||||
break
|
||||
case 'Delete':
|
||||
option.delete = true
|
||||
break
|
||||
default:
|
||||
break
|
||||
}
|
||||
})
|
||||
} else {
|
||||
if (channel.xmltv_id !== '-') {
|
||||
buffer.set(`${channel.xmltv_id}/${channel.lang}`, true)
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
main()
|
||||
|
||||
function save() {
|
||||
const logger = new Logger()
|
||||
const storage = new Storage()
|
||||
|
||||
if (!storage.existsSync(filepath)) return
|
||||
|
||||
const channels = options
|
||||
.filter((option: { channel: Channel; delete: boolean }) => !option.delete)
|
||||
.map((option: { channel: Channel; delete: boolean }) => option.channel)
|
||||
|
||||
const xml = new XML(channels)
|
||||
|
||||
storage.saveSync(filepath, xml.toString())
|
||||
|
||||
logger.info(`\nFile '${filepath}' successfully saved`)
|
||||
}
|
||||
|
||||
nodeCleanup(() => {
|
||||
save()
|
||||
})
|
||||
|
||||
async function getInput(channel: Channel) {
|
||||
const name = channel.name.trim()
|
||||
const input = await inquirer.prompt([
|
||||
{
|
||||
name: 'xmltv_id',
|
||||
message: ' ID:',
|
||||
type: 'input',
|
||||
default: generateCode(name, defaultCountry)
|
||||
}
|
||||
])
|
||||
|
||||
return { name, xmltv_id: input['xmltv_id'] }
|
||||
}
|
||||
|
||||
function getOptions(channelsIndex, channel: Channel) {
|
||||
const channelId = generateCode(channel.name, defaultCountry)
|
||||
const query = channel.name
|
||||
.replace(/\s(SD|TV|HD|SD\/HD|HDTV)$/i, '')
|
||||
.replace(/(\(|\)|,)/gi, '')
|
||||
.replace(/-/gi, ' ')
|
||||
.replace(/\+/gi, '')
|
||||
const similar = channelsIndex.search(query).map(item => new ApiChannel(item))
|
||||
|
||||
const variants = new Collection()
|
||||
variants.add(`${channel.name.trim()} | ${channelId}${newLabel}`)
|
||||
similar.forEach((_channel: ApiChannel) => {
|
||||
const altNames = _channel.altNames.notEmpty() ? ` (${_channel.altNames.join(',')})` : ''
|
||||
const closed = _channel.closed ? ` [closed:${_channel.closed}]` : ''
|
||||
const replacedBy = _channel.replacedBy ? `[replaced_by:${_channel.replacedBy}]` : ''
|
||||
|
||||
variants.add(`${_channel.name}${altNames} | ${_channel.id}${closed}${replacedBy}`)
|
||||
})
|
||||
variants.add('Overwrite')
|
||||
variants.add('Skip')
|
||||
|
||||
return variants.all()
|
||||
}
|
||||
|
||||
function generateCode(name: string, country: string) {
|
||||
const channelId: string = transliterate(name)
|
||||
.replace(/\+/gi, 'Plus')
|
||||
.replace(/^&/gi, 'And')
|
||||
.replace(/[^a-z\d]+/gi, '')
|
||||
|
||||
return `${channelId}.${country}`
|
||||
}
|
|
@ -1,7 +1,7 @@
|
|||
import chalk from 'chalk'
|
||||
import libxml, { ValidationError } from 'libxmljs2'
|
||||
import { program } from 'commander'
|
||||
import { Storage, File } from '@freearhey/core'
|
||||
import { XmlDocument, XsdValidator, XmlValidateError, ErrorDetail } from 'libxml2-wasm'
|
||||
|
||||
const xsd = `<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
|
||||
|
@ -23,12 +23,12 @@ const xsd = `<?xml version="1.0" encoding="UTF-8"?>
|
|||
</xs:element>
|
||||
</xs:schema>`
|
||||
|
||||
program.argument('[filepath]', 'Path to *.channels.xml files to validate').parse(process.argv)
|
||||
program.argument('[filepath]', 'Path to *.channels.xml files to check').parse(process.argv)
|
||||
|
||||
async function main() {
|
||||
const storage = new Storage()
|
||||
|
||||
let errors: ValidationError[] = []
|
||||
let errors: ErrorDetail[] = []
|
||||
|
||||
const files = program.args.length ? program.args : await storage.list('sites/**/*.channels.xml')
|
||||
for (const filepath of files) {
|
||||
|
@ -37,23 +37,28 @@ async function main() {
|
|||
|
||||
const xml = await storage.load(filepath)
|
||||
|
||||
let localErrors: ValidationError[] = []
|
||||
let localErrors: ErrorDetail[] = []
|
||||
|
||||
try {
|
||||
const xsdDoc = libxml.parseXml(xsd)
|
||||
const doc = libxml.parseXml(xml)
|
||||
const schema = XmlDocument.fromString(xsd)
|
||||
const validator = XsdValidator.fromDoc(schema)
|
||||
const doc = XmlDocument.fromString(xml)
|
||||
|
||||
if (!doc.validate(xsdDoc)) {
|
||||
localErrors = doc.validationErrors
|
||||
}
|
||||
} catch (error) {
|
||||
localErrors.push(error)
|
||||
validator.validate(doc)
|
||||
|
||||
schema.dispose()
|
||||
validator.dispose()
|
||||
doc.dispose()
|
||||
} catch (_error) {
|
||||
const error = _error as XmlValidateError
|
||||
|
||||
localErrors = localErrors.concat(error.details)
|
||||
}
|
||||
|
||||
if (localErrors.length) {
|
||||
console.log(`\n${chalk.underline(filepath)}`)
|
||||
localErrors.forEach((error: ValidationError) => {
|
||||
const position = `${error.line}:${error.column}`
|
||||
localErrors.forEach((error: ErrorDetail) => {
|
||||
const position = `${error.line}:${error.col}`
|
||||
console.log(` ${chalk.gray(position.padEnd(4, ' '))} ${error.message.trim()}`)
|
||||
})
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
import { Storage, Collection, Dictionary, File, Logger } from '@freearhey/core'
|
||||
import { Storage, Collection, Dictionary, File } from '@freearhey/core'
|
||||
import { ChannelsParser, ApiChannel } from '../../core'
|
||||
import { program } from 'commander'
|
||||
import chalk from 'chalk'
|
||||
|
@ -6,15 +6,7 @@ import langs from 'langs'
|
|||
import { DATA_DIR } from '../../constants'
|
||||
import { Channel } from 'epg-grabber'
|
||||
|
||||
program
|
||||
.option(
|
||||
'-c, --channels <path>',
|
||||
'Path to channels.xml file to validate',
|
||||
'sites/**/*.channels.xml'
|
||||
)
|
||||
.parse(process.argv)
|
||||
|
||||
const options = program.opts()
|
||||
program.argument('[filepath]', 'Path to *.channels.xml files to validate').parse(process.argv)
|
||||
|
||||
type ValidationError = {
|
||||
type: 'duplicate' | 'wrong_xmltv_id' | 'wrong_lang'
|
||||
|
@ -26,11 +18,6 @@ type ValidationError = {
|
|||
}
|
||||
|
||||
async function main() {
|
||||
const logger = new Logger()
|
||||
|
||||
logger.info('options:')
|
||||
logger.tree(options)
|
||||
|
||||
const parser = new ChannelsParser({ storage: new Storage() })
|
||||
|
||||
const dataStorage = new Storage(DATA_DIR)
|
||||
|
@ -39,8 +26,9 @@ async function main() {
|
|||
|
||||
let totalFiles = 0
|
||||
let totalErrors = 0
|
||||
|
||||
const storage = new Storage()
|
||||
const files: string[] = await storage.list(options.channels)
|
||||
const files = program.args.length ? program.args : await storage.list('sites/**/*.channels.xml')
|
||||
for (const filepath of files) {
|
||||
const file = new File(filepath)
|
||||
if (file.extension() !== 'xml') continue
|
||||
|
@ -50,9 +38,9 @@ async function main() {
|
|||
const bufferBySiteId = new Dictionary()
|
||||
const errors: ValidationError[] = []
|
||||
parsedChannels.forEach((channel: Channel) => {
|
||||
const bufferSiteId: string = `${channel.site_id}:${channel.lang}`
|
||||
if (bufferBySiteId.missing(bufferSiteId)) {
|
||||
bufferBySiteId.set(bufferSiteId, true)
|
||||
const bufferId: string = channel.site_id
|
||||
if (bufferBySiteId.missing(bufferId)) {
|
||||
bufferBySiteId.set(bufferId, true)
|
||||
} else {
|
||||
errors.push({ type: 'duplicate', ...channel })
|
||||
totalErrors++
|
||||
|
@ -72,16 +60,6 @@ async function main() {
|
|||
errors.push({ type: 'wrong_xmltv_id', ...channel })
|
||||
totalErrors++
|
||||
}
|
||||
|
||||
// if (foundChannel && foundChannel.replacedBy) {
|
||||
// errors.push({ type: 'replaced', ...channel })
|
||||
// totalErrors++
|
||||
// }
|
||||
|
||||
// if (foundChannel && foundChannel.closed && !foundChannel.replacedBy) {
|
||||
// errors.push({ type: 'closed', ...channel })
|
||||
// totalErrors++
|
||||
// }
|
||||
})
|
||||
|
||||
if (errors.length) {
|
||||
|
|
45
scripts/commands/sites/init.ts
Normal file
45
scripts/commands/sites/init.ts
Normal file
|
@ -0,0 +1,45 @@
|
|||
import { Logger, Storage } from '@freearhey/core'
|
||||
import { program } from 'commander'
|
||||
import { SITES_DIR } from '../../constants'
|
||||
import fs from 'fs-extra'
|
||||
import { pathToFileURL } from 'node:url'
|
||||
|
||||
program.argument('<site>', 'Domain name of the site').parse(process.argv)
|
||||
|
||||
const domain = program.args[0]
|
||||
|
||||
async function main() {
|
||||
const storage = new Storage(SITES_DIR)
|
||||
const logger = new Logger()
|
||||
|
||||
logger.info(`Initializing "${domain}"...\r\n`)
|
||||
|
||||
const dir = domain
|
||||
if (await storage.exists(dir)) {
|
||||
throw new Error(`Folder "${dir}" already exists`)
|
||||
}
|
||||
|
||||
await storage.createDir(dir)
|
||||
|
||||
logger.info(`Creating "${dir}/${domain}.test.js"...`)
|
||||
const testTemplate = fs.readFileSync(pathToFileURL('scripts/templates/_test.js'), {
|
||||
encoding: 'utf8'
|
||||
})
|
||||
await storage.save(`${dir}/${domain}.test.js`, testTemplate.replace(/<DOMAIN>/g, domain))
|
||||
|
||||
logger.info(`Creating "${dir}/${domain}.config.js"...`)
|
||||
const configTemplate = fs.readFileSync(pathToFileURL('scripts/templates/_config.js'), {
|
||||
encoding: 'utf8'
|
||||
})
|
||||
await storage.save(`${dir}/${domain}.config.js`, configTemplate.replace(/<DOMAIN>/g, domain))
|
||||
|
||||
logger.info(`Creating "${dir}/readme.md"...`)
|
||||
const readmeTemplate = fs.readFileSync(pathToFileURL('scripts/templates/_readme.md'), {
|
||||
encoding: 'utf8'
|
||||
})
|
||||
await storage.save(`${dir}/readme.md`, readmeTemplate.replace(/<DOMAIN>/g, domain))
|
||||
|
||||
logger.info('\r\nDone')
|
||||
}
|
||||
|
||||
main()
|
|
@ -41,7 +41,7 @@ export class ApiClient {
|
|||
}
|
||||
|
||||
async download(filename: string) {
|
||||
const stream = await this.storage.createStream(`/temp/data/${filename}`)
|
||||
const stream = await this.storage.createStream(`temp/data/${filename}`)
|
||||
|
||||
const bar = this.progressBar.create(0, 0, { filename })
|
||||
|
||||
|
|
16
scripts/templates/_config.js
Normal file
16
scripts/templates/_config.js
Normal file
|
@ -0,0 +1,16 @@
|
|||
module.exports = {
|
||||
site: '<DOMAIN>',
|
||||
url({ channel, date }) {
|
||||
return `https://example.com/api/${channel.site_id}/${date.format('YYYY-MM-DD')}`
|
||||
},
|
||||
parser({ content }) {
|
||||
try {
|
||||
return JSON.parse(content)
|
||||
} catch {
|
||||
return []
|
||||
}
|
||||
},
|
||||
channels() {
|
||||
return []
|
||||
}
|
||||
}
|
21
scripts/templates/_readme.md
Normal file
21
scripts/templates/_readme.md
Normal file
|
@ -0,0 +1,21 @@
|
|||
# <DOMAIN>
|
||||
|
||||
https://example.com
|
||||
|
||||
### Download the guide
|
||||
|
||||
```sh
|
||||
npm run grab --- --site=<DOMAIN>
|
||||
```
|
||||
|
||||
### Update channel list
|
||||
|
||||
```sh
|
||||
npm run channels:parse --- --config=./sites/<DOMAIN>/<DOMAIN>.config.js --output=./sites/<DOMAIN>/<DOMAIN>.channels.xml
|
||||
```
|
||||
|
||||
### Test
|
||||
|
||||
```sh
|
||||
npm test --- <DOMAIN>
|
||||
```
|
42
scripts/templates/_test.js
Normal file
42
scripts/templates/_test.js
Normal file
|
@ -0,0 +1,42 @@
|
|||
const { parser, url } = require('./<DOMAIN>.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('2025-01-12', 'YYYY-MM-DD').startOf('d')
|
||||
const channel = { site_id: 'bbc1', xmltv_id: 'BBCOne.uk' }
|
||||
|
||||
it('can generate valid url', () => {
|
||||
expect(url({ channel, date })).toBe('https://example.com/api/bbc1/2025-01-12')
|
||||
})
|
||||
|
||||
it('can parse response', () => {
|
||||
const content =
|
||||
'[{"title":"Program 1","start":"2025-01-12T00:00:00.000Z","stop":"2025-01-12T00:30:00.000Z"},{"title":"Program 2","start":"2025-01-12T00:30:00.000Z","stop":"2025-01-12T01:00:00.000Z"}]'
|
||||
|
||||
const results = parser({ content })
|
||||
|
||||
expect(results.length).toBe(2)
|
||||
expect(results[0]).toMatchObject({
|
||||
title: 'Program 1',
|
||||
start: '2025-01-12T00:00:00.000Z',
|
||||
stop: '2025-01-12T00:30:00.000Z'
|
||||
})
|
||||
expect(results[1]).toMatchObject({
|
||||
title: 'Program 2',
|
||||
start: '2025-01-12T00:30:00.000Z',
|
||||
stop: '2025-01-12T01:00:00.000Z'
|
||||
})
|
||||
})
|
||||
|
||||
it('can handle empty guide', () => {
|
||||
const result = parser({
|
||||
date,
|
||||
channel,
|
||||
content: ''
|
||||
})
|
||||
|
||||
expect(result).toMatchObject([])
|
||||
})
|
1043
sites/antennaeurope.gr/__data__/content.html
Normal file
1043
sites/antennaeurope.gr/__data__/content.html
Normal file
File diff suppressed because it is too large
Load diff
877
sites/antennaeurope.gr/__data__/no_content.html
Normal file
877
sites/antennaeurope.gr/__data__/no_content.html
Normal file
|
@ -0,0 +1,877 @@
|
|||
<!doctype html>
|
||||
<!--[if IE 7]><html class="ie7" lang="el"> <!
|
||||
[endif]-->[endif]--><!--[if IE 8]><html class="ie8" lang="el"> <!
|
||||
[endif]-->[endif]--><!--[if IE 9]><html class="ie9" lang="el"> <![endif]-->
|
||||
<!--[if !IE]><!--><html lang="el" itemscope itemtype="http://schema.org/WebPage"><!--<![endif]-->
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta
|
||||
name="viewport"
|
||||
content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"
|
||||
/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" lang="el" />
|
||||
<meta http-equiv="content-language" content="el-gr" />
|
||||
<title>Πρόγραμμα</title>
|
||||
<meta name="description" content="cms39" />
|
||||
<meta name="keywords" content="" />
|
||||
<meta name="ROBOTS" content="INDEX, FOLLOW" />
|
||||
<link
|
||||
rel="search"
|
||||
type="application/opensearchdescription+xml"
|
||||
href="https://www.antennaeurope.gr/opensearch.php"
|
||||
title="Website search"
|
||||
/>
|
||||
<link href="" rel="publisher" />
|
||||
<meta http-equiv="Cache-control" content="public" />
|
||||
<meta http-equiv="Cache-control" content="max-age=86400" />
|
||||
<meta name="designer" content="www.cdl.gr" />
|
||||
<meta name="generator" content="CMS39 FRAMEWORK v8.9.9.1" />
|
||||
<meta name="copyright" content="antennaeurope.gr" />
|
||||
<link rel="alternate" hreflang="el" href="https://www.antennaeurope.gr/el/tvguide.html" />
|
||||
<link rel="alternate" hreflang="en" href="https://www.antennaeurope.gr/en/tvguide.html" />
|
||||
<meta property="fb:app_id" content="966242223397117" />
|
||||
<meta property="og:locale" content="el" />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta
|
||||
property="og:url"
|
||||
content="https://www.antennaeurope.gr/el/tvguide.html?date=2026-01-21"
|
||||
/>
|
||||
<meta property="og:site_name" content="antennaeurope.gr" />
|
||||
<meta property="og:title" content="Πρόγραμμα" />
|
||||
<meta property="og:description" content="cms39" />
|
||||
<meta
|
||||
property="og:image"
|
||||
content="https://www.antennaeurope.gr/media/upload-files/cache/4eb/4eb861bdce3a42bab32e27c55aecbcfa_europelogo.jpg"
|
||||
/>
|
||||
<meta property="og:image:width" content="1200" />
|
||||
<meta property="og:image:height" content="630" />
|
||||
<script type="text/javascript">
|
||||
var Durl = 'https://www.antennaeurope.gr/el'
|
||||
var Turl = 'https://www.antennaeurope.gr/themes/default'
|
||||
var url = 'https://www.antennaeurope.gr'
|
||||
var Aurl = 'https://www.antennaeurope.gr/administrator/cp_ajax?f='
|
||||
var lang = 'el'
|
||||
var lang_symbol = 'el'
|
||||
var siteName = 'antennaeurope.gr'
|
||||
var siteV = '5.7.3'
|
||||
var Purl = 'https://www.antennaeurope.gr/public/plugins'
|
||||
</script>
|
||||
<link
|
||||
rel="alternate"
|
||||
type="application/rss+xml"
|
||||
title="antennaeurope.gr Feed"
|
||||
href="https://www.antennaeurope.gr/rss.php"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-icon"
|
||||
sizes="57x57"
|
||||
href="https://www.antennaeurope.gr/themes/default/img/ico/apple-icon-57x57.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-icon"
|
||||
sizes="60x60"
|
||||
href="https://www.antennaeurope.gr/themes/default/img/ico/apple-icon-60x60.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-icon"
|
||||
sizes="72x72"
|
||||
href="https://www.antennaeurope.gr/themes/default/img/ico/apple-icon-72x72.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-icon"
|
||||
sizes="76x76"
|
||||
href="https://www.antennaeurope.gr/themes/default/img/ico/apple-icon-76x76.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-icon"
|
||||
sizes="114x114"
|
||||
href="https://www.antennaeurope.gr/themes/default/img/ico/apple-icon-114x114.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-icon"
|
||||
sizes="120x120"
|
||||
href="https://www.antennaeurope.gr/themes/default/img/ico/apple-icon-120x120.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-icon"
|
||||
sizes="144x144"
|
||||
href="https://www.antennaeurope.gr/themes/default/img/ico/apple-icon-144x144.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-icon"
|
||||
sizes="152x152"
|
||||
href="https://www.antennaeurope.gr/themes/default/img/ico/apple-icon-152x152.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-icon"
|
||||
sizes="180x180"
|
||||
href="https://www.antennaeurope.gr/themes/default/img/ico/apple-icon-180x180.png"
|
||||
/>
|
||||
<link
|
||||
rel="icon"
|
||||
type="image/png"
|
||||
sizes="192x192"
|
||||
href="https://www.antennaeurope.gr/themes/default/img/ico/android-icon-192x192.png"
|
||||
/>
|
||||
<link
|
||||
rel="icon"
|
||||
type="image/png"
|
||||
sizes="32x32"
|
||||
href="https://www.antennaeurope.gr/themes/default/img/ico/favicon-32x32.png"
|
||||
/>
|
||||
<link
|
||||
rel="icon"
|
||||
type="image/png"
|
||||
sizes="96x96"
|
||||
href="https://www.antennaeurope.gr/themes/default/img/ico/favicon-96x96.png"
|
||||
/>
|
||||
<link
|
||||
rel="icon"
|
||||
type="image/png"
|
||||
sizes="16x16"
|
||||
href="https://www.antennaeurope.gr/themes/default/img/ico/favicon-16x16.png"
|
||||
/>
|
||||
<link rel="manifest" href="https://www.antennaeurope.gr/themes/default/manifest.json" />
|
||||
<meta
|
||||
name="msapplication-TileImage"
|
||||
content="https://www.antennaeurope.gr/themes/default/img/ico/ms-icon-144x144.png"
|
||||
/>
|
||||
<meta name="theme-color" content="#000000" />
|
||||
<meta name="msapplication-navbutton-color" content="#000000" />
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="#000000" />
|
||||
<script type="text/javascript">
|
||||
var contact_url = 'https://www.antennaeurope.gr'
|
||||
var contact_field_message_min = '20'
|
||||
var contact_field_message_max = '100'
|
||||
var contact_lang = 'el'
|
||||
</script>
|
||||
<link
|
||||
rel="stylesheet"
|
||||
href="https://cdn.jsdelivr.net/npm/owl.carousel@2.2.0/dist/assets/owl.carousel.min.css"
|
||||
/>
|
||||
<link
|
||||
rel="stylesheet"
|
||||
href="https://cdn.jsdelivr.net/npm/owl.carousel@2.2.0/dist/assets/owl.theme.default.min.css"
|
||||
/>
|
||||
<link
|
||||
rel="stylesheet"
|
||||
href="https://cdn.jsdelivr.net/npm/jquery-typeahead@2.11.1/dist/jquery.typeahead.min.css"
|
||||
/>
|
||||
<link
|
||||
rel="stylesheet"
|
||||
href="https://www.antennaeurope.gr/plugins/cms39_search/cms39_search.css?v=4.5"
|
||||
/>
|
||||
<link rel="stylesheet" href="https://www.antennaeurope.gr/plugins/contactform/contact.css" />
|
||||
<script type="text/javascript" src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
|
||||
<!-- Global site tag (gtag.js) - Google Analytics -->
|
||||
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-118808483-1"></script>
|
||||
<script>
|
||||
window.dataLayer = window.dataLayer || []
|
||||
function gtag() {
|
||||
dataLayer.push(arguments)
|
||||
}
|
||||
gtag('js', new Date())
|
||||
gtag('config', 'UA-118808483-1')
|
||||
</script>
|
||||
<link
|
||||
rel="stylesheet"
|
||||
type="text/css"
|
||||
href="https://www.antennaeurope.gr/themes/default/style.css?version=5.7.3"
|
||||
/>
|
||||
<!--[if lt IE 9]>
|
||||
<script src="//cdn.jsdelivr.net/html5shiv/3.7.2/html5shiv-printshiv.min.js"></script>
|
||||
<script src="//cdn.jsdelivr.net/respond/1.4.2/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
</head>
|
||||
<body class="el css_100 css_tvguide css_0 css_page css_page css_root_100 desktop">
|
||||
<div class="masterWraper">
|
||||
<header>
|
||||
<div class="container-fluid">
|
||||
<a class="logo" href="https://www.antennaeurope.gr/el/home.html" title="antennaeurope.gr"
|
||||
><img
|
||||
alt="logo antennaeurope.gr"
|
||||
src="https://www.antennaeurope.gr/themes/default/img/eur.svg"
|
||||
/></a>
|
||||
<div class="colarea1">
|
||||
<div class="col1inner">
|
||||
<div class="text-right colmenu">
|
||||
<button
|
||||
class="menu-toggle"
|
||||
data-toggle="collapse"
|
||||
data-target="#collapseMenu"
|
||||
aria-expanded="false"
|
||||
aria-controls="collapseMenu"
|
||||
>
|
||||
<span class="menu-icon">
|
||||
<span class="first"></span> <span class="second"></span>
|
||||
<span class="third"></span>
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="col-sitesearch text-left">
|
||||
<div
|
||||
class="site-search grid__col-auto grid--justify-center grid--align-center visible__sm"
|
||||
>
|
||||
<button
|
||||
class="search-btn"
|
||||
data-toggle="collapse"
|
||||
data-target="#collapseSearch"
|
||||
aria-expanded="false"
|
||||
aria-controls="collapseSearch"
|
||||
>
|
||||
<i class="fa fa-search" aria-hidden="true"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="colarea2"><ul class="list-inline"></ul></div>
|
||||
<div class="colarea3 col-live-now text-right">
|
||||
<a class="playnow" title="more information" data-bid="" data-dum="" href="#"
|
||||
><span class="highlight">Παίζει τώρα</span></a
|
||||
>
|
||||
<ul class="list-inline lang-list">
|
||||
<li class="cms39_language_loop cms39_language_loop_li_el active">
|
||||
<a
|
||||
class="cms39_language_link_el active"
|
||||
title="Ελληνικά"
|
||||
href="https://www.antennaeurope.gr/el/tvguide.html"
|
||||
>Ελληνικά</a
|
||||
>
|
||||
</li>
|
||||
<li class="cms39_language_loop cms39_language_loop_li_en">
|
||||
<a
|
||||
class="cms39_language_link_en"
|
||||
title="English"
|
||||
href="https://www.antennaeurope.gr/en/tvguide.html"
|
||||
>English</a
|
||||
>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
<div id="collapseMenu" class="collapse">
|
||||
<form
|
||||
role="search"
|
||||
class="searchform"
|
||||
id="searchform"
|
||||
action="https://www.antennaeurope.gr/el/search.html"
|
||||
method="GET"
|
||||
>
|
||||
<div class="typeahead__container">
|
||||
<div class="typeahead__field">
|
||||
<span class="typeahead__query">
|
||||
<label for="searchform_q" class="hidden">εύρεση</label>
|
||||
<input
|
||||
class="js-typeahead searchformField form-control"
|
||||
type="search"
|
||||
autocomplete="off"
|
||||
placeholder="Αναζήτηση"
|
||||
value=""
|
||||
name="q"
|
||||
id="searchform_q"
|
||||
required
|
||||
/>
|
||||
</span>
|
||||
<span class="typeahead__button">
|
||||
<button type="submit" class="searchformSubmit btn btn-default" title="search site">
|
||||
<span class="typeahead__search-icon"></span>
|
||||
</button>
|
||||
</span>
|
||||
<input data-storage="false" type="hidden" name="date" value="2026-01-21" />
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<nav class="cms39-header-nav">
|
||||
<ul id="cms39-header-nav" class="cms39-navbar-nav ul-29">
|
||||
<li class="active">
|
||||
<a
|
||||
title="Πρόγραμμα"
|
||||
href="https://www.antennaeurope.gr/el/tvguide.html"
|
||||
class="active"
|
||||
>Πρόγραμμα</a
|
||||
>
|
||||
</li>
|
||||
<li class="">
|
||||
<a title="Εκπομπές" href="https://www.antennaeurope.gr/el/shows.html" class=""
|
||||
>Εκπομπές</a
|
||||
>
|
||||
</li>
|
||||
<li class="">
|
||||
<a title="Συνδεθείτε " href="https://www.antennaeurope.gr/el/connect.html" class=""
|
||||
>Συνδεθείτε
|
||||
</a>
|
||||
</li>
|
||||
<li class="">
|
||||
<a title="Links" href="https://www.antennaeurope.gr/el/links.html" class="">Links</a>
|
||||
</li>
|
||||
<li class="">
|
||||
<a title="Επικοινωνία" href="https://www.antennaeurope.gr/el/contact.html" class=""
|
||||
>Επικοινωνία</a
|
||||
>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
<div class="site-social grid__cell-footer">
|
||||
<ul class="grid">
|
||||
<li>
|
||||
<a href="https://www.facebook.com/antenna.europe/" target="_blank">
|
||||
<span class="icon icon-facebook"
|
||||
><span class="screen-reader-text"><i class="fab fa-facebook-f"></i></span
|
||||
></span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="" target="_blank">
|
||||
<span class="icon icon-twitter"
|
||||
><span class="screen-reader-text"><i class="fab fa-twitter"></i></span
|
||||
></span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://www.instagram.com/antenna.europe/" target="_blank">
|
||||
<span class="icon icon-instagram"
|
||||
><span class="screen-reader-text"><i class="fab fa-instagram"></i></span
|
||||
></span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="" target="_blank">
|
||||
<span class="icon icon-youtube"
|
||||
><span class="screen-reader-text"><i class="fab fa-youtube"></i></span
|
||||
></span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
<!-- .site-social -->
|
||||
</div>
|
||||
<ul class="list-inline lang-list">
|
||||
<li class="cms39_language_loop cms39_language_loop_li_el active">
|
||||
<a
|
||||
class="cms39_language_link_el active"
|
||||
title="Ελληνικά"
|
||||
href="https://www.antennaeurope.gr/el/tvguide.html"
|
||||
>Ελληνικά</a
|
||||
>
|
||||
</li>
|
||||
<li class="cms39_language_loop cms39_language_loop_li_en">
|
||||
<a
|
||||
class="cms39_language_link_en"
|
||||
title="English"
|
||||
href="https://www.antennaeurope.gr/en/tvguide.html"
|
||||
>English</a
|
||||
>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="collapseSearch" class="collapse">
|
||||
<div class="inner">
|
||||
<div class="container-fluid">
|
||||
<form
|
||||
role="search"
|
||||
class="searchform"
|
||||
id="searchform"
|
||||
action="https://www.antennaeurope.gr/el/search.html"
|
||||
method="GET"
|
||||
>
|
||||
<div class="typeahead__container">
|
||||
<div class="typeahead__field">
|
||||
<span class="typeahead__query">
|
||||
<label for="searchform_q" class="hidden">εύρεση</label>
|
||||
<input
|
||||
class="js-typeahead searchformField form-control"
|
||||
type="search"
|
||||
autocomplete="off"
|
||||
placeholder="Αναζήτηση"
|
||||
value=""
|
||||
name="q"
|
||||
id="searchform_q"
|
||||
required
|
||||
/>
|
||||
</span>
|
||||
<span class="typeahead__button">
|
||||
<button
|
||||
type="submit"
|
||||
class="searchformSubmit btn btn-default"
|
||||
title="search site"
|
||||
>
|
||||
<span class="typeahead__search-icon"></span>
|
||||
</button>
|
||||
</span>
|
||||
<input data-storage="false" type="hidden" name="date" value="2026-01-21" />
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<div class="info">Άρχισε να πληκτρολογείς οτιδήποτε</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ant1col2">
|
||||
<div class="featuredContentContainer container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-12 col-sm-8">
|
||||
<article class="programme-container">
|
||||
<div id="programmeCalendar" class="calendar-horizontal">
|
||||
<div class="showCarousel owl-carousel">
|
||||
<div class="carousel-cell">
|
||||
<a
|
||||
title="view the program"
|
||||
href="https://www.antennaeurope.gr/el/tvguide.html?date=2025-01-16"
|
||||
>Πέμπτη <span>16/1</span></a
|
||||
>
|
||||
</div>
|
||||
<div class="carousel-cell">
|
||||
<a
|
||||
title="view the program"
|
||||
href="https://www.antennaeurope.gr/el/tvguide.html?date=2025-01-17"
|
||||
>Παρασκευή <span>17/1</span></a
|
||||
>
|
||||
</div>
|
||||
<div class="carousel-cell">
|
||||
<a
|
||||
title="view the program"
|
||||
href="https://www.antennaeurope.gr/el/tvguide.html?date=2025-01-18"
|
||||
>Σάββατο <span>18/1</span></a
|
||||
>
|
||||
</div>
|
||||
<div class="carousel-cell">
|
||||
<a
|
||||
title="view the program"
|
||||
href="https://www.antennaeurope.gr/el/tvguide.html?date=2025-01-19"
|
||||
>Κυριακή <span>19/1</span></a
|
||||
>
|
||||
</div>
|
||||
<div class="carousel-cell">
|
||||
<a
|
||||
title="view the program"
|
||||
href="https://www.antennaeurope.gr/el/tvguide.html?date=2025-01-20"
|
||||
>Δευτέρα <span>20/1</span></a
|
||||
>
|
||||
</div>
|
||||
<div class="carousel-cell">
|
||||
<a
|
||||
title="view the program"
|
||||
href="https://www.antennaeurope.gr/el/tvguide.html?date=2025-01-21"
|
||||
>Τρίτη <span>21/1</span></a
|
||||
>
|
||||
</div>
|
||||
<div class="carousel-cell">
|
||||
<a
|
||||
title="view the program"
|
||||
href="https://www.antennaeurope.gr/el/tvguide.html?date=2025-01-22"
|
||||
>Τετάρτη <span>22/1</span></a
|
||||
>
|
||||
</div>
|
||||
<div class="carousel-cell">
|
||||
<a
|
||||
title="view the program"
|
||||
href="https://www.antennaeurope.gr/el/tvguide.html?date=2025-01-23"
|
||||
>Πέμπτη <span>23/1</span></a
|
||||
>
|
||||
</div>
|
||||
<div class="carousel-cell">
|
||||
<a
|
||||
title="view the program"
|
||||
href="https://www.antennaeurope.gr/el/tvguide.html?date=2025-01-24"
|
||||
>Παρασκευή <span>24/1</span></a
|
||||
>
|
||||
</div>
|
||||
<div class="carousel-cell">
|
||||
<a
|
||||
title="view the program"
|
||||
href="https://www.antennaeurope.gr/el/tvguide.html?date=2025-01-25"
|
||||
>Σάββατο <span>25/1</span></a
|
||||
>
|
||||
</div>
|
||||
<div class="carousel-cell">
|
||||
<a
|
||||
title="view the program"
|
||||
href="https://www.antennaeurope.gr/el/tvguide.html?date=2025-01-26"
|
||||
>Κυριακή <span>26/1</span></a
|
||||
>
|
||||
</div>
|
||||
<div class="carousel-cell">
|
||||
<a
|
||||
title="view the program"
|
||||
href="https://www.antennaeurope.gr/el/tvguide.html?date=2025-01-27"
|
||||
>Δευτέρα <span>27/1</span></a
|
||||
>
|
||||
</div>
|
||||
<div class="carousel-cell">
|
||||
<a
|
||||
title="view the program"
|
||||
href="https://www.antennaeurope.gr/el/tvguide.html?date=2025-01-28"
|
||||
>Τρίτη <span>28/1</span></a
|
||||
>
|
||||
</div>
|
||||
<div class="carousel-cell">
|
||||
<a
|
||||
title="view the program"
|
||||
href="https://www.antennaeurope.gr/el/tvguide.html?date=2025-01-29"
|
||||
>Τετάρτη <span>29/1</span></a
|
||||
>
|
||||
</div>
|
||||
<div class="carousel-cell">
|
||||
<a
|
||||
title="view the program"
|
||||
href="https://www.antennaeurope.gr/el/tvguide.html?date=2025-01-30"
|
||||
>Πέμπτη <span>30/1</span></a
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="programmeContent" class="programme-content">
|
||||
<div class="row">
|
||||
<div class="day col-12 col-sm-2">
|
||||
<p>Τετάρτη<br />21/1</p>
|
||||
</div>
|
||||
<div class="shows col-12 col-sm-10 sentoni">
|
||||
<div id="earlierContainer" class="programme-earlier-container"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</article>
|
||||
</div>
|
||||
<div class="col-12 col-sm-4 sidebararea">
|
||||
<div class="banner-placeholder vertical light">
|
||||
<ins
|
||||
data-revive-zoneid="8"
|
||||
data-revive-target="_blank"
|
||||
data-revive-ct0="80535266"
|
||||
data-revive-block="1"
|
||||
data-revive-blockcampaign="1"
|
||||
data-revive-id="30a34a2302634ff5d170d39f518891d2"
|
||||
></ins>
|
||||
<script async src="//dfp.cdl.gr/www/delivery/asyncjs.php"></script>
|
||||
<div class="banner2">
|
||||
<ins
|
||||
data-revive-zoneid="8"
|
||||
data-revive-target="_blank"
|
||||
data-revive-ct0="83289214"
|
||||
data-revive-block="1"
|
||||
data-revive-blockcampaign="1"
|
||||
data-revive-id="30a34a2302634ff5d170d39f518891d2"
|
||||
></ins>
|
||||
<script async src="//dfp.cdl.gr/www/delivery/asyncjs.php"></script>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sidebararea-promo"><h1 class="h1">Δες επίσης</h1></div>
|
||||
<div class="sidebararea-promo"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="new-episodes">
|
||||
<h1 class="h1">Νέο Πρόγραμμα</h1>
|
||||
<div id="footerFshows" class="owl-carousel owl-theme">
|
||||
<div class="show">
|
||||
<div class="inner">
|
||||
<img
|
||||
alt="ΥΓΕΙΑ ΠΑΝΩ ΑΠ’ ΟΛΑ"
|
||||
src="https://www.antennaeurope.gr/media/upload-files/cache/42a/42a69c6936c865b6cb1555da86b8101f_ygeiapanwapolaprogramma.jpg"
|
||||
/>
|
||||
<div class="content">
|
||||
<h2>ΥΓΕΙΑ ΠΑΝΩ ΑΠ’ ΟΛΑ</h2>
|
||||
<p class="excerpt">
|
||||
Το «Υγεία πάνω απ’ όλα» με τη Φωτεινή Γεωργίου, συνεχίζει για 13η χρονιά!
|
||||
</p>
|
||||
<a
|
||||
title="ΥΓΕΙΑ ΠΑΝΩ ΑΠ’ ΟΛΑ"
|
||||
class="more"
|
||||
href="https://www.antennaeurope.gr/el/igia-pano-ap’-ola.html"
|
||||
>Δες περισσότερα</a
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="show">
|
||||
<div class="inner">
|
||||
<img
|
||||
alt="ΡΟΥΚ ΖΟΥΚ"
|
||||
src="https://www.antennaeurope.gr/media/upload-files/cache/7dc/7dcad32b0490fd5e2f4eb944fdd13d4c_roukzoukprogramma.jpg"
|
||||
/>
|
||||
<div class="content">
|
||||
<h2>ΡΟΥΚ ΖΟΥΚ</h2>
|
||||
<p class="excerpt">
|
||||
Το «Rouk Zouk» για 6η χρονιά με την απολαυστική Ζέτα Μακρυπούλια στα «decks» του
|
||||
αγαπημένου παιχνιδιού!
|
||||
</p>
|
||||
<a
|
||||
title="ΡΟΥΚ ΖΟΥΚ"
|
||||
class="more"
|
||||
href="https://www.antennaeurope.gr/el/rouk-zouk.html"
|
||||
>Δες περισσότερα</a
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="show">
|
||||
<div class="inner">
|
||||
<img
|
||||
alt="ΡΑΔΙΟ ΑΡΒΥΛΑ"
|
||||
src="https://www.antennaeurope.gr/media/upload-files/cache/356/356e9b3db418c002aa7bb59095c2887d_radioarvylaprogramma.jpg"
|
||||
/>
|
||||
<div class="content">
|
||||
<h2>ΡΑΔΙΟ ΑΡΒΥΛΑ</h2>
|
||||
<p class="excerpt">
|
||||
Όλοι οι τηλεοπτικοί δρόμοι οδηγούν στην καυστική σάτιρα και στους μοναδικούς
|
||||
«Ράδιο Αρβύλα» για 18η χρονιά!
|
||||
</p>
|
||||
<a
|
||||
title="ΡΑΔΙΟ ΑΡΒΥΛΑ"
|
||||
class="more"
|
||||
href="https://www.antennaeurope.gr/el/radio-arvila.html"
|
||||
>Δες περισσότερα</a
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="show">
|
||||
<div class="inner">
|
||||
<img
|
||||
alt=" THE 2NIGHT SHOW"
|
||||
src="https://www.antennaeurope.gr/media/upload-files/cache/f30/f3041bf52188897fbb8a57509f5a1207_2nightshowprogramma.jpg"
|
||||
/>
|
||||
<div class="content">
|
||||
<h2>THE 2NIGHT SHOW</h2>
|
||||
<p class="excerpt">
|
||||
Οι πιο ενδιαφέρουσες νυχτερινές εξομολογήσεις με τον Γρηγόρη Αρναούτογλου!
|
||||
</p>
|
||||
<a
|
||||
title=" THE 2NIGHT SHOW"
|
||||
class="more"
|
||||
href="https://www.antennaeurope.gr/el/the-2night-show.html"
|
||||
>Δες περισσότερα</a
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="show">
|
||||
<div class="inner">
|
||||
<img
|
||||
alt="THE REUNION"
|
||||
src="https://www.antennaeurope.gr/media/upload-files/cache/7f5/7f5502d928d0d36f21be192aa53f062e_thereunionprogramma.jpg"
|
||||
/>
|
||||
<div class="content">
|
||||
<h2>THE REUNION</h2>
|
||||
<p class="excerpt">
|
||||
Πριν από 10 χρόνια, δύο φίλοι, ο Σάκης Τανιμανίδης και ο Γιώργος Μαυρίδης,
|
||||
ξεκίνησαν ένα ταξίδι που άλλαξε τη ζωή τους για πάντα. Σήμερα, ένας πατέρας,
|
||||
πλέον, και ένας
|
||||
</p>
|
||||
<a
|
||||
title="THE REUNION"
|
||||
class="more"
|
||||
href="https://www.antennaeurope.gr/el/the-reunion.html"
|
||||
>Δες περισσότερα</a
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<footer>
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-12 col-sm-8 foot_1">
|
||||
<h2>Εγγραφή στο ενημερωτικό δελτίο</h2>
|
||||
<form action="#" id="subscribeform" name="newsletter" method="post">
|
||||
<label for="newsletterEmail" class="screen-reader-text">Το email σου</label>
|
||||
<input
|
||||
id="newsletterEmail"
|
||||
type="email"
|
||||
name="email"
|
||||
placeholder="Το email σου"
|
||||
required
|
||||
/>
|
||||
<input type="submit" name="submit" value="Εγγραφή" />
|
||||
<input type="hidden" name="__mail_required" value="email" />
|
||||
<input type="hidden" name="__mail_subject" value="Antenna Europe Newsletter form" />
|
||||
<input
|
||||
type="hidden"
|
||||
name="__mail_success"
|
||||
value="Thank you and welcome to our Newsletter Service!"
|
||||
/>
|
||||
<input
|
||||
type="hidden"
|
||||
name="url"
|
||||
value="https://www.antennaeurope.gr/el/tvguide.html?date=2026-01-21"
|
||||
/>
|
||||
<input type="hidden" name="datetime" value="2025-01-17 00:34:36" />
|
||||
<div id="subscribeformMSG"></div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="col-12 col-sm-4 foot_2">
|
||||
<h2>Ακολουθήστε μας</h2>
|
||||
<ul class="site-social grid">
|
||||
<li>
|
||||
<a href="https://www.facebook.com/antenna.europe/" target="_blank">
|
||||
<span class="icon icon-facebook">
|
||||
<span class="screen-reader-text"><i class="fab fa-facebook-f"></i></span>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://www.instagram.com/antenna.europe/" target="_blank">
|
||||
<span class="icon icon-instagram">
|
||||
<span class="screen-reader-text"><i class="fab fa-instagram"></i></span>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
<nav class="cms39-footer-nav">
|
||||
<ul id="cms39-footer-nav" class="cms39-footer-nav ul-106">
|
||||
<li class="">
|
||||
<a
|
||||
title="Επικοινωνία"
|
||||
href="https://www.antennaeurope.gr/el/contact.html"
|
||||
class=""
|
||||
>Επικοινωνία</a
|
||||
>
|
||||
</li>
|
||||
<li class="">
|
||||
<a
|
||||
title="Συνδεθείτε "
|
||||
href="https://www.antennaeurope.gr/el/connect.html"
|
||||
class=""
|
||||
>Συνδεθείτε
|
||||
</a>
|
||||
</li>
|
||||
<li class="">
|
||||
<a
|
||||
title="Εργασία"
|
||||
href="https://www.antennaeurope.gr/el/workwithus.html"
|
||||
class=""
|
||||
>Εργασία</a
|
||||
>
|
||||
</li>
|
||||
<li class="">
|
||||
<a
|
||||
title="Διαφημιστείτε"
|
||||
href="https://www.antennaeurope.gr/el/advertise.html"
|
||||
class=""
|
||||
>Διαφημιστείτε</a
|
||||
>
|
||||
</li>
|
||||
<li class="">
|
||||
<a title="Για εμάς" href="https://www.antennaeurope.gr/el/about.html" class=""
|
||||
>Για εμάς</a
|
||||
>
|
||||
</li>
|
||||
<li class="">
|
||||
<a title="Links" href="https://www.antennaeurope.gr/el/links.html" class=""
|
||||
>Links</a
|
||||
>
|
||||
</li>
|
||||
<li class="">
|
||||
<a
|
||||
title="Όροι χρήσης"
|
||||
href="https://www.antennaeurope.gr/el/terms.html"
|
||||
class=""
|
||||
>Όροι χρήσης</a
|
||||
>
|
||||
</li>
|
||||
<li class="">
|
||||
<a title="FAQ" href="https://www.antennaeurope.gr/el/faq.html" class="">FAQ</a>
|
||||
</li>
|
||||
<li class="">
|
||||
<a
|
||||
title="Δελτία Τύπου"
|
||||
href="https://www.antennaeurope.gr/el/press.html"
|
||||
class=""
|
||||
>Δελτία Τύπου</a
|
||||
>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
<div class="col-12 foot_3 text-dark text-theme-copyright">
|
||||
© 2025 ANT1 TV | 2025-01-17 00:34:36
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
<div class="copyright text-center">
|
||||
<div id="cdl" style="display: inline-block">
|
||||
<span style="width: 49px; height: 43px; overflow: hidden; display: block">
|
||||
<a
|
||||
rel="external"
|
||||
style="display: block; margin: 0px"
|
||||
target="_blank"
|
||||
title="Array"
|
||||
href="https://www.cdl.gr"
|
||||
>
|
||||
<img
|
||||
width="49"
|
||||
height="43"
|
||||
alt="Array"
|
||||
src="https://www.cdl.gr/media/upload-files/cdl-logo-white.png"
|
||||
/>
|
||||
</a>
|
||||
<a
|
||||
rel="external"
|
||||
style="visibility: hidden; display: none margin: 0px;"
|
||||
title="Θέλεις κονκάρδες από το αγαπημένο σου συγκρότημα, κονκάρδες για το bachelor σου, κονκάρδες για τους καλεσμένους σου, κονκάρδες για το party των παιδιών σου, κονκάρδες για την προώθηση της επιχειρησης σου; Τα πάντα για κονκάρδες μόνο στο concarda.com"
|
||||
href="http://www.concarda.com"
|
||||
target="_blank"
|
||||
>για κονκάρδες μόνο στο concarda.com</a
|
||||
>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- created by https://www.cdl.gr Creative Studio, κατασκευή ιστοσελίδων, ιστοσελίδες, digital agency. -->
|
||||
<script type="text/javascript">
|
||||
var search_autocomplete_template = '<span>{{title}}</span>'
|
||||
var search_autocomplete_limit = '10'
|
||||
var search_autocomplete_minLength = '3'
|
||||
var search_autocomplete_emptyTemplate = 'No results found for {{query}}'
|
||||
</script>
|
||||
<script
|
||||
type="text/javascript"
|
||||
src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js"
|
||||
></script>
|
||||
<script
|
||||
type="text/javascript"
|
||||
src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"
|
||||
></script>
|
||||
<script
|
||||
type="text/javascript"
|
||||
src="https://cdn.jsdelivr.net/npm/block-ui@2.70.1/jquery.blockUI.min.js"
|
||||
></script>
|
||||
<script
|
||||
type="text/javascript"
|
||||
src="https://cdn.jsdelivr.net/npm/owl.carousel@2.2.0/dist/owl.carousel.min.js"
|
||||
></script>
|
||||
<script
|
||||
type="text/javascript"
|
||||
src="https://use.fontawesome.com/releases/v5.0.8/js/all.js"
|
||||
></script>
|
||||
<script
|
||||
type="text/javascript"
|
||||
src="https://cdn.jsdelivr.net/npm/jquery-form@4.2.2/dist/jquery.form.min.js"
|
||||
></script>
|
||||
<script
|
||||
type="text/javascript"
|
||||
src="https://www.antennaeurope.gr/themes/default/js/plugins.js"
|
||||
></script>
|
||||
<script
|
||||
type="text/javascript"
|
||||
src="https://www.antennaeurope.gr/themes/default/js/app.js?sha=b0deb72809b9bb08cdd172c16fb29669"
|
||||
></script>
|
||||
<script
|
||||
async
|
||||
defer
|
||||
type="text/javascript"
|
||||
src="https://cdn.jsdelivr.net/npm/jquery-typeahead@2.11.1/dist/jquery.typeahead.min.js"
|
||||
></script>
|
||||
<script
|
||||
async
|
||||
defer
|
||||
type="text/javascript"
|
||||
src="https://www.antennaeurope.gr/plugins/cms39_search/cms39_search.js?v=4.5"
|
||||
></script>
|
||||
</body>
|
||||
</html>
|
4
sites/antennaeurope.gr/antennaeurope.gr.channels.xml
Normal file
4
sites/antennaeurope.gr/antennaeurope.gr.channels.xml
Normal file
|
@ -0,0 +1,4 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<channels>
|
||||
<channel site="antennaeurope.gr" lang="el" xmltv_id="ANT1Europe.gr" site_id="#">ANT1 Europe</channel>
|
||||
</channels>
|
59
sites/antennaeurope.gr/antennaeurope.gr.config.js
Normal file
59
sites/antennaeurope.gr/antennaeurope.gr.config.js
Normal file
|
@ -0,0 +1,59 @@
|
|||
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: 'antennaeurope.gr',
|
||||
days: 2,
|
||||
url({ date }) {
|
||||
return `https://www.antennaeurope.gr/el/tvguide.html?date=${date.format('YYYY-MM-DD')}`
|
||||
},
|
||||
parser({ content, date }) {
|
||||
const programs = []
|
||||
const items = parseItems(content, date)
|
||||
items.forEach(item => {
|
||||
const $item = cheerio.load(item)
|
||||
const prev = programs[programs.length - 1]
|
||||
let start = parseStart($item, date)
|
||||
if (prev) {
|
||||
if (start.isBefore(prev.start)) {
|
||||
start = start.add(1, 'd')
|
||||
date = date.add(1, 'd')
|
||||
}
|
||||
prev.stop = start
|
||||
}
|
||||
const stop = start.add(30, 'm')
|
||||
programs.push({
|
||||
title: parseTitle($item),
|
||||
start,
|
||||
stop
|
||||
})
|
||||
})
|
||||
|
||||
return programs
|
||||
}
|
||||
}
|
||||
|
||||
function parseTitle($item) {
|
||||
return $item('.title').text().trim()
|
||||
}
|
||||
|
||||
function parseStart($item, date) {
|
||||
const time = $item('dt.col-time').clone().children().remove().end().text().trim()
|
||||
|
||||
return time
|
||||
? dayjs.tz(`${date.format('YYYY-MM-DD')} ${time}`, 'YYYY-MM-DD HH:mm', 'Europe/Athens')
|
||||
: null
|
||||
}
|
||||
|
||||
function parseItems(content) {
|
||||
const $ = cheerio.load(content)
|
||||
|
||||
return $('dl.show').toArray()
|
||||
}
|
46
sites/antennaeurope.gr/antennaeurope.gr.test.js
Normal file
46
sites/antennaeurope.gr/antennaeurope.gr.test.js
Normal file
|
@ -0,0 +1,46 @@
|
|||
const { parser, url } = require('./antennaeurope.gr.config.js')
|
||||
const fs = require('fs')
|
||||
const path = require('path')
|
||||
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('2025-01-21', 'YYYY-MM-DD').startOf('d')
|
||||
|
||||
it('can generate valid url', () => {
|
||||
expect(url({ date })).toBe('https://www.antennaeurope.gr/el/tvguide.html?date=2025-01-21')
|
||||
})
|
||||
|
||||
it('can parse response', () => {
|
||||
const content = fs.readFileSync(path.resolve(__dirname, '__data__/content.html'), 'utf8')
|
||||
let results = parser({ content, date })
|
||||
results = results.map(p => {
|
||||
p.start = p.start.toJSON()
|
||||
p.stop = p.stop.toJSON()
|
||||
return p
|
||||
})
|
||||
|
||||
expect(results.length).toBe(16)
|
||||
|
||||
expect(results[0]).toMatchObject({
|
||||
start: '2025-01-21T03:45:00.000Z',
|
||||
stop: '2025-01-21T07:50:00.000Z',
|
||||
title: 'ΚΑΛΗΜΕΡΑ ΕΛΛΑΔΑ'
|
||||
})
|
||||
|
||||
expect(results[15]).toMatchObject({
|
||||
start: '2025-01-22T01:30:00.000Z',
|
||||
stop: '2025-01-22T02:00:00.000Z',
|
||||
title: 'ΤΟ ΠΡΩΙΝΟ'
|
||||
})
|
||||
})
|
||||
|
||||
it('can handle empty guide', () => {
|
||||
const results = parser({
|
||||
date,
|
||||
content: fs.readFileSync(path.resolve(__dirname, '__data__/no_content.html'), 'utf8')
|
||||
})
|
||||
expect(results).toMatchObject([])
|
||||
})
|
15
sites/antennaeurope.gr/readme.md
Normal file
15
sites/antennaeurope.gr/readme.md
Normal file
|
@ -0,0 +1,15 @@
|
|||
# antennaeurope.gr
|
||||
|
||||
https://www.antennaeurope.gr/el/tvguide.html
|
||||
|
||||
### Download the guide
|
||||
|
||||
```sh
|
||||
npm run grab --- --site=antennaeurope.gr
|
||||
```
|
||||
|
||||
### Test
|
||||
|
||||
```sh
|
||||
npm test --- antennaeurope.gr
|
||||
```
|
1078
sites/antennapacific.gr/__data__/content.html
Normal file
1078
sites/antennapacific.gr/__data__/content.html
Normal file
File diff suppressed because it is too large
Load diff
916
sites/antennapacific.gr/__data__/no_content.html
Normal file
916
sites/antennapacific.gr/__data__/no_content.html
Normal file
|
@ -0,0 +1,916 @@
|
|||
<!doctype html>
|
||||
<!--[if IE 7]>
|
||||
<html class="ie7" lang="el"> <![endif]-->
|
||||
<!--[if IE 8]>
|
||||
<html class="ie8" lang="el"> <![endif]-->
|
||||
<!--[if IE 9]>
|
||||
<html class="ie9" lang="el"> <![endif]-->
|
||||
<!--[if !IE]><!-->
|
||||
<html lang="el" itemscope itemtype="http://schema.org/WebPage">
|
||||
<!--<![endif]-->
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta
|
||||
name="viewport"
|
||||
content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"
|
||||
/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" lang="el" />
|
||||
<meta http-equiv="content-language" content="el-gr" />
|
||||
<title>Πρόγραμμα</title>
|
||||
<meta name="description" content="cms39" />
|
||||
<meta name="keywords" content="" />
|
||||
|
||||
<meta name="ROBOTS" content="INDEX, FOLLOW" />
|
||||
<link
|
||||
rel="search"
|
||||
type="application/opensearchdescription+xml"
|
||||
href="https://www.antennapacific.gr/opensearch.php"
|
||||
title="Website search"
|
||||
/>
|
||||
<link href="" rel="publisher" />
|
||||
<meta http-equiv="Cache-control" content="public" />
|
||||
<meta http-equiv="Cache-control" content="max-age=86400" />
|
||||
<meta name="designer" content="www.cdl.gr" />
|
||||
<meta name="generator" content="CMS39 FRAMEWORK v8.9.9.1" />
|
||||
<meta name="copyright" content="antennapacific.gr" />
|
||||
<link rel="alternate" hreflang="el" href="https://www.antennapacific.gr/el/tvguide.html" />
|
||||
<link rel="alternate" hreflang="en" href="https://www.antennapacific.gr/en/tvguide.html" />
|
||||
|
||||
<meta property="fb:app_id" content="966242223397117" />
|
||||
<meta property="og:locale" content="el" />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta
|
||||
property="og:url"
|
||||
content="https://www.antennapacific.gr/el/tvguide.html?date=2026-01-21"
|
||||
/>
|
||||
<meta property="og:site_name" content="antennapacific.gr" />
|
||||
<meta property="og:title" content="Πρόγραμμα" />
|
||||
<meta property="og:description" content="cms39" />
|
||||
<meta
|
||||
property="og:image"
|
||||
content="https://www.antennapacific.gr/media/upload-files/cache/646/6461bfb90f8f41ad34e74a3396e1edfa_pacificlogo.jpg"
|
||||
/>
|
||||
<meta property="og:image:width" content="1200" />
|
||||
<meta property="og:image:height" content="630" />
|
||||
<script type="text/javascript">
|
||||
var Durl = 'https://www.antennapacific.gr/el'
|
||||
var Turl = 'https://www.antennapacific.gr/themes/default'
|
||||
var url = 'https://www.antennapacific.gr'
|
||||
var Aurl = 'https://www.antennapacific.gr/administrator/cp_ajax?f='
|
||||
var lang = 'el'
|
||||
var lang_symbol = 'el'
|
||||
var siteName = 'antennapacific.gr'
|
||||
var siteV = '5.7.4'
|
||||
var Purl = 'https://www.antennapacific.gr/public/plugins'
|
||||
</script>
|
||||
<link
|
||||
rel="alternate"
|
||||
type="application/rss+xml"
|
||||
title="antennapacific.gr Feed"
|
||||
href="https://www.antennapacific.gr/rss.php"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-icon"
|
||||
sizes="57x57"
|
||||
href="https://www.antennapacific.gr/themes/default/img/ico/apple-icon-57x57.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-icon"
|
||||
sizes="60x60"
|
||||
href="https://www.antennapacific.gr/themes/default/img/ico/apple-icon-60x60.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-icon"
|
||||
sizes="72x72"
|
||||
href="https://www.antennapacific.gr/themes/default/img/ico/apple-icon-72x72.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-icon"
|
||||
sizes="76x76"
|
||||
href="https://www.antennapacific.gr/themes/default/img/ico/apple-icon-76x76.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-icon"
|
||||
sizes="114x114"
|
||||
href="https://www.antennapacific.gr/themes/default/img/ico/apple-icon-114x114.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-icon"
|
||||
sizes="120x120"
|
||||
href="https://www.antennapacific.gr/themes/default/img/ico/apple-icon-120x120.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-icon"
|
||||
sizes="144x144"
|
||||
href="https://www.antennapacific.gr/themes/default/img/ico/apple-icon-144x144.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-icon"
|
||||
sizes="152x152"
|
||||
href="https://www.antennapacific.gr/themes/default/img/ico/apple-icon-152x152.png"
|
||||
/>
|
||||
<link
|
||||
rel="apple-touch-icon"
|
||||
sizes="180x180"
|
||||
href="https://www.antennapacific.gr/themes/default/img/ico/apple-icon-180x180.png"
|
||||
/>
|
||||
<link
|
||||
rel="icon"
|
||||
type="image/png"
|
||||
sizes="192x192"
|
||||
href="https://www.antennapacific.gr/themes/default/img/ico/android-icon-192x192.png"
|
||||
/>
|
||||
<link
|
||||
rel="icon"
|
||||
type="image/png"
|
||||
sizes="32x32"
|
||||
href="https://www.antennapacific.gr/themes/default/img/ico/favicon-32x32.png"
|
||||
/>
|
||||
<link
|
||||
rel="icon"
|
||||
type="image/png"
|
||||
sizes="96x96"
|
||||
href="https://www.antennapacific.gr/themes/default/img/ico/favicon-96x96.png"
|
||||
/>
|
||||
<link
|
||||
rel="icon"
|
||||
type="image/png"
|
||||
sizes="16x16"
|
||||
href="https://www.antennapacific.gr/themes/default/img/ico/favicon-16x16.png"
|
||||
/>
|
||||
<link rel="manifest" href="https://www.antennapacific.gr/themes/default/manifest.json" />
|
||||
<meta
|
||||
name="msapplication-TileImage"
|
||||
content="https://www.antennapacific.gr/themes/default/img/ico/ms-icon-144x144.png"
|
||||
/>
|
||||
<meta name="theme-color" content="#000000" />
|
||||
<meta name="msapplication-navbutton-color" content="#000000" />
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="#000000" />
|
||||
<script type="text/javascript">
|
||||
var contact_url = 'https://www.antennapacific.gr'
|
||||
var contact_field_message_min = '20'
|
||||
var contact_field_message_max = '100'
|
||||
var contact_lang = 'el'
|
||||
</script>
|
||||
<link
|
||||
rel="stylesheet"
|
||||
href="https://cdn.jsdelivr.net/npm/owl.carousel@2.2.0/dist/assets/owl.carousel.min.css"
|
||||
/>
|
||||
<link
|
||||
rel="stylesheet"
|
||||
href="https://cdn.jsdelivr.net/npm/owl.carousel@2.2.0/dist/assets/owl.theme.default.min.css"
|
||||
/>
|
||||
<link
|
||||
rel="stylesheet"
|
||||
href="https://cdn.jsdelivr.net/npm/jquery-typeahead@2.11.1/dist/jquery.typeahead.min.css"
|
||||
/>
|
||||
<link
|
||||
rel="stylesheet"
|
||||
href="https://www.antennapacific.gr/plugins/cms39_search/cms39_search.css?v=4.5"
|
||||
/>
|
||||
<link rel="stylesheet" href="https://www.antennapacific.gr/plugins/contactform/contact.css" />
|
||||
<script type="text/javascript" src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
|
||||
<!-- Global site tag (gtag.js) - Google Analytics -->
|
||||
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-118766183-1"></script>
|
||||
<script>
|
||||
window.dataLayer = window.dataLayer || []
|
||||
function gtag() {
|
||||
dataLayer.push(arguments)
|
||||
}
|
||||
gtag('js', new Date())
|
||||
gtag('config', 'UA-118766183-1')
|
||||
</script>
|
||||
<link
|
||||
rel="stylesheet"
|
||||
type="text/css"
|
||||
href="https://www.antennapacific.gr/themes/default/style.css?version=5.7.4"
|
||||
/>
|
||||
<!--[if lt IE 9]>
|
||||
<script src="//cdn.jsdelivr.net/html5shiv/3.7.2/html5shiv-printshiv.min.js"></script>
|
||||
<script src="//cdn.jsdelivr.net/respond/1.4.2/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
<!-- Google tag (gtag.js) -->
|
||||
<script async src="https://www.googletagmanager.com/gtag/js?id=AW-16697709160"></script>
|
||||
<script>
|
||||
window.dataLayer = window.dataLayer || []
|
||||
function gtag() {
|
||||
dataLayer.push(arguments)
|
||||
}
|
||||
gtag('js', new Date())
|
||||
gtag('config', 'AW-16697709160')
|
||||
</script>
|
||||
</head>
|
||||
<body class="el css_100 css_tvguide css_0 css_page css_page css_root_100 desktop">
|
||||
<div class="masterWraper">
|
||||
<header>
|
||||
<div class="container-fluid">
|
||||
<a
|
||||
class="logo"
|
||||
href="https://www.antennapacific.gr/el/home.html"
|
||||
title="antennapacific.gr"
|
||||
><img
|
||||
alt="logo antennapacific.gr"
|
||||
src="https://www.antennapacific.gr/themes/default/img/pac.svg"
|
||||
/></a>
|
||||
|
||||
<div class="colarea1">
|
||||
<div class="col1inner">
|
||||
<div class="text-right colmenu">
|
||||
<button
|
||||
class="menu-toggle"
|
||||
data-toggle="collapse"
|
||||
data-target="#collapseMenu"
|
||||
aria-expanded="false"
|
||||
aria-controls="collapseMenu"
|
||||
>
|
||||
<span class="menu-icon">
|
||||
<span class="first"></span>
|
||||
<span class="second"></span>
|
||||
<span class="third"></span>
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="col-sitesearch text-left">
|
||||
<div
|
||||
class="site-search grid__col-auto grid--justify-center grid--align-center visible__sm"
|
||||
>
|
||||
<button
|
||||
class="search-btn"
|
||||
data-toggle="collapse"
|
||||
data-target="#collapseSearch"
|
||||
aria-expanded="false"
|
||||
aria-controls="collapseSearch"
|
||||
>
|
||||
<i class="fa fa-search" aria-hidden="true"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="colarea2">
|
||||
<ul class="list-inline"></ul>
|
||||
</div>
|
||||
<div class="colarea3 col-live-now text-right">
|
||||
<a
|
||||
class="playnow"
|
||||
title="more information"
|
||||
data-bid="8136"
|
||||
data-dum="273743"
|
||||
href="https://www.antennapacific.gr/el/to-proino.html"
|
||||
><span class="highlight">Παίζει τώρα</span>ΤΟ ΠΡΩΙΝΟ</a
|
||||
>
|
||||
<ul class="list-inline lang-list">
|
||||
<li class="cms39_language_loop cms39_language_loop_li_el active">
|
||||
<a
|
||||
class="cms39_language_link_el active"
|
||||
title="Ελληνικά"
|
||||
href="https://www.antennapacific.gr/el/tvguide.html"
|
||||
>Ελληνικά</a
|
||||
>
|
||||
</li>
|
||||
<li class="cms39_language_loop cms39_language_loop_li_en">
|
||||
<a
|
||||
class="cms39_language_link_en"
|
||||
title="English"
|
||||
href="https://www.antennapacific.gr/en/tvguide.html"
|
||||
>English</a
|
||||
>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<div id="collapseMenu" class="collapse">
|
||||
<form
|
||||
role="search"
|
||||
class="searchform"
|
||||
id="searchform"
|
||||
action="https://www.antennapacific.gr/el/search.html"
|
||||
method="GET"
|
||||
>
|
||||
<div class="typeahead__container">
|
||||
<div class="typeahead__field">
|
||||
<span class="typeahead__query">
|
||||
<label for="searchform_q" class="hidden">εύρεση</label>
|
||||
<input
|
||||
class="js-typeahead searchformField form-control"
|
||||
type="search"
|
||||
autocomplete="off"
|
||||
placeholder="Αναζήτηση"
|
||||
value=""
|
||||
name="q"
|
||||
id="searchform_q"
|
||||
required
|
||||
/>
|
||||
</span>
|
||||
<span class="typeahead__button">
|
||||
<button type="submit" class="searchformSubmit btn btn-default" title="search site">
|
||||
<span class="typeahead__search-icon"></span>
|
||||
</button>
|
||||
</span>
|
||||
<input data-storage="false" type="hidden" name="date" value="2026-01-21" />
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<nav class="cms39-header-nav">
|
||||
<ul id="cms39-header-nav" class="cms39-navbar-nav ul-29">
|
||||
<li class="active">
|
||||
<a
|
||||
title="Πρόγραμμα"
|
||||
href="https://www.antennapacific.gr/el/tvguide.html"
|
||||
class="active"
|
||||
>Πρόγραμμα</a
|
||||
>
|
||||
</li>
|
||||
<li class="">
|
||||
<a title="Εκπομπές" href="https://www.antennapacific.gr/el/shows.html" class=""
|
||||
>Εκπομπές</a
|
||||
>
|
||||
</li>
|
||||
<li class="">
|
||||
<a title="Αθλητικά" href="https://www.antennapacific.gr/el/sports.html" class=""
|
||||
>Αθλητικά</a
|
||||
>
|
||||
</li>
|
||||
<li class="">
|
||||
<a title="Συνδεθείτε " href="https://www.antennapacific.gr/el/connect.html" class=""
|
||||
>Συνδεθείτε
|
||||
</a>
|
||||
</li>
|
||||
<li class="">
|
||||
<a title="Links" href="https://www.antennapacific.gr/el/links.html" class="">Links</a>
|
||||
</li>
|
||||
<li class="">
|
||||
<a title="Επικοινωνία" href="https://www.antennapacific.gr/el/contact.html" class=""
|
||||
>Επικοινωνία</a
|
||||
>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
<div class="site-social grid__cell-footer">
|
||||
<ul class="grid">
|
||||
<li>
|
||||
<a href="https://www.facebook.com/antenna.pacific/" target="_blank">
|
||||
<span class="icon icon-facebook"
|
||||
><span class="screen-reader-text"><i class="fab fa-facebook-f"></i></span
|
||||
></span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="" target="_blank">
|
||||
<span class="icon icon-twitter"
|
||||
><span class="screen-reader-text"><i class="fab fa-twitter"></i></span
|
||||
></span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://www.instagram.com/antenna_pacific/" target="_blank">
|
||||
<span class="icon icon-instagram"
|
||||
><span class="screen-reader-text"><i class="fab fa-instagram"></i></span
|
||||
></span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="" target="_blank">
|
||||
<span class="icon icon-youtube"
|
||||
><span class="screen-reader-text"><i class="fab fa-youtube"></i></span
|
||||
></span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
<!-- .site-social -->
|
||||
</div>
|
||||
<ul class="list-inline lang-list">
|
||||
<li class="cms39_language_loop cms39_language_loop_li_el active">
|
||||
<a
|
||||
class="cms39_language_link_el active"
|
||||
title="Ελληνικά"
|
||||
href="https://www.antennapacific.gr/el/tvguide.html"
|
||||
>Ελληνικά</a
|
||||
>
|
||||
</li>
|
||||
<li class="cms39_language_loop cms39_language_loop_li_en">
|
||||
<a
|
||||
class="cms39_language_link_en"
|
||||
title="English"
|
||||
href="https://www.antennapacific.gr/en/tvguide.html"
|
||||
>English</a
|
||||
>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="collapseSearch" class="collapse">
|
||||
<div class="inner">
|
||||
<div class="container-fluid">
|
||||
<form
|
||||
role="search"
|
||||
class="searchform"
|
||||
id="searchform"
|
||||
action="https://www.antennapacific.gr/el/search.html"
|
||||
method="GET"
|
||||
>
|
||||
<div class="typeahead__container">
|
||||
<div class="typeahead__field">
|
||||
<span class="typeahead__query">
|
||||
<label for="searchform_q" class="hidden">εύρεση</label>
|
||||
<input
|
||||
class="js-typeahead searchformField form-control"
|
||||
type="search"
|
||||
autocomplete="off"
|
||||
placeholder="Αναζήτηση"
|
||||
value=""
|
||||
name="q"
|
||||
id="searchform_q"
|
||||
required
|
||||
/>
|
||||
</span>
|
||||
<span class="typeahead__button">
|
||||
<button
|
||||
type="submit"
|
||||
class="searchformSubmit btn btn-default"
|
||||
title="search site"
|
||||
>
|
||||
<span class="typeahead__search-icon"></span>
|
||||
</button>
|
||||
</span>
|
||||
<input data-storage="false" type="hidden" name="date" value="2026-01-21" />
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<div class="info">Άρχισε να πληκτρολογείς οτιδήποτε</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ant1col2">
|
||||
<div class="featuredContentContainer container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-12 col-sm-8">
|
||||
<article class="programme-container">
|
||||
<div id="programmeCalendar" class="calendar-horizontal">
|
||||
<div class="showCarousel owl-carousel">
|
||||
<div class="carousel-cell">
|
||||
<a
|
||||
title="view the program"
|
||||
href="https://www.antennapacific.gr/el/tvguide.html?date=2025-01-17"
|
||||
>Παρασκευή <span>17/1</span></a
|
||||
>
|
||||
</div>
|
||||
<div class="carousel-cell">
|
||||
<a
|
||||
title="view the program"
|
||||
href="https://www.antennapacific.gr/el/tvguide.html?date=2025-01-18"
|
||||
>Σάββατο <span>18/1</span></a
|
||||
>
|
||||
</div>
|
||||
<div class="carousel-cell">
|
||||
<a
|
||||
title="view the program"
|
||||
href="https://www.antennapacific.gr/el/tvguide.html?date=2025-01-19"
|
||||
>Κυριακή <span>19/1</span></a
|
||||
>
|
||||
</div>
|
||||
<div class="carousel-cell">
|
||||
<a
|
||||
title="view the program"
|
||||
href="https://www.antennapacific.gr/el/tvguide.html?date=2025-01-20"
|
||||
>Δευτέρα <span>20/1</span></a
|
||||
>
|
||||
</div>
|
||||
<div class="carousel-cell">
|
||||
<a
|
||||
title="view the program"
|
||||
href="https://www.antennapacific.gr/el/tvguide.html?date=2025-01-21"
|
||||
>Τρίτη <span>21/1</span></a
|
||||
>
|
||||
</div>
|
||||
<div class="carousel-cell">
|
||||
<a
|
||||
title="view the program"
|
||||
href="https://www.antennapacific.gr/el/tvguide.html?date=2025-01-22"
|
||||
>Τετάρτη <span>22/1</span></a
|
||||
>
|
||||
</div>
|
||||
<div class="carousel-cell">
|
||||
<a
|
||||
title="view the program"
|
||||
href="https://www.antennapacific.gr/el/tvguide.html?date=2025-01-23"
|
||||
>Πέμπτη <span>23/1</span></a
|
||||
>
|
||||
</div>
|
||||
<div class="carousel-cell">
|
||||
<a
|
||||
title="view the program"
|
||||
href="https://www.antennapacific.gr/el/tvguide.html?date=2025-01-24"
|
||||
>Παρασκευή <span>24/1</span></a
|
||||
>
|
||||
</div>
|
||||
<div class="carousel-cell">
|
||||
<a
|
||||
title="view the program"
|
||||
href="https://www.antennapacific.gr/el/tvguide.html?date=2025-01-25"
|
||||
>Σάββατο <span>25/1</span></a
|
||||
>
|
||||
</div>
|
||||
<div class="carousel-cell">
|
||||
<a
|
||||
title="view the program"
|
||||
href="https://www.antennapacific.gr/el/tvguide.html?date=2025-01-26"
|
||||
>Κυριακή <span>26/1</span></a
|
||||
>
|
||||
</div>
|
||||
<div class="carousel-cell">
|
||||
<a
|
||||
title="view the program"
|
||||
href="https://www.antennapacific.gr/el/tvguide.html?date=2025-01-27"
|
||||
>Δευτέρα <span>27/1</span></a
|
||||
>
|
||||
</div>
|
||||
<div class="carousel-cell">
|
||||
<a
|
||||
title="view the program"
|
||||
href="https://www.antennapacific.gr/el/tvguide.html?date=2025-01-28"
|
||||
>Τρίτη <span>28/1</span></a
|
||||
>
|
||||
</div>
|
||||
<div class="carousel-cell">
|
||||
<a
|
||||
title="view the program"
|
||||
href="https://www.antennapacific.gr/el/tvguide.html?date=2025-01-29"
|
||||
>Τετάρτη <span>29/1</span></a
|
||||
>
|
||||
</div>
|
||||
<div class="carousel-cell">
|
||||
<a
|
||||
title="view the program"
|
||||
href="https://www.antennapacific.gr/el/tvguide.html?date=2025-01-30"
|
||||
>Πέμπτη <span>30/1</span></a
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="programmeContent" class="programme-content">
|
||||
<div class="row">
|
||||
<div class="day col-12 col-sm-2">
|
||||
<p>Τετάρτη<br />21/1</p>
|
||||
</div>
|
||||
|
||||
<div class="shows col-12 col-sm-10 sentoni">
|
||||
<div id="earlierContainer" class="programme-earlier-container"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</article>
|
||||
</div>
|
||||
<div class="col-12 col-sm-4 sidebararea">
|
||||
<div class="banner-placeholder vertical light">
|
||||
<ins
|
||||
data-revive-zoneid="1"
|
||||
data-revive-target="_blank"
|
||||
data-revive-ct0="26359802"
|
||||
data-revive-block="1"
|
||||
data-revive-blockcampaign="1"
|
||||
data-revive-id="30a34a2302634ff5d170d39f518891d2"
|
||||
></ins>
|
||||
<script async src="//dfp.cdl.gr/www/delivery/asyncjs.php"></script>
|
||||
<div class="banner2">
|
||||
<ins
|
||||
data-revive-zoneid="1"
|
||||
data-revive-target="_blank"
|
||||
data-revive-ct0="34315738"
|
||||
data-revive-block="1"
|
||||
data-revive-blockcampaign="1"
|
||||
data-revive-id="30a34a2302634ff5d170d39f518891d2"
|
||||
></ins>
|
||||
<script async src="//dfp.cdl.gr/www/delivery/asyncjs.php"></script>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sidebararea-promo">
|
||||
<h1 class="h1">Δες επίσης</h1>
|
||||
</div>
|
||||
<div class="sidebararea-promo"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="new-episodes">
|
||||
<h1 class="h1">Πρόγραμμα</h1>
|
||||
<div id="footerFshows" class="owl-carousel owl-theme">
|
||||
<div class="show">
|
||||
<div class="inner">
|
||||
<img
|
||||
alt="ΡΟΥΚ ΖΟΥΚ"
|
||||
src="https://www.antennapacific.gr/media/upload-files/cache/7dc/7dcad32b0490fd5e2f4eb944fdd13d4c_roukzoukprogramma.jpg"
|
||||
/>
|
||||
<div class="content">
|
||||
<h2>ΡΟΥΚ ΖΟΥΚ</h2>
|
||||
<p class="excerpt">
|
||||
Η Ζέτα Μακρυπούλια μας χαρίζει για 7η σεζόν ακόμα περισσότερες στιγμές γέλιου και
|
||||
διασκέδασης!
|
||||
</p>
|
||||
<a
|
||||
title="ΡΟΥΚ ΖΟΥΚ"
|
||||
class="more"
|
||||
href="https://www.antennapacific.gr/el/rouk-zouk.html"
|
||||
>Δες περισσότερα</a
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="show">
|
||||
<div class="inner">
|
||||
<img
|
||||
alt="ΥΓΕΙΑ ΠΑΝΩ ΑΠ’ ΟΛΑ"
|
||||
src="https://www.antennapacific.gr/media/upload-files/cache/42a/42a69c6936c865b6cb1555da86b8101f_ygeiapanwapolaprogramma.jpg"
|
||||
/>
|
||||
<div class="content">
|
||||
<h2>ΥΓΕΙΑ ΠΑΝΩ ΑΠ’ ΟΛΑ</h2>
|
||||
<p class="excerpt">
|
||||
Το «Υγεία πάνω απ’ όλα» με τη Φωτεινή Γεωργίου, συνεχίζει για 13η χρονιά!
|
||||
</p>
|
||||
<a
|
||||
title="ΥΓΕΙΑ ΠΑΝΩ ΑΠ’ ΟΛΑ"
|
||||
class="more"
|
||||
href="https://www.antennapacific.gr/el/igia-pano-ap’-ola.html"
|
||||
>Δες περισσότερα</a
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="show">
|
||||
<div class="inner">
|
||||
<img
|
||||
alt="ΡΑΔΙΟ ΑΡΒΥΛΑ"
|
||||
src="https://www.antennapacific.gr/media/upload-files/cache/356/356e9b3db418c002aa7bb59095c2887d_radioarvylaprogramma.jpg"
|
||||
/>
|
||||
<div class="content">
|
||||
<h2>ΡΑΔΙΟ ΑΡΒΥΛΑ</h2>
|
||||
<p class="excerpt">
|
||||
Όλοι οι τηλεοπτικοί δρόμοι οδηγούν στην καυστική σάτιρα και στους μοναδικούς
|
||||
«Ράδιο Αρβύλα» για 18η χρονιά!
|
||||
</p>
|
||||
<a
|
||||
title="ΡΑΔΙΟ ΑΡΒΥΛΑ"
|
||||
class="more"
|
||||
href="https://www.antennapacific.gr/el/radio-arvila.html"
|
||||
>Δες περισσότερα</a
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="show">
|
||||
<div class="inner">
|
||||
<img
|
||||
alt=" THE 2NIGHT SHOW "
|
||||
src="https://www.antennapacific.gr/media/upload-files/cache/94a/94a25d7a699a00776d161c35558f1d8f_2nightshowprogramma.jpeg"
|
||||
/>
|
||||
<div class="content">
|
||||
<h2>THE 2NIGHT SHOW</h2>
|
||||
<p class="excerpt">
|
||||
Οι πιο ενδιαφέρουσες νυχτερινές εξομολογήσεις με τον Γρηγόρη Αρναούτογλου!
|
||||
</p>
|
||||
<a
|
||||
title=" THE 2NIGHT SHOW "
|
||||
class="more"
|
||||
href="https://www.antennapacific.gr/el/the-2night-show.html"
|
||||
>Δες περισσότερα</a
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="show">
|
||||
<div class="inner">
|
||||
<img
|
||||
alt="THE REUNION"
|
||||
src="https://www.antennapacific.gr/media/upload-files/cache/7f5/7f5502d928d0d36f21be192aa53f062e_thereunionprogramma.jpg"
|
||||
/>
|
||||
<div class="content">
|
||||
<h2>THE REUNION</h2>
|
||||
<p class="excerpt">
|
||||
O Σάκης Τανιμανίδης και ο Γιώργος Μαυρίδης μας ταξιδεύουν σε μοναδικούς
|
||||
προορισμούς και εμπειρίες ζωής!
|
||||
</p>
|
||||
<a
|
||||
title="THE REUNION"
|
||||
class="more"
|
||||
href="https://www.antennapacific.gr/el/the-reunion.html"
|
||||
>Δες περισσότερα</a
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<footer>
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-12 col-sm-8 foot_1">
|
||||
<h2>Εγγραφή στο ενημερωτικό δελτίο</h2>
|
||||
|
||||
<form action="#" id="subscribeform" name="newsletter" method="post">
|
||||
<label for="newsletterEmail" class="screen-reader-text">Το email σου</label>
|
||||
<input
|
||||
id="newsletterEmail"
|
||||
type="email"
|
||||
name="email"
|
||||
placeholder="Το email σου"
|
||||
required
|
||||
/>
|
||||
<input type="submit" name="submit" value="Εγγραφή" />
|
||||
<input type="hidden" name="__mail_required" value="email" />
|
||||
<input
|
||||
type="hidden"
|
||||
name="__mail_subject"
|
||||
value="Antenna Pacific Newsletter form"
|
||||
/>
|
||||
<input
|
||||
type="hidden"
|
||||
name="__mail_success"
|
||||
value="Thank you and welcome to our Newsletter Service!"
|
||||
/>
|
||||
<input
|
||||
type="hidden"
|
||||
name="url"
|
||||
value="https://www.antennapacific.gr/el/tvguide.html?date=2026-01-21"
|
||||
/>
|
||||
<input type="hidden" name="datetime" value="2025-01-17 09:57:45" />
|
||||
<div id="subscribeformMSG"></div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<div class="col-12 col-sm-4 foot_2">
|
||||
<h2>Ακολουθήστε μας</h2>
|
||||
<ul class="site-social grid">
|
||||
<li>
|
||||
<a href="https://www.facebook.com/antenna.pacific/" target="_blank">
|
||||
<span class="icon icon-facebook">
|
||||
<span class="screen-reader-text"><i class="fab fa-facebook-f"></i></span>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://www.instagram.com/antenna_pacific/" target="_blank">
|
||||
<span class="icon icon-instagram">
|
||||
<span class="screen-reader-text"><i class="fab fa-instagram"></i></span>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
<nav class="cms39-footer-nav">
|
||||
<ul id="cms39-footer-nav" class="cms39-footer-nav ul-106">
|
||||
<li class="">
|
||||
<a
|
||||
title="Επικοινωνία"
|
||||
href="https://www.antennapacific.gr/el/contact.html"
|
||||
class=""
|
||||
>Επικοινωνία</a
|
||||
>
|
||||
</li>
|
||||
<li class="">
|
||||
<a
|
||||
title="Συνδεθείτε "
|
||||
href="https://www.antennapacific.gr/el/connect.html"
|
||||
class=""
|
||||
>Συνδεθείτε
|
||||
</a>
|
||||
</li>
|
||||
<li class="">
|
||||
<a
|
||||
title="Εργασία"
|
||||
href="https://www.antennapacific.gr/el/workwithus.html"
|
||||
class=""
|
||||
>Εργασία</a
|
||||
>
|
||||
</li>
|
||||
<li class="">
|
||||
<a
|
||||
title="Διαφημιστείτε"
|
||||
href="https://www.antennapacific.gr/el/advertise.html"
|
||||
class=""
|
||||
>Διαφημιστείτε</a
|
||||
>
|
||||
</li>
|
||||
<li class="">
|
||||
<a title="Για εμάς" href="https://www.antennapacific.gr/el/about.html" class=""
|
||||
>Για εμάς</a
|
||||
>
|
||||
</li>
|
||||
<li class="">
|
||||
<a title="Links" href="https://www.antennapacific.gr/el/links.html" class=""
|
||||
>Links</a
|
||||
>
|
||||
</li>
|
||||
<li class="">
|
||||
<a
|
||||
title="Όροι χρήσης"
|
||||
href="https://www.antennapacific.gr/el/terms.html"
|
||||
class=""
|
||||
>Όροι χρήσης</a
|
||||
>
|
||||
</li>
|
||||
<li class="">
|
||||
<a title="FAQ" href="https://www.antennapacific.gr/el/faq.html" class="">FAQ</a>
|
||||
</li>
|
||||
<li class="">
|
||||
<a
|
||||
title="Δελτία Τύπου"
|
||||
href="https://www.antennapacific.gr/el/press.html"
|
||||
class=""
|
||||
>Δελτία Τύπου</a
|
||||
>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
<div class="col-12 foot_3 text-dark text-theme-copyright">
|
||||
© 2025 ANT1 TV | 2025-01-17 09:57:45
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
<div class="copyright text-center">
|
||||
<div id="cdl" style="display: inline-block">
|
||||
<span style="width: 49px; height: 43px; overflow: hidden; display: block">
|
||||
<a
|
||||
rel="external"
|
||||
style="display: block; margin: 0px"
|
||||
target="_blank"
|
||||
title="Array"
|
||||
href="https://www.cdl.gr"
|
||||
>
|
||||
<img
|
||||
width="49"
|
||||
height="43"
|
||||
alt="Array"
|
||||
src="https://www.cdl.gr/media/upload-files/cdl-logo-white.png"
|
||||
/>
|
||||
</a>
|
||||
<a
|
||||
rel="external"
|
||||
style="visibility: hidden; display: none margin: 0px;"
|
||||
title="Θέλεις κονκάρδες από το αγαπημένο σου συγκρότημα, κονκάρδες για το bachelor σου, κονκάρδες για τους καλεσμένους σου, κονκάρδες για το party των παιδιών σου, κονκάρδες για την προώθηση της επιχειρησης σου; Τα πάντα για κονκάρδες μόνο στο concarda.com"
|
||||
href="http://www.concarda.com"
|
||||
target="_blank"
|
||||
>για κονκάρδες μόνο στο concarda.com</a
|
||||
>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- created by https://www.cdl.gr Creative Studio, κατασκευή ιστοσελίδων, ιστοσελίδες, digital agency. -->
|
||||
<script type="text/javascript">
|
||||
var search_autocomplete_template = '<span>{{title}}</span>'
|
||||
var search_autocomplete_limit = '10'
|
||||
var search_autocomplete_minLength = '3'
|
||||
var search_autocomplete_emptyTemplate = 'No results found for {{query}}'
|
||||
</script>
|
||||
<script
|
||||
type="text/javascript"
|
||||
src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js"
|
||||
></script>
|
||||
<script
|
||||
type="text/javascript"
|
||||
src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"
|
||||
></script>
|
||||
<script
|
||||
type="text/javascript"
|
||||
src="https://cdn.jsdelivr.net/npm/block-ui@2.70.1/jquery.blockUI.min.js"
|
||||
></script>
|
||||
<script
|
||||
type="text/javascript"
|
||||
src="https://cdn.jsdelivr.net/npm/owl.carousel@2.2.0/dist/owl.carousel.min.js"
|
||||
></script>
|
||||
<script
|
||||
type="text/javascript"
|
||||
src="https://use.fontawesome.com/releases/v5.0.8/js/all.js"
|
||||
></script>
|
||||
<script
|
||||
type="text/javascript"
|
||||
src="https://cdn.jsdelivr.net/npm/jquery-form@4.2.2/dist/jquery.form.min.js"
|
||||
></script>
|
||||
<script
|
||||
type="text/javascript"
|
||||
src="https://www.antennapacific.gr/themes/default/js/plugins.js"
|
||||
></script>
|
||||
<script
|
||||
type="text/javascript"
|
||||
src="https://www.antennapacific.gr/themes/default/js/app.js?sha=392fd813650ad1d0420e373638676083"
|
||||
></script>
|
||||
<script
|
||||
async
|
||||
defer
|
||||
type="text/javascript"
|
||||
src="https://cdn.jsdelivr.net/npm/jquery-typeahead@2.11.1/dist/jquery.typeahead.min.js"
|
||||
></script>
|
||||
<script
|
||||
async
|
||||
defer
|
||||
type="text/javascript"
|
||||
src="https://www.antennapacific.gr/plugins/cms39_search/cms39_search.js?v=4.5"
|
||||
></script>
|
||||
</body>
|
||||
</html>
|
4
sites/antennapacific.gr/antennapacific.gr.channels.xml
Normal file
4
sites/antennapacific.gr/antennapacific.gr.channels.xml
Normal file
|
@ -0,0 +1,4 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<channels>
|
||||
<channel site="antennapacific.gr" lang="el" xmltv_id="ANT1Pacific.gr" site_id="#">ANT1 PACIFIC</channel>
|
||||
</channels>
|
59
sites/antennapacific.gr/antennapacific.gr.config.js
Normal file
59
sites/antennapacific.gr/antennapacific.gr.config.js
Normal file
|
@ -0,0 +1,59 @@
|
|||
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: 'antennapacific.gr',
|
||||
days: 2,
|
||||
url({ date }) {
|
||||
return `https://www.antennapacific.gr/el/tvguide.html?date=${date.format('YYYY-MM-DD')}`
|
||||
},
|
||||
parser({ content, date }) {
|
||||
const programs = []
|
||||
const items = parseItems(content, date)
|
||||
items.forEach(item => {
|
||||
const $item = cheerio.load(item)
|
||||
const prev = programs[programs.length - 1]
|
||||
let start = parseStart($item, date)
|
||||
if (prev) {
|
||||
if (start.isBefore(prev.start)) {
|
||||
start = start.add(1, 'd')
|
||||
date = date.add(1, 'd')
|
||||
}
|
||||
prev.stop = start
|
||||
}
|
||||
const stop = start.add(30, 'm')
|
||||
programs.push({
|
||||
title: parseTitle($item),
|
||||
start,
|
||||
stop
|
||||
})
|
||||
})
|
||||
|
||||
return programs
|
||||
}
|
||||
}
|
||||
|
||||
function parseTitle($item) {
|
||||
return $item('.title').text().trim()
|
||||
}
|
||||
|
||||
function parseStart($item, date) {
|
||||
const time = $item('dt.col-time').clone().children().remove().end().text().trim()
|
||||
|
||||
return time
|
||||
? dayjs.tz(`${date.format('YYYY-MM-DD')} ${time}`, 'YYYY-MM-DD HH:mm', 'Europe/Athens')
|
||||
: null
|
||||
}
|
||||
|
||||
function parseItems(content) {
|
||||
const $ = cheerio.load(content)
|
||||
|
||||
return $('dl.show').toArray()
|
||||
}
|
46
sites/antennapacific.gr/antennapacific.gr.test.js
Normal file
46
sites/antennapacific.gr/antennapacific.gr.test.js
Normal file
|
@ -0,0 +1,46 @@
|
|||
const { parser, url } = require('./antennapacific.gr.config.js')
|
||||
const fs = require('fs')
|
||||
const path = require('path')
|
||||
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('2025-01-21', 'YYYY-MM-DD').startOf('d')
|
||||
|
||||
it('can generate valid url', () => {
|
||||
expect(url({ date })).toBe('https://www.antennapacific.gr/el/tvguide.html?date=2025-01-21')
|
||||
})
|
||||
|
||||
it('can parse response', () => {
|
||||
const content = fs.readFileSync(path.resolve(__dirname, '__data__/content.html'), 'utf8')
|
||||
let results = parser({ content, date })
|
||||
results = results.map(p => {
|
||||
p.start = p.start.toJSON()
|
||||
p.stop = p.stop.toJSON()
|
||||
return p
|
||||
})
|
||||
|
||||
expect(results.length).toBe(17)
|
||||
|
||||
expect(results[0]).toMatchObject({
|
||||
start: '2025-01-21T05:00:00.000Z',
|
||||
stop: '2025-01-21T06:00:00.000Z',
|
||||
title: 'ANT1 NEWS - ΚΕΝΤΡΙΚΟ ΔΕΛΤΙΟ'
|
||||
})
|
||||
|
||||
expect(results[16]).toMatchObject({
|
||||
start: '2025-01-22T02:45:00.000Z',
|
||||
stop: '2025-01-22T03:15:00.000Z',
|
||||
title: 'ΚΑΛΗΜΕΡΑ ΕΛΛΑΔΑ'
|
||||
})
|
||||
})
|
||||
|
||||
it('can handle empty guide', () => {
|
||||
const results = parser({
|
||||
date,
|
||||
content: fs.readFileSync(path.resolve(__dirname, '__data__/no_content.html'), 'utf8')
|
||||
})
|
||||
expect(results).toMatchObject([])
|
||||
})
|
15
sites/antennapacific.gr/readme.md
Normal file
15
sites/antennapacific.gr/readme.md
Normal file
|
@ -0,0 +1,15 @@
|
|||
# antennapacific.gr
|
||||
|
||||
https://www.antennapacific.gr/el/tvguide.html
|
||||
|
||||
### Download the guide
|
||||
|
||||
```sh
|
||||
npm run grab --- --site=antennapacific.gr
|
||||
```
|
||||
|
||||
### Test
|
||||
|
||||
```sh
|
||||
npm test --- antennapacific.gr
|
||||
```
|
7
sites/antennasatellite.gr/__data__/content.html
Normal file
7
sites/antennasatellite.gr/__data__/content.html
Normal file
File diff suppressed because one or more lines are too long
7
sites/antennasatellite.gr/__data__/no_content.html
Normal file
7
sites/antennasatellite.gr/__data__/no_content.html
Normal file
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,4 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<channels>
|
||||
<channel site="antennasatellite.gr" lang="el" xmltv_id="ANT1Satellite.gr" site_id="#">ANT1 SATELLITE</channel>
|
||||
</channels>
|
59
sites/antennasatellite.gr/antennasatellite.gr.config.js
Normal file
59
sites/antennasatellite.gr/antennasatellite.gr.config.js
Normal file
|
@ -0,0 +1,59 @@
|
|||
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: 'antennasatellite.gr',
|
||||
days: 2,
|
||||
url({ date }) {
|
||||
return `https://www.antennasatellite.gr/el/tvguide.html?date=${date.format('YYYY-MM-DD')}`
|
||||
},
|
||||
parser({ content, date }) {
|
||||
const programs = []
|
||||
const items = parseItems(content, date)
|
||||
items.forEach(item => {
|
||||
const $item = cheerio.load(item)
|
||||
const prev = programs[programs.length - 1]
|
||||
let start = parseStart($item, date)
|
||||
if (prev) {
|
||||
if (start.isBefore(prev.start)) {
|
||||
start = start.add(1, 'd')
|
||||
date = date.add(1, 'd')
|
||||
}
|
||||
prev.stop = start
|
||||
}
|
||||
const stop = start.add(30, 'm')
|
||||
programs.push({
|
||||
title: parseTitle($item),
|
||||
start,
|
||||
stop
|
||||
})
|
||||
})
|
||||
|
||||
return programs
|
||||
}
|
||||
}
|
||||
|
||||
function parseTitle($item) {
|
||||
return $item('.title').text().trim()
|
||||
}
|
||||
|
||||
function parseStart($item, date) {
|
||||
const time = $item('dt.col-time').clone().children().remove().end().text().trim()
|
||||
|
||||
return time
|
||||
? dayjs.tz(`${date.format('YYYY-MM-DD')} ${time}`, 'YYYY-MM-DD HH:mm', 'Europe/Athens')
|
||||
: null
|
||||
}
|
||||
|
||||
function parseItems(content) {
|
||||
const $ = cheerio.load(content)
|
||||
|
||||
return $('dl.show').toArray()
|
||||
}
|
46
sites/antennasatellite.gr/antennasatellite.gr.test.js
Normal file
46
sites/antennasatellite.gr/antennasatellite.gr.test.js
Normal file
|
@ -0,0 +1,46 @@
|
|||
const { parser, url } = require('./antennasatellite.gr.config.js')
|
||||
const fs = require('fs')
|
||||
const path = require('path')
|
||||
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('2025-01-21', 'YYYY-MM-DD').startOf('d')
|
||||
|
||||
it('can generate valid url', () => {
|
||||
expect(url({ date })).toBe('https://www.antennasatellite.gr/el/tvguide.html?date=2025-01-21')
|
||||
})
|
||||
|
||||
it('can parse response', () => {
|
||||
const content = fs.readFileSync(path.resolve(__dirname, '__data__/content.html'), 'utf8')
|
||||
let results = parser({ content, date })
|
||||
results = results.map(p => {
|
||||
p.start = p.start.toJSON()
|
||||
p.stop = p.stop.toJSON()
|
||||
return p
|
||||
})
|
||||
|
||||
expect(results.length).toBe(16)
|
||||
|
||||
expect(results[0]).toMatchObject({
|
||||
start: '2025-01-21T04:00:00.000Z',
|
||||
stop: '2025-01-21T04:40:00.000Z',
|
||||
title: 'ANT1 NEWS'
|
||||
})
|
||||
|
||||
expect(results[15]).toMatchObject({
|
||||
start: '2025-01-22T00:50:00.000Z',
|
||||
stop: '2025-01-22T01:20:00.000Z',
|
||||
title: 'ΤΟ ΠΡΩΙΝΟ'
|
||||
})
|
||||
})
|
||||
|
||||
it('can handle empty guide', () => {
|
||||
const results = parser({
|
||||
date,
|
||||
content: fs.readFileSync(path.resolve(__dirname, '__data__/no_content.html'), 'utf8')
|
||||
})
|
||||
expect(results).toMatchObject([])
|
||||
})
|
15
sites/antennasatellite.gr/readme.md
Normal file
15
sites/antennasatellite.gr/readme.md
Normal file
|
@ -0,0 +1,15 @@
|
|||
# antennasatellite.gr
|
||||
|
||||
https://www.antennasatellite.gr/el/tvguide.html
|
||||
|
||||
### Download the guide
|
||||
|
||||
```sh
|
||||
npm run grab --- --site=antennasatellite.gr
|
||||
```
|
||||
|
||||
### Test
|
||||
|
||||
```sh
|
||||
npm test --- antennasatellite.gr
|
||||
```
|
|
@ -11,14 +11,14 @@
|
|||
<channel site="canalplus-haiti.com" lang="fr" xmltv_id="BblackCaribbean.fr" site_id="51557">Bblack! Caribbean</channel>
|
||||
<channel site="canalplus-haiti.com" lang="fr" xmltv_id="C8.fr" site_id="51120">C8</channel>
|
||||
<channel site="canalplus-haiti.com" lang="fr" xmltv_id="Canal10.gp" site_id="51176">Canal 10</channel>
|
||||
<channel site="canalplus-haiti.com" lang="fr" xmltv_id="CanalPlusCinema.fr" site_id="51014">Canal + Cinéma France</channel>
|
||||
<channel site="canalplus-haiti.com" lang="fr" xmltv_id="CanalPlusHaiti.fr" site_id="51966">Canal + Haïti</channel>
|
||||
<channel site="canalplus-haiti.com" lang="fr" xmltv_id="" site_id="51014">Canal + Cinéma France</channel>
|
||||
<channel site="canalplus-haiti.com" lang="fr" xmltv_id="" site_id="51966">Canal + Haïti</channel>
|
||||
<channel site="canalplus-haiti.com" lang="fr" xmltv_id="CanalPlusKids.fr" site_id="51401">Canal + Kids</channel>
|
||||
<channel site="canalplus-haiti.com" lang="fr" xmltv_id="CanalPlusSport.fr" site_id="51022">Canal + Sport France</channel>
|
||||
<channel site="canalplus-haiti.com" lang="fr" xmltv_id="CinePlusClassic.fr" site_id="51328">Cine + Classic</channel>
|
||||
<channel site="canalplus-haiti.com" lang="fr" xmltv_id="CinePlusClub.fr" site_id="51024">Cine + Club</channel>
|
||||
<channel site="canalplus-haiti.com" lang="fr" xmltv_id="CinePlusEmotion.fr" site_id="51025">Cine + Émotion</channel>
|
||||
<channel site="canalplus-haiti.com" lang="fr" xmltv_id="CinePlusFamiz.fr" site_id="51026">Cine + Famiz</channel>
|
||||
<channel site="canalplus-haiti.com" lang="fr" xmltv_id="" site_id="51026">Cine + Famiz</channel>
|
||||
<channel site="canalplus-haiti.com" lang="fr" xmltv_id="CinePlusFrisson.fr" site_id="51027">Cine + Frisson</channel>
|
||||
<channel site="canalplus-haiti.com" lang="fr" xmltv_id="CinePlusPremier.fr" site_id="51028">Cine + Premier</channel>
|
||||
<channel site="canalplus-haiti.com" lang="fr" xmltv_id="CNews.fr" site_id="51048">C News</channel>
|
||||
|
|
|
@ -29,7 +29,7 @@
|
|||
<channel site="canalplus.com" lang="fr" xmltv_id="CanalAlphaNE.ch" site_id="#772">CANAL ALPHA NE</channel>
|
||||
<channel site="canalplus.com" lang="fr" xmltv_id="CanalJ.fr" site_id="#525">CANAL J</channel>
|
||||
<channel site="canalplus.com" lang="fr" xmltv_id="CanalPlus.fr" site_id="#301">CANAL+</channel>
|
||||
<channel site="canalplus.com" lang="fr" xmltv_id="CanalPlusCinema.fr" site_id="#198">CANAL+CINEMA(S)</channel>
|
||||
<channel site="canalplus.com" lang="fr" xmltv_id="" site_id="#198">CANAL+CINEMA(S)</channel>
|
||||
<channel site="canalplus.com" lang="fr" xmltv_id="CanalPlusDocs.fr" site_id="#899">CANAL+DOCS</channel>
|
||||
<channel site="canalplus.com" lang="fr" xmltv_id="CanalPlusFoot.fr" site_id="#19">CANAL+FOOT</channel>
|
||||
<channel site="canalplus.com" lang="fr" xmltv_id="CanalPlusFormula1.fr" site_id="#824">CANAL+FORMULA1</channel>
|
||||
|
@ -47,7 +47,7 @@
|
|||
<channel site="canalplus.com" lang="fr" xmltv_id="CinePlusClassic.fr" site_id="#531">CINE+ CLASSIC</channel>
|
||||
<channel site="canalplus.com" lang="fr" xmltv_id="CinePlusClub.fr" site_id="#532">CINE+ CLUB</channel>
|
||||
<channel site="canalplus.com" lang="fr" xmltv_id="CinePlusEmotion.fr" site_id="#396">CINE+ EMOTION</channel>
|
||||
<channel site="canalplus.com" lang="fr" xmltv_id="CinePlusFamiz.fr" site_id="#533">CINE+ FAMIZ</channel>
|
||||
<channel site="canalplus.com" lang="fr" xmltv_id="" site_id="#533">CINE+ FAMIZ</channel>
|
||||
<channel site="canalplus.com" lang="fr" xmltv_id="CinePlusFrisson.fr" site_id="#398">CINE+ FRISSON</channel>
|
||||
<channel site="canalplus.com" lang="fr" xmltv_id="CinePlusPremier.fr" site_id="#322">CINE+ PREMIER</channel>
|
||||
<channel site="canalplus.com" lang="fr" xmltv_id="CNBCEurope.uk" site_id="#64">CNBC</channel>
|
||||
|
|
|
@ -175,7 +175,7 @@
|
|||
<channel site="chaines-tv.orange.fr" lang="fr" xmltv_id="C8.fr" site_id="445">C8</channel>
|
||||
<channel site="chaines-tv.orange.fr" lang="fr" xmltv_id="CanalJ.fr" site_id="32">CANAL J</channel>
|
||||
<channel site="chaines-tv.orange.fr" lang="fr" xmltv_id="CanalPlus.fr" site_id="34">CANAL+</channel>
|
||||
<channel site="chaines-tv.orange.fr" lang="fr" xmltv_id="CanalPlusCinema.fr" site_id="33">CANAL+CINEMA(S)</channel>
|
||||
<channel site="chaines-tv.orange.fr" lang="fr" xmltv_id="" site_id="33">CANAL+CINEMA(S)</channel>
|
||||
<channel site="chaines-tv.orange.fr" lang="fr" xmltv_id="CanalPlusDocs.fr" site_id="3347">CANAL+DOCS</channel>
|
||||
<channel site="chaines-tv.orange.fr" lang="fr" xmltv_id="CanalPlusGrandEcran.fr" site_id="3349">CANAL+GRAND ECRAN</channel>
|
||||
<channel site="chaines-tv.orange.fr" lang="fr" xmltv_id="CanalPlusKids.fr" site_id="3348">CANAL+kids</channel>
|
||||
|
@ -186,7 +186,7 @@
|
|||
<channel site="chaines-tv.orange.fr" lang="fr" xmltv_id="CinePlusClassic.fr" site_id="287">CINE+CLASSIC</channel>
|
||||
<channel site="chaines-tv.orange.fr" lang="fr" xmltv_id="CinePlusClub.fr" site_id="285">CINE+CLUB</channel>
|
||||
<channel site="chaines-tv.orange.fr" lang="fr" xmltv_id="CinePlusEmotion.fr" site_id="283">CINE+EMOTION</channel>
|
||||
<channel site="chaines-tv.orange.fr" lang="fr" xmltv_id="CinePlusFamiz.fr" site_id="401">CINE+FAMIZ</channel>
|
||||
<channel site="chaines-tv.orange.fr" lang="fr" xmltv_id="" site_id="401">CINE+FAMIZ</channel>
|
||||
<channel site="chaines-tv.orange.fr" lang="fr" xmltv_id="CinePlusFrisson.fr" site_id="284">CINE+FRISSON</channel>
|
||||
<channel site="chaines-tv.orange.fr" lang="fr" xmltv_id="CinePlusPremier.fr" site_id="282">CINE+PREMIER</channel>
|
||||
<channel site="chaines-tv.orange.fr" lang="fr" xmltv_id="ClubbingTV.fr" site_id="1989">CLUBBING TV</channel>
|
||||
|
|
1
sites/digea.gr/__data__/content.json
Normal file
1
sites/digea.gr/__data__/content.json
Normal file
File diff suppressed because one or more lines are too long
95
sites/digea.gr/digea.gr.channels.xml
Normal file
95
sites/digea.gr/digea.gr.channels.xml
Normal file
|
@ -0,0 +1,95 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<channels>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="3100">ALPHA</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="3200">SKAI</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="3300">ANT1</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="3400">OPEN BEYOND</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="3500">STAR</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="3600">MEGA</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="3700">ΜΑΚΕΔΟΝΙΑ ΤV</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="4020">ΔΕΛΤΑ ΤΗΛΕΟΡΑΣΗ</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="4030">ΔΙΚΤΥΟ TV</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="4040">ENA CHANNEL</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="4050">ΕΠΙΛΟΓΕΣ</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="4060">ΘΡΑΚΗ ΝΕΤ</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="4070">ΟΡΕΣΤΙΑΔΑ</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="4080">ALFA</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="4090">CENTER TV</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="4100">NEXT TV</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="4110">SMILE (Θράκης)</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="4120">STAR ΒOΡΕΙΟΥ ΕΛΛΑΔΟΣ</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="4170">ΛΥΔΙΑ</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="4240">ΒΕΡΓΙΝΑ</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="4260">DION ΤΗΛΕΟΡΑΣΗ Κεντρικής Μακεδονίας</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="4270">EURO TV</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="4280">EUROPE 1</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="4290">GNOMI TV</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="4300">TV100 ΘΕΣΣΑΛΟΝΙΚΗ</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="4310">EGNATIA THLEORASI</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="4320">PELLA TV</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="4360">AE CHANNEL Thessaloniki</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="4370">NICKELODEON+</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="4380">4E</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="4450">ΛΥΧΝΟΣ</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="4460">ΜΕΣΟΓΕΙΟΣ ΤΗΛΕΟΡΑΣΗ</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="4470">ΟΡΤ TELEVISION</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="4490">ΑRT</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="4510">BEST</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="4520">IONIAN</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="4530">LEPANTO ΤΗΛΕΟΡΑΣΗ</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="4540">Patra tv</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="4550">RTP ΚΕΝΤΡΟ</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="4560">SUPER</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="4670">ΘΕΣΣΑΛΙΑ ΤΗΛΕΟΡΑΣΗ</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="4680">ASTRA TV</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="4690">SMILE +</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="4700">TRT</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="4710">FORMedia TV</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="4800">ENA TV KE</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="4810">STAR K.E.</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="4830">E ΤV</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="4900">ΑΡΤ</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="4910">ALERT</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="4920">ATTICA</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="4930">BLUE SKY</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="4940">One Channel</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="4950">EXTRA</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="4990">A.EPSILON</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="5000">ACTION 24</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="5010">HIGH TV</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="5020">KONTRA</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="5030">MAD</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="5040">NICKELODEON</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="5050">RISE TV</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="5060">SMILE</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="5130">ΑΛΗΘΕΙΑ TV</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="5140">ΠΑΤΡΙΔΑ TV</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="5150">AEOLOS</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="5300">OCIOC ΝΙΚΑΝΩΡ</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="5310">DIKTYO1</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="5320">FLASH TV</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="5330">WEST</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="5350">TOP CHANNEL</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="5420">ΑΧΕΛΩΟΣ</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="5430">ΒΗΜΑ ΤΗΛΕΟΡΑΣΗ</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="5440">ΗΠΕΙΡΟΣ TV1</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="5450">ART TV</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="5460">CORFU TV</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="5470">ΙTV</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="5480">START</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="5570">TeleKPHTH</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="5580">ΚΡΗΤΗTV</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="5590">KΡHTH1</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="5600">ΝΕΑ Τηλεόραση Κρήτης</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="5610">TV CRETA</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="5620">NOTOS TV</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="5630">SITIA TV</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="5720">ΑΙΓΑΙΟ</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="5730">ΣΑΤ</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="5740">IRIDA</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="5750">KOS TV</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="5760">TV KOSMOS</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="5770">ΘΑΡΡΙ</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="5850">SYROS TV1</channel>
|
||||
<channel site="digea.gr" lang="el" xmltv_id="" site_id="5860">VOLCANO</channel>
|
||||
</channels>
|
86
sites/digea.gr/digea.gr.config.js
Normal file
86
sites/digea.gr/digea.gr.config.js
Normal file
|
@ -0,0 +1,86 @@
|
|||
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: 'digea.gr',
|
||||
days: 2,
|
||||
url: 'https://www.digea.gr/el/api/epg/get-events',
|
||||
request: {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'content-type': 'application/x-www-form-urlencoded; charset=UTF-8'
|
||||
},
|
||||
data({ date }) {
|
||||
const data = new URLSearchParams()
|
||||
data.append('action', 'get_events')
|
||||
data.append('date', date.format('YYYY-M-D'))
|
||||
|
||||
return data
|
||||
}
|
||||
},
|
||||
parser({ content, channel }) {
|
||||
let programs = []
|
||||
let items = parseItems(content, channel)
|
||||
items.forEach(item => {
|
||||
programs.push({
|
||||
title: item.title,
|
||||
description: item.long_synopsis,
|
||||
start: parseStart(item),
|
||||
stop: parseStop(item)
|
||||
})
|
||||
})
|
||||
|
||||
return programs
|
||||
},
|
||||
async channels() {
|
||||
const data = await axios
|
||||
.post(
|
||||
'https://www.digea.gr/el/api/epg/get-channels',
|
||||
new URLSearchParams({
|
||||
action: 'get_chanels',
|
||||
lang: 'el'
|
||||
}),
|
||||
{
|
||||
headers: {
|
||||
'content-type': 'application/x-www-form-urlencoded; charset=UTF-8'
|
||||
}
|
||||
}
|
||||
)
|
||||
.then(r => r.data)
|
||||
.catch(console.error)
|
||||
|
||||
return data.map(channel => {
|
||||
return {
|
||||
lang: 'el',
|
||||
site_id: channel.id,
|
||||
name: channel.name
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
function parseStart(item) {
|
||||
return dayjs.tz(item.actual_time, 'YYYY-MM-DD HH:mm:ss', 'Europe/Athens')
|
||||
}
|
||||
|
||||
function parseStop(item) {
|
||||
return dayjs.tz(item.end_time, 'YYYY-MM-DD HH:mm:ss', 'Europe/Athens')
|
||||
}
|
||||
|
||||
function parseItems(content, channel) {
|
||||
try {
|
||||
const data = JSON.parse(content)
|
||||
if (!Array.isArray(data)) return []
|
||||
|
||||
return data.filter(p => p.channel_id === channel.site_id)
|
||||
} catch {
|
||||
return []
|
||||
}
|
||||
}
|
69
sites/digea.gr/digea.gr.test.js
Normal file
69
sites/digea.gr/digea.gr.test.js
Normal file
|
@ -0,0 +1,69 @@
|
|||
const { parser, url, request } = require('./digea.gr.config.js')
|
||||
const fs = require('fs')
|
||||
const path = require('path')
|
||||
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('2025-01-17', 'YYYY-MM-DD').startOf('d')
|
||||
const channel = {
|
||||
site_id: '1100',
|
||||
xmltv_id: 'AlphaTV.gr'
|
||||
}
|
||||
|
||||
it('can generate valid url', () => {
|
||||
expect(url).toBe('https://www.digea.gr/el/api/epg/get-events')
|
||||
})
|
||||
|
||||
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; charset=UTF-8'
|
||||
})
|
||||
})
|
||||
|
||||
it('can generate valid request data', () => {
|
||||
const data = request.data({ date })
|
||||
|
||||
expect(data.get('action')).toBe('get_events')
|
||||
expect(data.get('date')).toBe('2025-1-17')
|
||||
})
|
||||
|
||||
it('can parse response', () => {
|
||||
const content = fs.readFileSync(path.resolve(__dirname, '__data__/content.json'), 'utf8')
|
||||
let results = parser({ content, channel })
|
||||
results = results.map(p => {
|
||||
p.start = p.start.toJSON()
|
||||
p.stop = p.stop.toJSON()
|
||||
return p
|
||||
})
|
||||
|
||||
expect(results.length).toBe(19)
|
||||
expect(results[0]).toMatchObject({
|
||||
start: '2025-01-16T23:30:00.000Z',
|
||||
stop: '2025-01-17T01:30:00.000Z',
|
||||
title: '[K12] Το Ξεκαθάρισμα (A Score To Settle)',
|
||||
description:
|
||||
"Περιπέτεια αμερικανικής παραγωγής 2019 [Το πρόγραμμα περιέχει σκηνές σεξουαλικές, βίας, χρήσης ναρκωτικών κι άλλων εξαρτησιογόνων ουσιών και απρεπή εκφορά λόγου]. Ο Φρανκ απελευθερώνεται από τη φυλακή πολλά χρόνια μετά αφού κατηγορήθηκε για ένα έγκλημα που δεν διέπραξε. Τώρα, ελεύθερος, ξεκινά μια πορεία εκδίκησης εναντίον των ανθρώπων των οποίων οι πράξεις τον έστειλαν στη φυλακή. Ηθοποιοί: Νίκολας Κέιτζ, Μπέντζαμιν Μπρατ, Νόα Λε Γκρος, Καρολίνα Γουίντρα. Σενάριο: Σον Κου, Τζον Νιούμαν. Σκηνοθεσία: Σον Κου. Διάρκεια: 94'. "
|
||||
})
|
||||
expect(results[18]).toMatchObject({
|
||||
start: '2025-01-17T21:30:00.000Z',
|
||||
stop: '2025-01-17T23:30:00.000Z',
|
||||
title: '[K8] Βασικά Καλησπέρα Σας',
|
||||
description:
|
||||
"Κωμωδία ελληνικής παραγωγής 1982. Δύο πειρατικοί ραδιοσταθμοί, εκ των οποίων ο ένας βάζει λαϊκά άσματα και ο άλλος ροκ μουσική, ανταγωνίζονται για την πρωτιά στην ακροαματικότητα. Ο ανταγωνισμός γίνεται βαθμηδόν όλο και πιο σκληρός, αλλά ξάφνου τα πράγματα αλλάζουν ρότα καθώς ο μεγαλοδύναμος έρως παρεμβαίνει και κάνει το θαύμα του. Παίζουν: Στάθης Ψάλτης, Πάνος Μιχαλόπουλος, Σταμάτης Γαρδέλης, Έφη Πίκουλα, Γιώργος Ρήγας, Γιάννης Μποσταντζόγλου, Σοφία Αλιμπέρτη, Καίτη Φίνου. Σκηνοθεσία - Σενάριο: Γιάννης Δαλιανίδης. Διάρκεια: 89'."
|
||||
})
|
||||
})
|
||||
|
||||
it('can handle empty guide', () => {
|
||||
const results = parser({
|
||||
content: '[]'
|
||||
})
|
||||
|
||||
expect(results).toMatchObject([])
|
||||
})
|
21
sites/digea.gr/readme.md
Normal file
21
sites/digea.gr/readme.md
Normal file
|
@ -0,0 +1,21 @@
|
|||
# digea.gr
|
||||
|
||||
https://www.digea.gr/el/tileoptikoi-stathmoi/ilektronikos-odigos-programmatos
|
||||
|
||||
### Download the guide
|
||||
|
||||
```sh
|
||||
npm run grab --- --site=digea.gr
|
||||
```
|
||||
|
||||
### Update channel list
|
||||
|
||||
```sh
|
||||
npm run channels:parse --- --config=./sites/digea.gr/digea.gr.config.js --output=./sites/digea.gr/digea.gr.channels.xml
|
||||
```
|
||||
|
||||
### Test
|
||||
|
||||
```sh
|
||||
npm test --- digea.gr
|
||||
```
|
|
@ -439,7 +439,7 @@
|
|||
<channel site="directv.com" lang="en" xmltv_id="BravoEast.us" site_id="237#273">Bravo</channel>
|
||||
<channel site="directv.com" lang="en" xmltv_id="BravoEast.us" site_id="237#8258">Bravo HD</channel>
|
||||
<channel site="directv.com" lang="en" xmltv_id="BYUTV.us" site_id="374#374">BYUtv</channel>
|
||||
<channel site="directv.com" lang="en" xmltv_id="Canal6Nacional.mx" site_id="412#5442">Multimedios</channel>
|
||||
<channel site="directv.com" lang="en" xmltv_id="" site_id="412#5442">Multimedios</channel>
|
||||
<channel site="directv.com" lang="en" xmltv_id="CaracolInternacional.co" site_id="417#2547">Caracol TV</channel>
|
||||
<channel site="directv.com" lang="en" xmltv_id="CartoonNetworkEast.us" site_id="296#296">Cartoon Network</channel>
|
||||
<channel site="directv.com" lang="en" xmltv_id="CartoonNetworkEast.us" site_id="296#8255">Cartoon Network HD</channel>
|
||||
|
@ -448,8 +448,8 @@
|
|||
<channel site="directv.com" lang="en" xmltv_id="CBSSportsNetworkUSA.us" site_id="221#5613">CBS Sports Network HD</channel>
|
||||
<channel site="directv.com" lang="en" xmltv_id="CCTV4America.cn" site_id="2052#4500">CCTV4</channel>
|
||||
<channel site="directv.com" lang="en" xmltv_id="CCTV4America.cn" site_id="2113#5448">CCTV-4 2113</channel>
|
||||
<channel site="directv.com" lang="en" xmltv_id="CGTNAmerica.cn" site_id="2053#4556">CGTN 2053 (99R)</channel>
|
||||
<channel site="directv.com" lang="en" xmltv_id="CGTNAmerica.cn" site_id="2119#4053">CGTN 2119</channel>
|
||||
<channel site="directv.com" lang="en" xmltv_id="" site_id="2053#4556">CGTN 2053 (99R)</channel>
|
||||
<channel site="directv.com" lang="en" xmltv_id="" site_id="2119#4053">CGTN 2119</channel>
|
||||
<channel site="directv.com" lang="en" xmltv_id="ChannelNecoInternational.jp" site_id="2042#2195">Channel NECO International</channel>
|
||||
<channel site="directv.com" lang="en" xmltv_id="CharmingChina.us" site_id="2055#4508">Charming China 2055</channel>
|
||||
<channel site="directv.com" lang="en" xmltv_id="CharmingChina.us" site_id="2116#4031">Charming China 2116</channel>
|
||||
|
@ -518,7 +518,7 @@
|
|||
<channel site="directv.com" lang="en" xmltv_id="EWTN.us" site_id="370#422">EWTN</channel>
|
||||
<channel site="directv.com" lang="en" xmltv_id="FamilyEntertainmentTV.us" site_id="323#1983">Family Entertainment Television</channel>
|
||||
<channel site="directv.com" lang="en" xmltv_id="FlixEast.us" site_id="556#547">Flix</channel>
|
||||
<channel site="directv.com" lang="en" xmltv_id="FMTV.us" site_id="386#8983">FM HD</channel>
|
||||
<channel site="directv.com" lang="en" xmltv_id="" site_id="386#8983">FM HD</channel>
|
||||
<channel site="directv.com" lang="en" xmltv_id="FoodNetworkEast.us" site_id="231#231">Food Network</channel>
|
||||
<channel site="directv.com" lang="en" xmltv_id="FoodNetworkEast.us" site_id="231#8278">Food Network HD</channel>
|
||||
<channel site="directv.com" lang="en" xmltv_id="Foro.mx" site_id="453#3439">FOROtv</channel>
|
||||
|
@ -565,7 +565,7 @@
|
|||
<channel site="directv.com" lang="en" xmltv_id="HBOEast.us" site_id="501#501">HBO East</channel>
|
||||
<channel site="directv.com" lang="en" xmltv_id="HBOFamilyEast.us" site_id="507#507">HBO Family East</channel>
|
||||
<channel site="directv.com" lang="en" xmltv_id="HBOFamilyEast.us" site_id="507#8973">HBO Family East HD</channel>
|
||||
<channel site="directv.com" lang="en" xmltv_id="HBOFamilyWest.us" site_id="508#508">HBO Family West</channel>
|
||||
<channel site="directv.com" lang="en" xmltv_id="" site_id="508#508">HBO Family West</channel>
|
||||
<channel site="directv.com" lang="en" xmltv_id="HBOSignatureEast.us" site_id="503#1786">HBO Signature HD East</channel>
|
||||
<channel site="directv.com" lang="en" xmltv_id="HBOSignatureEast.us" site_id="503#503">HBO Signature</channel>
|
||||
<channel site="directv.com" lang="en" xmltv_id="HBOWest.us" site_id="504#504">HBO West</channel>
|
||||
|
@ -628,7 +628,7 @@
|
|||
<channel site="directv.com" lang="en" xmltv_id="MLBNetworkAlternate.us" site_id="213#5214">MLB Network Alt. 213-1 HD</channel>
|
||||
<channel site="directv.com" lang="en" xmltv_id="MoreMaxEast.us" site_id="517#4066">MoreMAX HD</channel>
|
||||
<channel site="directv.com" lang="en" xmltv_id="MoreMaxEast.us" site_id="517#513">MoreMAX</channel>
|
||||
<channel site="directv.com" lang="en" xmltv_id="Motortrend.us" site_id="281#3505">MotorTrend HD</channel>
|
||||
<channel site="directv.com" lang="en" xmltv_id="" site_id="281#3505">MotorTrend HD</channel>
|
||||
<channel site="directv.com" lang="en" xmltv_id="MovieMaxEast.us" site_id="521#3339">MovieMAX</channel>
|
||||
<channel site="directv.com" lang="en" xmltv_id="MSNBC.us" site_id="356#3526">MSNBC HD</channel>
|
||||
<channel site="directv.com" lang="en" xmltv_id="MSNBC.us" site_id="356#356">MSNBC</channel>
|
||||
|
|
|
@ -137,7 +137,7 @@
|
|||
<channel site="dishtv.in" lang="en" xmltv_id="ChannelDivya.in" site_id="10000000004750000">Divya TV</channel>
|
||||
<channel site="dishtv.in" lang="en" xmltv_id="ChardiklaTimeTV.in" site_id="10000000003050000">CHARDIKLA TIME TV</channel>
|
||||
<channel site="dishtv.in" lang="en" xmltv_id="CinemaTV.in" site_id="10000000009290000">CINEMA TV INDIA</channel>
|
||||
<channel site="dishtv.in" lang="en" xmltv_id="CNBCAwaaz.in" site_id="10000000000890000">CNBC AWAAZ</channel>
|
||||
<channel site="dishtv.in" lang="en" xmltv_id="" site_id="10000000000890000">CNBC AWAAZ</channel>
|
||||
<channel site="dishtv.in" lang="en" xmltv_id="CNBCBajar.in" site_id="10000000022380000">CNBC Bajar</channel>
|
||||
<channel site="dishtv.in" lang="en" xmltv_id="CNNInternationalSouthAsia.us" site_id="10000000000770000">CNN INTL</channel>
|
||||
<channel site="dishtv.in" lang="en" xmltv_id="CNNNews18.in" site_id="10000000000780000">CNN NEWS 18</channel>
|
||||
|
|
|
@ -18,15 +18,15 @@
|
|||
<channel site="dstv.com" lang="en" xmltv_id="" site_id="nga#489">Maaddii Abol</channel>
|
||||
<channel site="dstv.com" lang="en" xmltv_id="" site_id="nga#215">SS MotorSport Nigeria</channel>
|
||||
<channel site="dstv.com" lang="en" xmltv_id="1Magic.za" site_id="nga#103">1 Magic</channel>
|
||||
<channel site="dstv.com" lang="en" xmltv_id="AfricaMagicEpic.za" site_id="nga#152">Africa Magic Epic</channel>
|
||||
<channel site="dstv.com" lang="en" xmltv_id="AfricaMagicFamily.za" site_id="nga#154">Africa Magic Family</channel>
|
||||
<channel site="dstv.com" lang="en" xmltv_id="AfricaMagicHausa.za" site_id="nga#156">Africa Magic Hausa</channel>
|
||||
<channel site="dstv.com" lang="en" xmltv_id="AfricaMagicIgbo.za" site_id="nga#159">Africa Magic Igbo</channel>
|
||||
<channel site="dstv.com" lang="en" xmltv_id="AfricaMagicShowcase.za" site_id="nga#151">Africa Magic Showcase HD</channel>
|
||||
<channel site="dstv.com" lang="en" xmltv_id="AfricaMagicUrban.za" site_id="nga#153">Africa Magic Urban</channel>
|
||||
<channel site="dstv.com" lang="en" xmltv_id="AfricaMagicYoruba.za" site_id="nga#157">Africa Magic Yoruba</channel>
|
||||
<channel site="dstv.com" lang="en" xmltv_id="AfricanewsEnglish.cg" site_id="nga#417">Africanews</channel>
|
||||
<channel site="dstv.com" lang="en" xmltv_id="AfroMusicPop.pt" site_id="nga#326">AFRO Music English</channel>
|
||||
<channel site="dstv.com" lang="en" xmltv_id="" site_id="nga#152">Africa Magic Epic</channel>
|
||||
<channel site="dstv.com" lang="en" xmltv_id="" site_id="nga#154">Africa Magic Family</channel>
|
||||
<channel site="dstv.com" lang="en" xmltv_id="" site_id="nga#156">Africa Magic Hausa</channel>
|
||||
<channel site="dstv.com" lang="en" xmltv_id="" site_id="nga#159">Africa Magic Igbo</channel>
|
||||
<channel site="dstv.com" lang="en" xmltv_id="" site_id="nga#151">Africa Magic Showcase HD</channel>
|
||||
<channel site="dstv.com" lang="en" xmltv_id="" site_id="nga#153">Africa Magic Urban</channel>
|
||||
<channel site="dstv.com" lang="en" xmltv_id="" site_id="nga#157">Africa Magic Yoruba</channel>
|
||||
<channel site="dstv.com" lang="en" xmltv_id="" site_id="nga#417">Africanews</channel>
|
||||
<channel site="dstv.com" lang="en" xmltv_id="" site_id="nga#326">AFRO Music English</channel>
|
||||
<channel site="dstv.com" lang="en" xmltv_id="AITInternational.ng" site_id="nga#253">AIT</channel>
|
||||
<channel site="dstv.com" lang="en" xmltv_id="AlJazeeraEnglish.qa" site_id="nga#406">Al Jazeera</channel>
|
||||
<channel site="dstv.com" lang="en" xmltv_id="Arewa24.ng" site_id="nga#261">Arewa 24</channel>
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
<channel site="elcinema.com" lang="ar" xmltv_id="2MInternational.ma" site_id="1353">المغربية الثانية</channel>
|
||||
<channel site="elcinema.com" lang="ar" xmltv_id="AbuDhabiTV.ae" site_id="1136">أبو ظبي</channel>
|
||||
<channel site="elcinema.com" lang="ar" xmltv_id="AlAoulaMiddleEast.ma" site_id="1312">الأولى المغربية</channel>
|
||||
<channel site="elcinema.com" lang="ar" xmltv_id="AlArabyTV2.uk" site_id="1382">التلفزيون العربي 2</channel>
|
||||
<channel site="elcinema.com" lang="ar" xmltv_id="" site_id="1382">التلفزيون العربي 2</channel>
|
||||
<channel site="elcinema.com" lang="ar" xmltv_id="AlDafrahTV.ae" site_id="1264">الظفرة</channel>
|
||||
<channel site="elcinema.com" lang="ar" xmltv_id="AlhayatTV.eg" site_id="1137">الحياة</channel>
|
||||
<channel site="elcinema.com" lang="ar" xmltv_id="AlJadeed.lb" site_id="1216">الجديد</channel>
|
||||
|
@ -78,7 +78,7 @@
|
|||
<channel site="elcinema.com" lang="ar" xmltv_id="MBCMasr.eg" site_id="1239">إم بي سي مصر</channel>
|
||||
<channel site="elcinema.com" lang="ar" xmltv_id="MBCMasr2.eg" site_id="1278">إم بي سي مصر 2</channel>
|
||||
<channel site="elcinema.com" lang="ar" xmltv_id="MBCMax.ae" site_id="1132">إم بي سي ماكس</channel>
|
||||
<channel site="elcinema.com" lang="ar" xmltv_id="MBCPlusDrama.ae" site_id="1131">إم بي سي دراما +</channel>
|
||||
<channel site="elcinema.com" lang="ar" xmltv_id="" site_id="1131">إم بي سي دراما +</channel>
|
||||
<channel site="elcinema.com" lang="ar" xmltv_id="MixBelAraby.eg" site_id="1371">ميكس بالعربي</channel>
|
||||
<channel site="elcinema.com" lang="ar" xmltv_id="MTV.lb" site_id="1296">إم تي في</channel>
|
||||
<channel site="elcinema.com" lang="ar" xmltv_id="NationalGeographicAbuDhabi.ae" site_id="1266">ناشونال جيوجراف...</channel>
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
<channel site="elcinema.com" lang="en" xmltv_id="2MInternational.ma" site_id="1353">2M TV</channel>
|
||||
<channel site="elcinema.com" lang="en" xmltv_id="AbuDhabiTV.ae" site_id="1136">Abu Dhabi TV</channel>
|
||||
<channel site="elcinema.com" lang="en" xmltv_id="AlAoulaMiddleEast.ma" site_id="1312">Al Aoula Morocco</channel>
|
||||
<channel site="elcinema.com" lang="en" xmltv_id="AlArabyTV2.uk" site_id="1382">Alaraby TV 2</channel>
|
||||
<channel site="elcinema.com" lang="en" xmltv_id="" site_id="1382">Alaraby TV 2</channel>
|
||||
<channel site="elcinema.com" lang="en" xmltv_id="AlDafrahTV.ae" site_id="1264">Al Dafrah</channel>
|
||||
<channel site="elcinema.com" lang="en" xmltv_id="AlhayatTV.eg" site_id="1137">Alhayat TV</channel>
|
||||
<channel site="elcinema.com" lang="en" xmltv_id="AlJadeed.lb" site_id="1216">Al Jadeed TV</channel>
|
||||
|
@ -71,11 +71,11 @@
|
|||
<channel site="elcinema.com" lang="en" xmltv_id="MBCAction.ae" site_id="1130">MBC Action</channel>
|
||||
<channel site="elcinema.com" lang="en" xmltv_id="MBCBollywood.ae" site_id="1259">MBC Bollywood</channel>
|
||||
<channel site="elcinema.com" lang="en" xmltv_id="MBCDrama.ae" site_id="1194">MBC Drama</channel>
|
||||
<channel site="elcinema.com" lang="en" xmltv_id="MBCIraq.ae" site_id="1340">MBC Iraq</channel>
|
||||
<channel site="elcinema.com" lang="en" xmltv_id="" site_id="1340">MBC Iraq</channel>
|
||||
<channel site="elcinema.com" lang="en" xmltv_id="MBCMasr.eg" site_id="1239">MBC Egypt</channel>
|
||||
<channel site="elcinema.com" lang="en" xmltv_id="MBCMasr2.eg" site_id="1278">MBC MASR 2</channel>
|
||||
<channel site="elcinema.com" lang="en" xmltv_id="MBCMax.ae" site_id="1132">MBC MAX</channel>
|
||||
<channel site="elcinema.com" lang="en" xmltv_id="MBCPlusDrama.ae" site_id="1131">MBC Drama +</channel>
|
||||
<channel site="elcinema.com" lang="en" xmltv_id="" site_id="1131">MBC Drama +</channel>
|
||||
<channel site="elcinema.com" lang="en" xmltv_id="MixBelAraby.eg" site_id="1371">Mix Bel Araby</channel>
|
||||
<channel site="elcinema.com" lang="en" xmltv_id="MTV.lb" site_id="1296">MTV</channel>
|
||||
<channel site="elcinema.com" lang="en" xmltv_id="NationalGeographicAbuDhabi.ae" site_id="1266">National Geogra...</channel>
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
<channel site="entertainment.ie" lang="en" xmltv_id="" site_id="sky-cinema-spooky">Sky Cinema Spooky</channel>
|
||||
<channel site="entertainment.ie" lang="en" xmltv_id="" site_id="sky-cinema-twilight">Sky Cinema Twilight</channel>
|
||||
<channel site="entertainment.ie" lang="en" xmltv_id="4Music.uk" site_id="4music">4Music</channel>
|
||||
<channel site="entertainment.ie" lang="en" xmltv_id="alibi.uk" site_id="alibi">Alibi</channel>
|
||||
<channel site="entertainment.ie" lang="en" xmltv_id="" site_id="alibi">Alibi</channel>
|
||||
<channel site="entertainment.ie" lang="en" xmltv_id="AnimalPlanet.uk" site_id="animal-planet">Animal Planet</channel>
|
||||
<channel site="entertainment.ie" lang="en" xmltv_id="BBCFour.uk" site_id="bbc-four">BBC Four</channel>
|
||||
<channel site="entertainment.ie" lang="en" xmltv_id="BBCOneNorthernIreland.uk" site_id="bbc-one-ni">BBC One NI</channel>
|
||||
|
@ -26,20 +26,20 @@
|
|||
<channel site="entertainment.ie" lang="en" xmltv_id="ComedyCentral.uk" site_id="comedy-central">Comedy Central</channel>
|
||||
<channel site="entertainment.ie" lang="en" xmltv_id="ComedyCentralExtra.uk" site_id="comedy-central-extra">Comedy Central Extra</channel>
|
||||
<channel site="entertainment.ie" lang="en" xmltv_id="Cula4.ie" site_id="cula4">Cúla4</channel>
|
||||
<channel site="entertainment.ie" lang="en" xmltv_id="Dave.uk" site_id="dave">Dave</channel>
|
||||
<channel site="entertainment.ie" lang="en" xmltv_id="" site_id="dave">Dave</channel>
|
||||
<channel site="entertainment.ie" lang="en" xmltv_id="DiscoveryChannel.uk" site_id="discovery-channel">Discovery Channel</channel>
|
||||
<channel site="entertainment.ie" lang="en" xmltv_id="DiscoveryHistory.uk" site_id="discovery-history">Discovery History</channel>
|
||||
<channel site="entertainment.ie" lang="en" xmltv_id="DiscoveryScience.uk" site_id="discovery-science">Discovery Science</channel>
|
||||
<channel site="entertainment.ie" lang="en" xmltv_id="DiscoveryTurbo.uk" site_id="discovery-turbo">Discovery Turbo</channel>
|
||||
<channel site="entertainment.ie" lang="en" xmltv_id="DMAX.uk" site_id="dmax">DMAX</channel>
|
||||
<channel site="entertainment.ie" lang="en" xmltv_id="Drama.uk" site_id="drama">Drama</channel>
|
||||
<channel site="entertainment.ie" lang="en" xmltv_id="" site_id="drama">Drama</channel>
|
||||
<channel site="entertainment.ie" lang="en" xmltv_id="E.ie" site_id="e-entertainment">E! Entertainment</channel>
|
||||
<channel site="entertainment.ie" lang="en" xmltv_id="E4.uk" site_id="e4">E4</channel>
|
||||
<channel site="entertainment.ie" lang="en" xmltv_id="E4Extra.uk" site_id="e4-extra">E4 Extra</channel>
|
||||
<channel site="entertainment.ie" lang="en" xmltv_id="Eden.uk" site_id="eden">Eden</channel>
|
||||
<channel site="entertainment.ie" lang="en" xmltv_id="" site_id="eden">Eden</channel>
|
||||
<channel site="entertainment.ie" lang="en" xmltv_id="Eurosport1.uk" site_id="eurosport-1">Eurosport 1</channel>
|
||||
<channel site="entertainment.ie" lang="en" xmltv_id="Eurosport2.uk" site_id="eurosport-2">Eurosport 2</channel>
|
||||
<channel site="entertainment.ie" lang="en" xmltv_id="GOLD.uk" site_id="gold">GOLD</channel>
|
||||
<channel site="entertainment.ie" lang="en" xmltv_id="" site_id="gold">GOLD</channel>
|
||||
<channel site="entertainment.ie" lang="en" xmltv_id="GREATaction.uk" site_id="great-action">Great! Action</channel>
|
||||
<channel site="entertainment.ie" lang="en" xmltv_id="GREATmovies.uk" site_id="great-movies">Great! Movies</channel>
|
||||
<channel site="entertainment.ie" lang="en" xmltv_id="GREATromance.uk" site_id="great-movies-romance">Great! Movies Romance</channel>
|
||||
|
@ -107,6 +107,6 @@
|
|||
<channel site="entertainment.ie" lang="en" xmltv_id="VirginMediaOne.ie" site_id="virgin-media-one">Virgin Media One</channel>
|
||||
<channel site="entertainment.ie" lang="en" xmltv_id="VirginMediaThree.ie" site_id="virgin-media-three">Virgin Media Three</channel>
|
||||
<channel site="entertainment.ie" lang="en" xmltv_id="VirginMediaTwo.ie" site_id="virgin-media-two">Virgin Media Two</channel>
|
||||
<channel site="entertainment.ie" lang="en" xmltv_id="W.uk" site_id="w">W</channel>
|
||||
<channel site="entertainment.ie" lang="en" xmltv_id="Yesterday.uk" site_id="yesterday">Yesterday</channel>
|
||||
<channel site="entertainment.ie" lang="en" xmltv_id="" site_id="w">W</channel>
|
||||
<channel site="entertainment.ie" lang="en" xmltv_id="" site_id="yesterday">Yesterday</channel>
|
||||
</channels>
|
||||
|
|
|
@ -14,7 +14,6 @@
|
|||
<channel site="epg.112114.xyz" lang="zh" xmltv_id="" site_id="CCTV3">CCTV3</channel>
|
||||
<channel site="epg.112114.xyz" lang="zh" xmltv_id="" site_id="CCTV4">CCTV4</channel>
|
||||
<channel site="epg.112114.xyz" lang="zh" xmltv_id="" site_id="CCTV4K">CCTV4K</channel>
|
||||
<channel site="epg.112114.xyz" lang="zh" xmltv_id="" site_id="CCTV4K">CCTV4K</channel>
|
||||
<channel site="epg.112114.xyz" lang="zh" xmltv_id="" site_id="CCTV4欧洲">CCTV4欧洲</channel>
|
||||
<channel site="epg.112114.xyz" lang="zh" xmltv_id="" site_id="CCTV4美洲">CCTV4美洲</channel>
|
||||
<channel site="epg.112114.xyz" lang="zh" xmltv_id="" site_id="CCTV5">CCTV5</channel>
|
||||
|
@ -563,10 +562,8 @@
|
|||
<channel site="epg.112114.xyz" lang="zh" xmltv_id="" site_id="民视">民视</channel>
|
||||
<channel site="epg.112114.xyz" lang="zh" xmltv_id="" site_id="求索动物">求索动物</channel>
|
||||
<channel site="epg.112114.xyz" lang="zh" xmltv_id="" site_id="求索生活">求索生活</channel>
|
||||
<channel site="epg.112114.xyz" lang="zh" xmltv_id="" site_id="求索生活">求索生活</channel>
|
||||
<channel site="epg.112114.xyz" lang="zh" xmltv_id="" site_id="求索科学">求索科学</channel>
|
||||
<channel site="epg.112114.xyz" lang="zh" xmltv_id="" site_id="求索纪录">求索纪录</channel>
|
||||
<channel site="epg.112114.xyz" lang="zh" xmltv_id="" site_id="求索纪录">求索纪录</channel>
|
||||
<channel site="epg.112114.xyz" lang="zh" xmltv_id="" site_id="求索记录">求索记录</channel>
|
||||
<channel site="epg.112114.xyz" lang="zh" xmltv_id="" site_id="汕头文旅体育">汕头文旅体育</channel>
|
||||
<channel site="epg.112114.xyz" lang="zh" xmltv_id="" site_id="汕头新闻综合">汕头新闻综合</channel>
|
||||
|
|
|
@ -33,9 +33,9 @@
|
|||
<channel site="firstmedia.com" lang="en" xmltv_id="CelestialMoviesIndonesiaHD.id" site_id="311">Celestial Movies HD</channel>
|
||||
<channel site="firstmedia.com" lang="en" xmltv_id="CGTN.cn" site_id="210">CGTN</channel>
|
||||
<channel site="firstmedia.com" lang="en" xmltv_id="ChampionsTV1.id" site_id="141">Champions TV 1</channel>
|
||||
<channel site="firstmedia.com" lang="en" xmltv_id="ChampionsTV1HD.id" site_id="321">Champions TV 1 HD</channel>
|
||||
<channel site="firstmedia.com" lang="en" xmltv_id="" site_id="321">Champions TV 1 HD</channel>
|
||||
<channel site="firstmedia.com" lang="en" xmltv_id="ChampionsTV2.id" site_id="142">Champions TV 2</channel>
|
||||
<channel site="firstmedia.com" lang="en" xmltv_id="ChampionsTV2HD.id" site_id="322">Champions TV 2 HD</channel>
|
||||
<channel site="firstmedia.com" lang="en" xmltv_id="" site_id="322">Champions TV 2 HD</channel>
|
||||
<channel site="firstmedia.com" lang="en" xmltv_id="CinemaxAsia.sg" site_id="290">Cinemax</channel>
|
||||
<channel site="firstmedia.com" lang="en" xmltv_id="CinemaxAsiaHD.sg" site_id="310">Cinemax HD</channel>
|
||||
<channel site="firstmedia.com" lang="en" xmltv_id="CNA.sg" site_id="242">Channel News Asia</channel>
|
||||
|
|
|
@ -134,7 +134,7 @@
|
|||
<channel site="flixed.io" lang="en" xmltv_id="CartoonNetworkEast.us" site_id="12131">Cartoon Network (East)</channel>
|
||||
<channel site="flixed.io" lang="en" xmltv_id="CartoonNetworkWest.us" site_id="18151">Cartoon Network (West)</channel>
|
||||
<channel site="flixed.io" lang="en" xmltv_id="CBSEast.us" site_id="10098">CBS (East)</channel>
|
||||
<channel site="flixed.io" lang="en" xmltv_id="CBSNews.us" site_id="104846">CBS News Streaming</channel>
|
||||
<channel site="flixed.io" lang="en" xmltv_id="" site_id="104846">CBS News Streaming</channel>
|
||||
<channel site="flixed.io" lang="en" xmltv_id="CBSSportsNetworkUSA.us" site_id="16365">CBS Sports Network</channel>
|
||||
<channel site="flixed.io" lang="en" xmltv_id="CBSSportsNetworkUSA.us" site_id="59250">CBS Sports Network HD</channel>
|
||||
<channel site="flixed.io" lang="en" xmltv_id="CBSWest.us" site_id="29073">CBS (West)</channel>
|
||||
|
@ -234,7 +234,7 @@
|
|||
<channel site="flixed.io" lang="en" xmltv_id="HBOComedyEast.us" site_id="59839">HBO Comedy HD</channel>
|
||||
<channel site="flixed.io" lang="en" xmltv_id="HBOEast.us" site_id="10240">HBO (East)</channel>
|
||||
<channel site="flixed.io" lang="en" xmltv_id="HBOFamilyEast.us" site_id="16585">HBO Family (East)</channel>
|
||||
<channel site="flixed.io" lang="en" xmltv_id="HBOFamilyWest.us" site_id="16619">HBO Family (West)</channel>
|
||||
<channel site="flixed.io" lang="en" xmltv_id="" site_id="16619">HBO Family (West)</channel>
|
||||
<channel site="flixed.io" lang="en" xmltv_id="HBOSignatureEast.us" site_id="10243">HBO Signature (East)</channel>
|
||||
<channel site="flixed.io" lang="en" xmltv_id="HBOSignatureWest.us" site_id="16576">HBO Signature (West)</channel>
|
||||
<channel site="flixed.io" lang="en" xmltv_id="HBOWest.us" site_id="10244">HBO (West)</channel>
|
||||
|
@ -279,7 +279,7 @@
|
|||
<channel site="flixed.io" lang="en" xmltv_id="MLBStrikeZone.us" site_id="75219">MLB Network Strike Zone</channel>
|
||||
<channel site="flixed.io" lang="en" xmltv_id="MoreMaxEast.us" site_id="10121">MoreMAX (East)</channel>
|
||||
<channel site="flixed.io" lang="en" xmltv_id="MoreMaxWest.us" site_id="16620">MoreMAX (West)</channel>
|
||||
<channel site="flixed.io" lang="en" xmltv_id="Motortrend.us" site_id="31046">MOTORTREND HD</channel>
|
||||
<channel site="flixed.io" lang="en" xmltv_id="" site_id="31046">MOTORTREND HD</channel>
|
||||
<channel site="flixed.io" lang="en" xmltv_id="MSG.us" site_id="80169">MSG National</channel>
|
||||
<channel site="flixed.io" lang="en" xmltv_id="MSGPlus.us" site_id="11105">MSG Plus Zone 1</channel>
|
||||
<channel site="flixed.io" lang="en" xmltv_id="MSGPlus2.us" site_id="65492">MSG Plus HD Zone 2</channel>
|
||||
|
|
|
@ -160,7 +160,7 @@
|
|||
<channel site="freeview.co.uk" lang="en" xmltv_id="UDave.uk" site_id="64257#22272">U&Dave</channel>
|
||||
<channel site="freeview.co.uk" lang="en" xmltv_id="UDaveJaVu.uk" site_id="64257#13008">U&DaveJaVu</channel>
|
||||
<channel site="freeview.co.uk" lang="en" xmltv_id="UDrama.uk" site_id="64257#16208">U&Drama</channel>
|
||||
<channel site="freeview.co.uk" lang="en" xmltv_id="UDramaPlus1.us" site_id="64257#22336">U&Drama+1</channel>
|
||||
<channel site="freeview.co.uk" lang="en" xmltv_id="UDramaPlus1.uk" site_id="64257#22336">U&Drama+1</channel>
|
||||
<channel site="freeview.co.uk" lang="en" xmltv_id="UEden.uk" site_id="64257#19968">U&Eden</channel>
|
||||
<channel site="freeview.co.uk" lang="en" xmltv_id="UW.uk" site_id="64257#28096">U&W</channel>
|
||||
<channel site="freeview.co.uk" lang="en" xmltv_id="UYesterday.uk" site_id="64257#25792">U&Yesterday</channel>
|
||||
|
|
|
@ -265,7 +265,7 @@
|
|||
<channel site="gatotv.com" lang="es" xmltv_id="ExcelsiorTV.mx" site_id="excelsior_tv">Excelsior TV</channel>
|
||||
<channel site="gatotv.com" lang="es" xmltv_id="ExtraTV42.cr" site_id="extra_tv_42_de_costa_rica">42 de Costa Rica</channel>
|
||||
<channel site="gatotv.com" lang="es" xmltv_id="Foro.mx" site_id="foro_tv">Foro TV</channel>
|
||||
<channel site="gatotv.com" lang="es" xmltv_id="Fox.es" site_id="fox_espana">Fox España</channel>
|
||||
<channel site="gatotv.com" lang="es" xmltv_id="" site_id="fox_espana">Fox España</channel>
|
||||
<channel site="gatotv.com" lang="es" xmltv_id="FoxDeportes.us" site_id="fox_deportes">Fox Deportes</channel>
|
||||
<channel site="gatotv.com" lang="es" xmltv_id="FoxNewsChannel.us" site_id="fox_news">Fox News</channel>
|
||||
<channel site="gatotv.com" lang="es" xmltv_id="FUTV.cr" site_id="futv">FUTV</channel>
|
||||
|
@ -379,7 +379,7 @@
|
|||
<channel site="gatotv.com" lang="es" xmltv_id="Syfy.es" site_id="syfy_espana">Syfy España</channel>
|
||||
<channel site="gatotv.com" lang="es" xmltv_id="TCM.es" site_id="tcm_espana">TCM España</channel>
|
||||
<channel site="gatotv.com" lang="es" xmltv_id="TCMPanregional.us" site_id="tcm_panregional">TCM Panregional</channel>
|
||||
<channel site="gatotv.com" lang="es" xmltv_id="TCTV.ec" site_id="tc_television">TC Televisión</channel>
|
||||
<channel site="gatotv.com" lang="es" xmltv_id="" site_id="tc_television">TC Televisión</channel>
|
||||
<channel site="gatotv.com" lang="es" xmltv_id="TeenNickLatinAmerica.us" site_id="teennick">TeenNick</channel>
|
||||
<channel site="gatotv.com" lang="es" xmltv_id="Teleamazonas.ec" site_id="teleamazonas">Teleamazonas</channel>
|
||||
<channel site="gatotv.com" lang="es" xmltv_id="TeleAntillas.do" site_id="2_de_republica_dominicana_teleantillas">2 de República Dominicana</channel>
|
||||
|
@ -428,7 +428,7 @@
|
|||
<channel site="gatotv.com" lang="es" xmltv_id="Tooncast.us" site_id="tooncast">Tooncast</channel>
|
||||
<channel site="gatotv.com" lang="es" xmltv_id="Trece.co" site_id="13_de_colombia">13 de Colombia</channel>
|
||||
<channel site="gatotv.com" lang="es" xmltv_id="Trece.py" site_id="13_de_paraguay">13 de Paraguay</channel>
|
||||
<channel site="gatotv.com" lang="es" xmltv_id="TreceCostaRicaTV.cr" site_id="13_de_costa_rica">13 de Costa Rica</channel>
|
||||
<channel site="gatotv.com" lang="es" xmltv_id="" site_id="13_de_costa_rica">13 de Costa Rica</channel>
|
||||
<channel site="gatotv.com" lang="es" xmltv_id="truTVLatinAmerica.us" site_id="tru_tv">truTV Lat.</channel>
|
||||
<channel site="gatotv.com" lang="es" xmltv_id="TSi.hn" site_id="tsi_honduras">Telesistema Informativo (TSI)</channel>
|
||||
<channel site="gatotv.com" lang="es" xmltv_id="TUDN.mx" site_id="tudn_mexico">TUDN México</channel>
|
||||
|
|
2978
sites/guiadetv.com/__data__/content.html
Normal file
2978
sites/guiadetv.com/__data__/content.html
Normal file
File diff suppressed because it is too large
Load diff
471
sites/guiadetv.com/__data__/no_content.html
Normal file
471
sites/guiadetv.com/__data__/no_content.html
Normal file
|
@ -0,0 +1,471 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="pt-BR">
|
||||
|
||||
<head>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="mobile-web-app-capable" content="yes">
|
||||
<meta name="robots" content="index, follow">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="author" content="Guia de TV - O seu guia de tv completo">
|
||||
<link rel="preconnect" href="https://apis.google.com">
|
||||
<link rel="preconnect" href="https://pagead2.googlesyndication.com">
|
||||
<link rel="preconnect" href="https://www.google-analytics.com">
|
||||
<link rel="preconnect" href="https://www.googletagmanager.com">
|
||||
<title>Estamos com Problemas de Conexão - Guia de TV</title>
|
||||
<meta content="Estamos com Problemas de Conexão - Guia de TV" name="description">
|
||||
<meta content="tv, guia de tv, guia da tv, programção da tv, tv guia" name="keywords">
|
||||
<link href="" rel="canonical">
|
||||
<script>
|
||||
eval(function(p,a,c,k,e,d){e=function(c){return c};if(!''.replace(/^/,String)){while(c--){d[c]=k[c]||c}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('6(1.0)5.4.3("2-0",1.0);',7,7,'theme|localStorage|data|setAttribute|documentElement|document|if'.split('|'),0,{}))
|
||||
</script>
|
||||
<meta content="#1987C9" name="theme-color">
|
||||
<meta content="yes" name="apple-mobile-web-app-capable">
|
||||
<meta content="#1987C9" name="msapplication-TileColor">
|
||||
<meta content="#1987C9" name="msapplication-navbutton-color">
|
||||
|
||||
<link media="all" type="text/css" rel="stylesheet" href="https://www.guiadetv.com/assets/css/home.css?id=115642e437be337a48a6">
|
||||
<link media="all" type="text/css" rel="stylesheet" href="https://www.guiadetv.com/css/img.css?1.2.2">
|
||||
|
||||
<meta property="og:locale" content="pt_BR" />
|
||||
<link rel="alternate" href="android-app://com.guiadetv">
|
||||
<meta content="Estamos com Problemas de Conexão - Guia de TV" property="og:title">
|
||||
<meta content="Estamos com Problemas de Conexão - Guia de TV" property="og:description">
|
||||
<meta content="https://www.guiadetv.com/assets/img/guiadetv.png" property="og:image">
|
||||
<meta content="500" property="og:image:width">
|
||||
<meta content="500" property="og:image:height">
|
||||
<meta property="og:site_name" content="Guia de TV" />
|
||||
<meta content="article" property="og:type">
|
||||
<meta content="https://www.guiadetv.com" property="og:url">
|
||||
<meta content="pt_BR" property="og:locale">
|
||||
<meta content="https://fb.com/guiadetv" property="article:publisher">
|
||||
|
||||
<meta content="summary_large_image" property="twitter:card">
|
||||
<meta content="@guiadetvbr" property="twitter:site">
|
||||
<meta content="Estamos com Problemas de Conexão - Guia de TV" property="twitter:title">
|
||||
<meta content="Estamos com Problemas de Conexão - Guia de TV" property="twitter:description">
|
||||
<meta content="https://www.guiadetv.com/assets/img/guiadetv.png" property="twitter:image">
|
||||
<meta content="https://www.guiadetv.com" property="twitter:url">
|
||||
|
||||
<meta content="Estamos com Problemas de Conexão - Guia de TV" itemprop="name">
|
||||
<meta content="https://www.guiadetv.com" itemprop="url">
|
||||
<meta content="https://www.guiadetv.com/assets/img/guiadetv.png" itemprop="image">
|
||||
<meta content="Estamos com Problemas de Conexão - Guia de TV" itemprop="description">
|
||||
<meta content="https://www.guiadetv.com" name="application-name">
|
||||
<meta name="copyright" content="Guia de TV" />
|
||||
|
||||
<meta content="noodp" name="googlebot">
|
||||
<meta name="Googlebot-News" content="index, follow">
|
||||
|
||||
<meta content="551672212353377" property="fb:app_id">
|
||||
<meta name="google-site-verification" content="Jw0tC6Y79JP2VFeTuhFJt5kiAZ2lL8whxZlo4F37qtc" />
|
||||
|
||||
<link href="https://fonts.googleapis.com/css?family=Poppins:300,400,500,600,700" rel="stylesheet">
|
||||
<meta content="no-cache, no-store" http-equiv="Cache-Control">
|
||||
<meta content="no-cache, no-store" http-equiv="Pragma">
|
||||
<meta content="Mon, 06 Jan 1990 00:00:01 GMT" http-equiv="expires">
|
||||
<meta content="1" property="fb:aa_id">
|
||||
|
||||
<link rel="shortcut icon" href="https://www.guiadetv.com/assets/icons/favicon.ico" />
|
||||
<link href="https://www.guiadetv.com/assets/icons/apple-icon-57x57.png" rel="apple-touch-icon" sizes="57x57">
|
||||
<link href="https://www.guiadetv.com/assets/icons/apple-icon-60x60.png" rel="apple-touch-icon" sizes="60x60">
|
||||
<link href="https://www.guiadetv.com/assets/icons/apple-icon-72x72.png" rel="apple-touch-icon" sizes="72x72">
|
||||
<link href="https://www.guiadetv.com/assets/icons/apple-icon-76x76.png" rel="apple-touch-icon" sizes="76x76">
|
||||
<link href="https://www.guiadetv.com/assets/icons/apple-icon-114x114.png" rel="apple-touch-icon" sizes="114x114">
|
||||
<link href="https://www.guiadetv.com/assets/icons/apple-icon-120x120.png" rel="apple-touch-icon" sizes="120x120">
|
||||
<link href="https://www.guiadetv.com/assets/icons/apple-icon-144x144.png" rel="apple-touch-icon" sizes="144x144">
|
||||
<link href="https://www.guiadetv.com/assets/icons/apple-icon-152x152.png" rel="apple-touch-icon" sizes="152x152">
|
||||
<link href="https://www.guiadetv.com/assets/icons/apple-icon-180x180.png" rel="apple-touch-icon" sizes="180x180">
|
||||
<link href="https://www.guiadetv.com/assets/icons/android-icon-192x192.png" rel="icon" sizes="192x192" type="image/png">
|
||||
<link href="https://www.guiadetv.com/assets/icons/favicon-32x32.png" rel="icon" sizes="32x32" type="image/png">
|
||||
<link href="https://www.guiadetv.com/assets/icons/favicon-96x96.png" rel="icon" sizes="96x96" type="image/png">
|
||||
<link href="https://www.guiadetv.com/assets/icons/favicon-16x16.png" rel="icon" sizes="16x16" type="image/png">
|
||||
<link href="https://www.guiadetv.com/assets/icons/manifest.json" rel="manifest">
|
||||
<meta content="https://www.guiadetv.com/assets/icons/ms-icon-144x144.png" name="msapplication-TileImage">
|
||||
|
||||
<script>
|
||||
self!=top&&top.location.replace(window.location.href)
|
||||
</script>
|
||||
|
||||
<script async src="https://www.googletagmanager.com/gtag/js?id=G-MVBE98M22E"></script>
|
||||
<script>
|
||||
window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-MVBE98M22E');
|
||||
</script>
|
||||
|
||||
<script>
|
||||
function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","UA-260225556-1");
|
||||
</script>
|
||||
|
||||
<script type="text/javascript">
|
||||
(function(c,l,a,r,i,t,y){
|
||||
c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};
|
||||
t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i;
|
||||
y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);
|
||||
})(window, document, "clarity", "script", "oor5to7xw2");
|
||||
</script>
|
||||
|
||||
|
||||
<!-- Livewire Styles --><style >[wire\:loading][wire\:loading], [wire\:loading\.delay][wire\:loading\.delay], [wire\:loading\.inline-block][wire\:loading\.inline-block], [wire\:loading\.inline][wire\:loading\.inline], [wire\:loading\.block][wire\:loading\.block], [wire\:loading\.flex][wire\:loading\.flex], [wire\:loading\.table][wire\:loading\.table], [wire\:loading\.grid][wire\:loading\.grid], [wire\:loading\.inline-flex][wire\:loading\.inline-flex] {display: none;}[wire\:loading\.delay\.none][wire\:loading\.delay\.none], [wire\:loading\.delay\.shortest][wire\:loading\.delay\.shortest], [wire\:loading\.delay\.shorter][wire\:loading\.delay\.shorter], [wire\:loading\.delay\.short][wire\:loading\.delay\.short], [wire\:loading\.delay\.default][wire\:loading\.delay\.default], [wire\:loading\.delay\.long][wire\:loading\.delay\.long], [wire\:loading\.delay\.longer][wire\:loading\.delay\.longer], [wire\:loading\.delay\.longest][wire\:loading\.delay\.longest] {display: none;}[wire\:offline][wire\:offline] {display: none;}[wire\:dirty]:not(textarea):not(input):not(select) {display: none;}:root {--livewire-progress-bar-color: #2299dd;}[x-cloak] {display: none !important;}</style>
|
||||
</head>
|
||||
|
||||
<body id="kt_body" class="toolbar-enabled">
|
||||
|
||||
|
||||
<div id="menukit">
|
||||
<div class="d-flex flex-column-auto">
|
||||
<div class="page d-flex flex-row flex-column-fluid">
|
||||
<div class="wrapper d-flex flex-column flex-row-fluid" id="kt_wrapper">
|
||||
<div id="kt_header" class="header border-gray-300 border-bottom bg-white align-items-stretch"
|
||||
data-kt-sticky="true" data-kt-sticky-name="header"
|
||||
data-kt-sticky-offset="{default: '500px', lg: '500px'}">
|
||||
<div class="container-xxl d-flex align-items-center">
|
||||
<div class="d-flex align-items-center d-lg-none ms-n2 me-3" data-bs-toggle="collapse"
|
||||
title="Exibir Menu">
|
||||
<div class="btn btn-icon btn-custom w-30px h-30px w-md-40px h-md-40px"
|
||||
id="kt_header_menu_mobile_toggle"><i class="fas fa-bars text-primary fs-2x"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="header-logo me-5 me-md-10 flex-grow-1 flex-lg-grow-0"> <a href="/" wire:navigate>
|
||||
<img alt="Logo" src="/assets/img/logo_with.svg"
|
||||
class="darklogo h-35px h-lg-50px logo-default" />
|
||||
<img alt="Logo" src="/assets/img/logo.svg" class="withlogo h-35px h-lg-50px logo-default" />
|
||||
</a></div>
|
||||
<div class="d-flex flex-row-reverse align-items-stretch justify-content-between flex-lg-grow-1">
|
||||
<div class="d-flex align-items-stretch flex-shrink-1" id="kt_header_nav">
|
||||
<div class="header-menu align-items-stretch" data-kt-drawer="true"
|
||||
data-kt-drawer-name="header-menu" data-kt-drawer-activate="{default: true, lg: false}"
|
||||
data-kt-drawer-overlay="{default: true, lg: false}"
|
||||
data-kt-drawer-width="{default:'200px', '300px': '250px'}"
|
||||
data-kt-drawer-direction="start" data-kt-drawer-toggle="#kt_header_menu_mobile_toggle"
|
||||
data-kt-drawer-dismiss="true"
|
||||
data-kt-swapper="true" data-kt-swapper-mode="prepend"
|
||||
data-kt-swapper-parent="{default: '#kt_body', lg: '#kt_header_nav'}">
|
||||
|
||||
<div class="menu menu-column menu-lg-row menu-state-bg colorfut " data-kt-menu="true">
|
||||
|
||||
<div class="d-lg-none mb-6 d-flex py-4
|
||||
border-gray-300 border-bottom bg-opacity-80 justify-content-center"><img alt="Logo"
|
||||
src="/assets/img/logo_with.svg"
|
||||
class="darklogo h-35px h-lg-50px logo-default" />
|
||||
<img alt="Logo" src="/assets/img/logo.svg"
|
||||
class="withlogo h-35px h-lg-50px logo-default" />
|
||||
</div>
|
||||
|
||||
|
||||
<a href="https://www.guiadetv.com" wire:navigate>
|
||||
<div
|
||||
class=" menu-item menu-lg-down-accordion me-lg-1">
|
||||
<span class="menu-link py-3">
|
||||
<span class="menu-title"> Início</span> </span>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
<a href="https://www.guiadetv.com/programacao/" wire:navigate.hover>
|
||||
<div
|
||||
class=" active menu-item menu-lg-down-accordion me-lg-1">
|
||||
<span class="menu-link py-3">
|
||||
<span class="menu-title"> Programação da TV</span> </span>
|
||||
</div>
|
||||
</a>
|
||||
<a href="https://www.guiadetv.com/futebol/hoje/" wire:navigate.hover>
|
||||
<div
|
||||
class=" menu-item menu-lg-down-accordion me-lg-1">
|
||||
<span class="menu-link py-3"> <span class="menu-title">Futebol
|
||||
Hoje</span>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a href="https://www.guiadetv.com/info/contato/" wire:navigate>
|
||||
<div
|
||||
class=" menu-item menu-lg-down-accordion me-lg-1">
|
||||
<span class="menu-link py-3"> <span class="menu-title">Contato</span>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="d-flex align-items-stretch justify-content-between">
|
||||
<div class="topbar d-flex align-items-stretch flex-shrink-1">
|
||||
|
||||
<div class="d-flex align-items-center ms-1 ms-lg-3">
|
||||
<div class="btn btn-icon btn-custom position-relative w-30px h-30px w-md-40px h-md-40px"
|
||||
data-bs-html="true" data-bs-placement="bottom" data-bs-toggle="modal"
|
||||
data-bs-target="#modal_search">
|
||||
<i class="fas fa-search text-primary fs-2x"></i>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="d-flex align-items-center ms-1 ms-lg-3">
|
||||
<div class="btn btn-icon btn-custom position-relative w-30px h-30px w-md-40px h-md-40px"
|
||||
data-bs-html="true" data-bs-placement="bottom" data-bs-toggle="modal"
|
||||
data-bs-target="#kt_modal_1"><i class="bi bi-gear fs-2x text-primary"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div id="pub" class="mt-4">
|
||||
|
||||
|
||||
|
||||
<div class="mt-2 p-2 col-md-10 mb-10 col-lg-7">
|
||||
<div id="androidDiv" style="display: none;">
|
||||
<a href="https://play.google.com/store/apps/details?id=com.guiadetv&orig=site" target="_blank">
|
||||
<img src="https://www.guiadetv.com/assets/publi/baixar-app-guiadetv.png" width="100%" alt=""
|
||||
alt="Link para baixar o nosso app na Google Play Store">
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
function isAndroid() {
|
||||
return /Android/i.test(navigator.userAgent);
|
||||
}
|
||||
var div = document.getElementById('androidDiv');
|
||||
if (isAndroid()) {
|
||||
div.style.display = 'block';
|
||||
} else {
|
||||
div.style.display = 'none';
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<main id="guiadetv" class="global flex-root"><div class="container-xxl ">
|
||||
<div class="row mt-10 ">
|
||||
<div class="col-sm-12 col-md-12 col-lg-12 ">
|
||||
<center>
|
||||
<div>
|
||||
<img src="/assets/img/foradoar.gif" alt="500" class="img-fluid">
|
||||
<h1> 500 </h1>
|
||||
</div>
|
||||
|
||||
<div class="ml-4 mb-10 text-lg text-gray-500 uppercase tracking-wider">
|
||||
Estamos com Problemas de Conexão</div>
|
||||
</center>
|
||||
</div></div>
|
||||
</main>
|
||||
<footer class="bg-white border-gray-300 border-top">
|
||||
<div class="footer-copyright align-items-stretch p-3 mt-5">
|
||||
<div class="container ">
|
||||
<div class="row">
|
||||
<div class="col l2 s12 ">
|
||||
<p> <a href="/">
|
||||
<img alt="Logo" src="/assets/img/logo_with.svg"
|
||||
class="darklogo h-35px h-lg-50px logo-default" />
|
||||
<img alt="Logo" src="/assets/img/logo.svg" class="withlogo h-35px h-lg-50px logo-default" />
|
||||
</a></p>
|
||||
<h5 class="white-text">Programação da TV</h5>
|
||||
<p class="grey-text text-lighten-4">Explore a programação diária dos canais abertos e fechados, com
|
||||
o Guia de TV você sabe quais programas vão passar e seus horários. O guia de TV te ajuda a
|
||||
não perder nada.</p>
|
||||
|
||||
<h3>Nosso Aplicativo</h3>
|
||||
|
||||
|
||||
<a href="https://play.google.com/store/apps/details?id=com.guiadetv" target="_blank"
|
||||
title="Baixe nosso app para ANDROID">
|
||||
<img src="/assets/img/app_badge_google.png" alt="Google Play Store" width="151" height="45"></a>
|
||||
</div>
|
||||
<div class="col l5 offset-l2 s12">
|
||||
<h3>Guia de TV</h3>
|
||||
<ul class="list-unstyled text-small">
|
||||
<li class="mb-1"><a class="text-dark" href="https://www.guiadetv.com/">Página Inicial</a></li>
|
||||
<li class="mb-1"><a class="text-dark" href="https://www.guiadetv.com/programacao/">Agora na TV</a>
|
||||
</li>
|
||||
<li class="mb-1"><a class="text-dark" href="https://www.guiadetv.com/guiadejogos/">Guia de Jogos</a>
|
||||
</li>
|
||||
<li class="mb-1"><a class="text-dark" href="https://www.guiadetv.com/noticias/">Notícias</a></li>
|
||||
|
||||
<li class="mb-1"><a class="text-dark" href="https://www.guiadetv.com/categorias/esportes.html">Esportes na
|
||||
TV</a></li>
|
||||
<li class="mb-1"><a class="text-dark" href="https://www.guiadetv.com/categorias/noticias.html">Notícias da
|
||||
TV</a></li>
|
||||
<li class="mb-1"><a class="text-dark" href="https://www.guiadetv.com/categorias/filmes-e-series.html">Filmes e Séries</a></li>
|
||||
<li class="mb-1"><a class="text-dark" href="https://www.guiadetv.com/categorias/documentarios.html">Documentários na TV</a></li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="col l5 offset-l2 s12">
|
||||
<h3>Links Úteis</h3>
|
||||
<ul class="list-unstyled text-small">
|
||||
<li class="mb-1"><a class="text-dark" href="https://www.guiadetv.com/info/sobre/">Sobre</a></li>
|
||||
<li class="mb-1"><a class="text-dark" href="https://www.guiadetv.com/info/contato/">Contato</a></li>
|
||||
<li class="mb-1"><a class="text-dark" href="https://www.guiadetv.com/info/politica/">Política de
|
||||
Privacidade</a></li>
|
||||
<li class="mb-1"><a class="text-dark" href="https://www.guiadetv.com/info/cookies/">Política de
|
||||
Cookies</a></li>
|
||||
<li class="mb-1"><a class="text-dark" href="https://www.guiadetv.com/info/termo-de-uso/">Termos de
|
||||
Uso</a></li>
|
||||
<li class="mb-1"><a class="text-dark" href="https://www.guiadetv.com/info/advertising/">Publicidade</a></li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="footer-copyright border-gray-300 border-top align-items-stretch p-5 mb-20">
|
||||
<div class="container mb-20">
|
||||
<div class="row">
|
||||
|
||||
<div class="col l5 offset-l2 s12">
|
||||
© 2024 GuiadeTV.com - Todos os direitos reservados </br>
|
||||
® É proibida a reprodução parcial ou total do nosso conteúdo.
|
||||
<a href="/info/blog"> <span class="badge badge-primary"> Versão 1.2.2
|
||||
</span></a>
|
||||
</div>
|
||||
|
||||
<div class="col l5 offset-l2 s12 float-end">
|
||||
<p class=" mb-1"> Visite-nos
|
||||
<a class="text-primary right" href="https://twitter.com/guiadetvbr" target="_blank"> Twitter</a>
|
||||
•
|
||||
<a class="text-primary right" href="https://instagram.com/guiadetvoficial" target="_blank">
|
||||
Instagram </a>
|
||||
|
||||
</br>
|
||||
© COPYRIGHT 23-2024 •
|
||||
by SincNetwork
|
||||
</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</footer>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="modal fade" tabindex="-1" id="modal_search">
|
||||
<div class="modal-dialog ">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">Faça uma Busca</h5>
|
||||
<div class="btn btn-icon btn-sm btn-active-light-primary ms-2" data-bs-dismiss="modal"
|
||||
aria-label="Close">
|
||||
<span class="svg-icon svg-icon-2">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
|
||||
<rect opacity="0.5" x="6" y="17.3137" width="16" height="2" rx="1"
|
||||
transform="rotate(-45 6 17.3137)" fill="black" />
|
||||
<rect x="7.41422" y="6" width="16" height="2" rx="1" transform="rotate(45 7.41422 6)"
|
||||
fill="black" />
|
||||
</svg>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="modal-body">
|
||||
|
||||
<div class="container d-flex flex-row py-2">
|
||||
|
||||
<form action="https://www.guiadetv.com/resultado/" method="get" id="users-form"
|
||||
class="tm-search input-group mb-3">
|
||||
<input type="text" name="q" required class="form-control" placeholder="Buscar"
|
||||
aria-label="Buscar" aria-describedby="button-addon2">
|
||||
<button class="tm-execute btn btn-primary" type="submit" id="button-addon2">Buscar</button>
|
||||
|
||||
</form>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="modal fade" tabindex="-1" id="kt_modal_1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">Configurações</h5>
|
||||
<div class="btn btn-icon btn-sm btn-active-light-primary ms-2" data-bs-dismiss="modal"
|
||||
aria-label="Close">
|
||||
<span class="svg-icon svg-icon-2">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
|
||||
<rect opacity="0.5" x="6" y="17.3137" width="16" height="2" rx="1"
|
||||
transform="rotate(-45 6 17.3137)" fill="black" />
|
||||
<rect x="7.41422" y="6" width="16" height="2" rx="1" transform="rotate(45 7.41422 6)"
|
||||
fill="black" />
|
||||
</svg>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="modal-body">
|
||||
<hr>
|
||||
<div class="chip">
|
||||
<div class="form-check form-switch " id="dark-mode-button">
|
||||
<label>
|
||||
<input class="form-check-input" type="checkbox" id="chck">
|
||||
<label class="form-check-label {default:'350px', 'lg': '700px'}" for="chck"> Modo
|
||||
Dark</label>
|
||||
<br> Ative o modo Dark e deixe a tala escura.
|
||||
O modo escuro ajudará o seu dispositivo a economizar bateria e reduzir a tensão dos seus
|
||||
olhos.
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<p>Versão do site <br> 1.2.2 </p>
|
||||
<hr>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-light" data-bs-dismiss="modal">Fechar</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script id="_wauwewlzq" async src="//waust.at/p2.js?w=wewlzq"></script>
|
||||
<script src="https://www.guiadetv.com/assets/js/home.js?id=1f561bd3424e841754de" data-spa="auto"></script>
|
||||
<script src="https://www.guiadetv.com/vendor/livewire/livewire.min.js?id=38dc8241" data-csrf="SPMsLqHtrgXSCKIbSadEthRbLqfRprA3uV1Tx5uk" data-update-uri="/livewire/update" data-navigate-once="true"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
127
sites/guiadetv.com/guiadetv.com.channels.xml
Normal file
127
sites/guiadetv.com/guiadetv.com.channels.xml
Normal file
|
@ -0,0 +1,127 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<channels>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="ae">A&E</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="agro">Agro+</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="amc">AMC</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="animal-planet">Animal Planet</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="arte-1">Arte 1</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="axn">AXN</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="band">Band</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="bandnews">Bandnews</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="bandsports">Bandsports</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="bbc-world">BBC World</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="bis">Bis</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="bloomberg">Bloomberg</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="box-kids">Box Kids</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="canal-educacao">Canal Educação</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="canal-rural">Canal Rural</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="cancao-nova">Canção Nova</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="cartoon-network">Cartoon Network</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="cartoonito">Cartoonito</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="cinecanal">Cinecanal</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="cinemax">Cinemax</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="cnn-brasil">CNN Brasil</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="combate">Combate</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="comedy-central">Comedy Central</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="curta">Curta!</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="discovery-channel">Discovery Channel</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="discovery-home-health">Discovery Home & Health</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="discovery-kids">Discovery Kids</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="discovery-science">Discovery Science</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="discovery-theater">Discovery Theater</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="discovery-turbo">Discovery Turbo</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="discovery-world">Discovery World</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="disney">Disney</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="e">E!</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="espn">ESPN</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="espn-2">ESPN 2</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="espn-3">ESPN 3</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="espn-4">ESPN 4</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="espn-5">ESPN 5</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="espn-6">ESPN 6</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="film-arts">Film & Arts</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="food-network">Food Network</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="fox-news">Fox News</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="futura">Futura</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="fx">FX</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="globo">Globo</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="globo-news">Globo News</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="gloob">Gloob</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="gloobinho">Gloobinho</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="gnt">GNT</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="hbo">HBO</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="hbo-2">HBO 2</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="hbo-family">HBO Family</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="hbo-mundi">HBO Mundi</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="hbo-plus">HBO Plus</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="hbo-pop">HBO Pop</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="hbo-signature">HBO Signature</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="hbo-xtreme">HBO Xtreme</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="hgtv">HGTV</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="history">History</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="history-2">History 2</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="investigacao-discovery">Investigação Discovery</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="jovem-pan-news">Jovem Pan News</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="lifetime">Lifetime</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="megapix">Megapix</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="mtv">MTV</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="mtv-live">MTV LIVE</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="multishow">Multishow</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="national-geographic">National Geographic</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="nick-jr-">Nick Jr.</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="nickelodeon">Nickelodeon</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="off">Off</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="paramount-network">Paramount Network</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="premiere-2">Premiere 2</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="premiere-3">Premiere 3</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="premiere-4">Premiere 4</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="premiere-5">Premiere 5</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="premiere-6">Premiere 6</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="premiere-7">Premiere 7</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="premiere-fc">Premiere FC</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="prime-box-brazil">Prime Box Brazil</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="record-news">Record News</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="record-tv">Record TV</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="rede-brasil">Rede Brasil</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="rede-familia">Rede Família</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="rede-gospel">Rede Gospel</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="rede-seculo-21">Rede Século 21</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="rede-tv">Rede TV</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="rede-vida">Rede Vida</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="sbt">SBT</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="sony">Sony</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="sony-movies">SONY Movies</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="space">Space</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="sportv">SporTV</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="sportv-2">SporTV 2</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="sportv-3">SporTV 3</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="star-channel">STAR Channel</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="studio-universal">Studio Universal</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="syfy">Syfy</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="tcm">TCM</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="telecine-action">Telecine Action</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="telecine-cult">Telecine Cult</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="telecine-fun">Telecine Fun</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="telecine-pipoca">Telecine Pipoca</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="telecine-premium">Telecine Premium</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="telecine-touch">Telecine Touch</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="terra-viva">Terra Viva</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="tlc">TLC</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="tnt">TNT</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="tnt-novelas">TNT Novelas</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="tnt-series">TNT Séries</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="tooncast">Tooncast</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="travel-box-brasil">Travel Box Brasil</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="trutv">truTV</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="tv-aparecida">TV Aparecida</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="tv-brasil">TV Brasil</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="tv-camara">TV Câmara</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="tv-cultura">TV Cultura</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="tv-gazeta">Tv Gazeta</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="tv-ra-tim-bum">TV Rá Tim Bum</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="tv-senado">TV Senado</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="universal-tv">Universal TV</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="viva">Viva</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="warner">Warner</channel>
|
||||
<channel site="guiadetv.com" lang="pt" xmltv_id="" site_id="woohoo">Woohoo</channel>
|
||||
</channels>
|
101
sites/guiadetv.com/guiadetv.com.config.js
Normal file
101
sites/guiadetv.com/guiadetv.com.config.js
Normal file
|
@ -0,0 +1,101 @@
|
|||
const cheerio = require('cheerio')
|
||||
const axios = require('axios')
|
||||
const dayjs = require('dayjs')
|
||||
const customParseFormat = require('dayjs/plugin/customParseFormat')
|
||||
|
||||
dayjs.extend(customParseFormat)
|
||||
|
||||
require('dayjs/locale/pt')
|
||||
|
||||
module.exports = {
|
||||
site: 'guiadetv.com',
|
||||
days: 2,
|
||||
url({ channel }) {
|
||||
return `https://www.guiadetv.com/canal/${channel.site_id}`
|
||||
},
|
||||
parser({ content, date }) {
|
||||
const programs = []
|
||||
const items = parseItems(content, date)
|
||||
items.forEach(item => {
|
||||
const prev = programs[programs.length - 1]
|
||||
const $item = cheerio.load(item)
|
||||
const title = parseTitle($item)
|
||||
let start = parseStart($item)
|
||||
if (!start || !title) return
|
||||
if (prev) {
|
||||
prev.stop = start
|
||||
}
|
||||
const stop = start.add(30, 'm')
|
||||
|
||||
programs.push({
|
||||
title,
|
||||
description: parseDescription($item),
|
||||
category: parseCategory($item),
|
||||
start,
|
||||
stop
|
||||
})
|
||||
})
|
||||
|
||||
return programs
|
||||
},
|
||||
async channels() {
|
||||
const categories = [
|
||||
'variedades',
|
||||
'tv-aberta',
|
||||
'noticias',
|
||||
'infantil',
|
||||
'filmes-e-series',
|
||||
'esportes',
|
||||
'documentarios'
|
||||
]
|
||||
const promises = categories.map(category =>
|
||||
axios.get(`https://www.guiadetv.com/categorias/${category}.html`)
|
||||
)
|
||||
|
||||
const channels = []
|
||||
const results = await Promise.all(promises).catch(console.log)
|
||||
results.forEach(r => {
|
||||
const $ = cheerio.load(r.data)
|
||||
$('.cardchannel').each((i, el) => {
|
||||
const link = $(el).find('a')
|
||||
const name = link.attr('title')
|
||||
const url = link.attr('href')
|
||||
const site_id = url.replace('https://www.guiadetv.com/canal/', '')
|
||||
|
||||
channels.push({
|
||||
lang: 'pt',
|
||||
name,
|
||||
site_id
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
return channels
|
||||
}
|
||||
}
|
||||
|
||||
function parseTitle($item) {
|
||||
return $item('h3').text().trim()
|
||||
}
|
||||
|
||||
function parseDescription($item) {
|
||||
return $item('p').clone().children().remove().end().text().trim() || null
|
||||
}
|
||||
|
||||
function parseCategory($item) {
|
||||
return $item('p > i').text().trim() || null
|
||||
}
|
||||
|
||||
function parseStart($item) {
|
||||
const dt = $item('b span:nth-child(1)').data('dt') || $item('b').data('dt')
|
||||
if (!dt) return null
|
||||
|
||||
return dayjs(dt, 'YYYY-MM-DD HH:mm:ssZ')
|
||||
}
|
||||
|
||||
function parseItems(content, date) {
|
||||
const $ = cheerio.load(content)
|
||||
const localDate = date.locale('pt').format('D MMMM YYYY')
|
||||
|
||||
return $(`.row:contains(${localDate})`).nextUntil('.row:not(.mt-1)').toArray()
|
||||
}
|
80
sites/guiadetv.com/guiadetv.com.test.js
Normal file
80
sites/guiadetv.com/guiadetv.com.test.js
Normal file
|
@ -0,0 +1,80 @@
|
|||
const { parser, url } = require('./guiadetv.com.config.js')
|
||||
const fs = require('fs')
|
||||
const path = require('path')
|
||||
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('2025-01-18', 'YYYY-MM-DD').startOf('d')
|
||||
const channel = {
|
||||
site_id: 'canal-rural',
|
||||
xmltv_id: 'CanalRural.br'
|
||||
}
|
||||
|
||||
it('can generate valid url', () => {
|
||||
expect(url({ channel })).toBe('https://www.guiadetv.com/canal/canal-rural')
|
||||
})
|
||||
|
||||
it('can parse response', () => {
|
||||
const content = fs.readFileSync(path.resolve(__dirname, '__data__/content.html'))
|
||||
const results = parser({ content, date }).map(p => {
|
||||
p.start = p.start.toJSON()
|
||||
p.stop = p.stop.toJSON()
|
||||
return p
|
||||
})
|
||||
|
||||
expect(results.length).toBe(16)
|
||||
expect(results[0]).toMatchObject({
|
||||
start: '2025-01-18T03:00:00.000Z',
|
||||
stop: '2025-01-18T04:00:00.000Z',
|
||||
title: 'Leilão',
|
||||
description: null,
|
||||
category: null
|
||||
})
|
||||
expect(results[2]).toMatchObject({
|
||||
start: '2025-01-18T06:00:00.000Z',
|
||||
stop: '2025-01-18T09:00:00.000Z',
|
||||
title: 'TV Verdade',
|
||||
description: null,
|
||||
category: 'Jornalismo'
|
||||
})
|
||||
expect(results[15]).toMatchObject({
|
||||
start: '2025-01-19T00:00:00.000Z',
|
||||
stop: '2025-01-19T00:30:00.000Z',
|
||||
title: 'Leilão',
|
||||
description: null,
|
||||
category: null
|
||||
})
|
||||
})
|
||||
|
||||
it('can parse response for current day', () => {
|
||||
const content = fs.readFileSync(path.resolve(__dirname, '__data__/content.html'))
|
||||
const results = parser({ content, date: dayjs.utc('2025-01-15', 'YYYY-MM-DD').startOf('d') }).map(
|
||||
p => {
|
||||
p.start = p.start.toJSON()
|
||||
p.stop = p.stop.toJSON()
|
||||
return p
|
||||
}
|
||||
)
|
||||
|
||||
expect(results.length).toBe(7)
|
||||
expect(results[0]).toMatchObject({
|
||||
start: '2025-01-15T21:15:00.000Z',
|
||||
stop: '2025-01-15T21:45:00.000Z',
|
||||
title: 'Planeta Campo Talks',
|
||||
description:
|
||||
'Grandes reportagens, notícias, entrevistas e debates com foco em ações de sustentabilidade e indicadores ESG. Informações para apoiar o produtor rural a plantar e criar com olhar para o futuro.',
|
||||
category: null
|
||||
})
|
||||
})
|
||||
|
||||
it('can handle empty guide', () => {
|
||||
const results = parser({
|
||||
date,
|
||||
content: fs.readFileSync(path.resolve(__dirname, '__data__/no_content.html'))
|
||||
})
|
||||
|
||||
expect(results).toMatchObject([])
|
||||
})
|
21
sites/guiadetv.com/readme.md
Normal file
21
sites/guiadetv.com/readme.md
Normal file
|
@ -0,0 +1,21 @@
|
|||
# guiadetv.com
|
||||
|
||||
https://www.guiadetv.com/programacao/
|
||||
|
||||
### Download the guide
|
||||
|
||||
```sh
|
||||
npm run grab --- --site=guiadetv.com
|
||||
```
|
||||
|
||||
### Update channel list
|
||||
|
||||
```sh
|
||||
npm run channels:parse --- --config=./sites/guiadetv.com/guiadetv.com.config.js --output=./sites/guiadetv.com/guiadetv.com.channels.xml
|
||||
```
|
||||
|
||||
### Test
|
||||
|
||||
```sh
|
||||
npm test --- guiadetv.com
|
||||
```
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<channels>
|
||||
<channel site="hoy.tv" lang="zh" xmltv_id="HOYIBC.hk" site_id="76">HOY 國際財經台</channel>
|
||||
<channel site="hoy.tv" lang="zh" xmltv_id="" site_id="76">HOY 國際財經台</channel>
|
||||
<channel site="hoy.tv" lang="zh" xmltv_id="HOYTV.hk" site_id="77">HOY TV</channel>
|
||||
<channel site="hoy.tv" lang="zh" xmltv_id="HOYInfotainment.hk" site_id="78">HOY 資訊台</channel>
|
||||
<channel site="hoy.tv" lang="zh" xmltv_id="" site_id="78">HOY 資訊台</channel>
|
||||
</channels>
|
||||
|
|
|
@ -230,7 +230,7 @@
|
|||
<channel site="i.mjh.nz" lang="en" xmltv_id="GlewedTV.us" site_id="Plex/all#5e20b730f2f8d5003d739db7-5eea605474085f0040ddc76d">Glewed TV</channel>
|
||||
<channel site="i.mjh.nz" lang="en" xmltv_id="GoTraveler.us" site_id="Plex/all#5e20b730f2f8d5003d739db7-60a53634126de9002e694bc2">GoTraveler</channel>
|
||||
<channel site="i.mjh.nz" lang="en" xmltv_id="GravitasMovies.us" site_id="Plex/all#5e20b730f2f8d5003d739db7-5efe1de7e0b3f5003f5d9f8e">Gravitas Movies</channel>
|
||||
<channel site="i.mjh.nz" lang="en" xmltv_id="GustoTV.us" site_id="Plex/all#5e20b730f2f8d5003d739db7-5f8746eabd529300418246d9">GUSTOTV</channel>
|
||||
<channel site="i.mjh.nz" lang="en" xmltv_id="" site_id="Plex/all#5e20b730f2f8d5003d739db7-5f8746eabd529300418246d9">GUSTOTV</channel>
|
||||
<channel site="i.mjh.nz" lang="en" xmltv_id="HallmarkMoviesMore.us" site_id="Plex/all#5e20b730f2f8d5003d739db7-6244cf3c742b0d58cd4f2514">Hallmark Movies & More</channel>
|
||||
<channel site="i.mjh.nz" lang="en" xmltv_id="HardKnocks.ca" site_id="Plex/all#5e20b730f2f8d5003d739db7-5fd115bdb7ef8d002dcf1820">Hard Knocks</channel>
|
||||
<channel site="i.mjh.nz" lang="en" xmltv_id="HiYAH.us" site_id="Plex/all#5e20b730f2f8d5003d739db7-5f64c4ef35f612003f6ffe30">Hi-YAH!</channel>
|
||||
|
|
|
@ -698,7 +698,7 @@
|
|||
<channel site="i.mjh.nz" lang="en" xmltv_id="BritishDrama.us" site_id="PlutoTV/us#5b68a18823ecb93393cba2f1">British Drama</channel>
|
||||
<channel site="i.mjh.nz" lang="en" xmltv_id="Buzzr.us" site_id="PlutoTV/us#5812bfbe4ced4f7b601b12e6">BUZZR</channel>
|
||||
<channel site="i.mjh.nz" lang="en" xmltv_id="Cats247.us" site_id="PlutoTV/us#599375885ceaac3cabccbed7">Cats 24/7</channel>
|
||||
<channel site="i.mjh.nz" lang="en" xmltv_id="CBSNews.us" site_id="PlutoTV/us#5a6b92f6e22a617379789618">CBS News</channel>
|
||||
<channel site="i.mjh.nz" lang="en" xmltv_id="" site_id="PlutoTV/us#5a6b92f6e22a617379789618">CBS News</channel>
|
||||
<channel site="i.mjh.nz" lang="en" xmltv_id="CBSNewsBaltimore.us" site_id="PlutoTV/us#60f75919718aed0007250d7a">CBS News Baltimore</channel>
|
||||
<channel site="i.mjh.nz" lang="en" xmltv_id="CBSNewsBayArea.us" site_id="PlutoTV/us#5eb1afb21486df0007abc57c">CBS News Bay Area</channel>
|
||||
<channel site="i.mjh.nz" lang="en" xmltv_id="CBSNewsBoston.us" site_id="PlutoTV/us#5eb1af2ad345340008fccd1e">CBS News Boston</channel>
|
||||
|
|
|
@ -961,7 +961,7 @@
|
|||
<channel site="i.mjh.nz" lang="en" xmltv_id="BloombergQuicktake.us" site_id="SamsungTVPlus/us#USAJ30000041W">Bloomberg Originals</channel>
|
||||
<channel site="i.mjh.nz" lang="en" xmltv_id="BratTV.us" site_id="SamsungTVPlus/us#USBC240001823">Brat TV</channel>
|
||||
<channel site="i.mjh.nz" lang="en" xmltv_id="CarsTV.us" site_id="SamsungTVPlus/us#USAJ3504545A">Cars</channel>
|
||||
<channel site="i.mjh.nz" lang="en" xmltv_id="CBSNews.us" site_id="SamsungTVPlus/us#USBA370000104">CBS News</channel>
|
||||
<channel site="i.mjh.nz" lang="en" xmltv_id="" site_id="SamsungTVPlus/us#USBA370000104">CBS News</channel>
|
||||
<channel site="i.mjh.nz" lang="en" xmltv_id="ChickenSoupfortheSoul.us" site_id="SamsungTVPlus/us#USBC2100007I2">Chicken Soup for the Soul</channel>
|
||||
<channel site="i.mjh.nz" lang="en" xmltv_id="CineRomantico.us" site_id="SamsungTVPlus/us#USBA3800001E0">Cine Romantico</channel>
|
||||
<channel site="i.mjh.nz" lang="en" xmltv_id="Cinevault80s.us" site_id="SamsungTVPlus/us#USAJ30000148W">CINEVAULT: 80s</channel>
|
||||
|
@ -988,7 +988,7 @@
|
|||
<channel site="i.mjh.nz" lang="en" xmltv_id="FoxSoul.us" site_id="SamsungTVPlus/us#USBA300032J7">FOX SOUL</channel>
|
||||
<channel site="i.mjh.nz" lang="en" xmltv_id="FuboSportsNetwork.us" site_id="SamsungTVPlus/us#USAJ2200023Z0">fubo Sports Network</channel>
|
||||
<channel site="i.mjh.nz" lang="en" xmltv_id="GameShowCentral.us" site_id="SamsungTVPlus/us#USAJ3400012FA">Game Show Central</channel>
|
||||
<channel site="i.mjh.nz" lang="en" xmltv_id="GustoTV.us" site_id="SamsungTVPlus/us#USAK3508724A">Gusto TV</channel>
|
||||
<channel site="i.mjh.nz" lang="en" xmltv_id="" site_id="SamsungTVPlus/us#USAK3508724A">Gusto TV</channel>
|
||||
<channel site="i.mjh.nz" lang="en" xmltv_id="HallmarkMoviesMore.us" site_id="SamsungTVPlus/us#USBB19000017U">Highway to Heaven</channel>
|
||||
<channel site="i.mjh.nz" lang="en" xmltv_id="HeartlandWebFeed.us" site_id="SamsungTVPlus/us#USBB2900003O3">Heartland</channel>
|
||||
<channel site="i.mjh.nz" lang="en" xmltv_id="HollyWire.us" site_id="SamsungTVPlus/us#USBC2400015DO">Hollywire</channel>
|
||||
|
|
|
@ -3,5 +3,5 @@
|
|||
<channel site="i24news.tv" lang="ar" xmltv_id="i24NEWSArabic.il" site_id="ar">I24NEWS عربى</channel>
|
||||
<channel site="i24news.tv" lang="en" xmltv_id="i24NEWSEnglishUSA.il" site_id="en">I24NEWS English (USA)</channel>
|
||||
<channel site="i24news.tv" lang="fr" xmltv_id="i24NEWSFrench.il" site_id="fr">I24NEWS Français</channel>
|
||||
<channel site="i24news.tv" lang="he" xmltv_id="i24NEWSHebrew.il" site_id="he">I24NEWS עברית</channel>
|
||||
<channel site="i24news.tv" lang="he" xmltv_id="" site_id="he">I24NEWS עברית</channel>
|
||||
</channels>
|
||||
|
|
|
@ -95,12 +95,12 @@
|
|||
<channel site="iltalehti.fi" lang="fi" xmltv_id="" site_id="9#Vsport-live-4">V Sport Live 4</channel>
|
||||
<channel site="iltalehti.fi" lang="fi" xmltv_id="" site_id="9#Vsport-live-5">V Sport Live 5</channel>
|
||||
<channel site="iltalehti.fi" lang="fi" xmltv_id="AnimalPlanetNordic.uk" site_id="13#animal-planet">Animal Planet</channel>
|
||||
<channel site="iltalehti.fi" lang="fi" xmltv_id="AVA.fi" site_id="1#ava">MTV Ava</channel>
|
||||
<channel site="iltalehti.fi" lang="fi" xmltv_id="" site_id="1#ava">MTV Ava</channel>
|
||||
<channel site="iltalehti.fi" lang="en" xmltv_id="CartoonNetwork.fi" site_id="10#cartoon-network">Cartoon Network</channel>
|
||||
<channel site="iltalehti.fi" lang="fi" xmltv_id="CMoreJuniori.fi" site_id="4#mtv-juniori">MTV juniori</channel>
|
||||
<channel site="iltalehti.fi" lang="fi" xmltv_id="CMoreMax.fi" site_id="4#mtv-max">MTV Max</channel>
|
||||
<channel site="iltalehti.fi" lang="fi" xmltv_id="CMoreSport1.fi" site_id="4#mtv-sport-1">MTV Urheilu 1</channel>
|
||||
<channel site="iltalehti.fi" lang="fi" xmltv_id="CMoreSport2.fi" site_id="4#mtv-sport-2">MTV Urheilu 2</channel>
|
||||
<channel site="iltalehti.fi" lang="fi" xmltv_id="" site_id="4#mtv-max">MTV Max</channel>
|
||||
<channel site="iltalehti.fi" lang="fi" xmltv_id="" site_id="4#mtv-sport-1">MTV Urheilu 1</channel>
|
||||
<channel site="iltalehti.fi" lang="fi" xmltv_id="" site_id="4#mtv-sport-2">MTV Urheilu 2</channel>
|
||||
<channel site="iltalehti.fi" lang="fi" xmltv_id="DiscoveryChannel.fi" site_id="13#discovery-channel">Discovery Channel</channel>
|
||||
<channel site="iltalehti.fi" lang="en" xmltv_id="ExtremeSportsChannel.nl" site_id="9#extreme-sports">Extreme Sports</channel>
|
||||
<channel site="iltalehti.fi" lang="fi" xmltv_id="Fox.fi" site_id="1#fox">Star</channel>
|
||||
|
@ -117,7 +117,7 @@
|
|||
<channel site="iltalehti.fi" lang="fi" xmltv_id="NationalGeographic.fi" site_id="10#national-geographic">National Geographic</channel>
|
||||
<channel site="iltalehti.fi" lang="fi" xmltv_id="Nelonen.fi" site_id="1#nelonen">Nelonen</channel>
|
||||
<channel site="iltalehti.fi" lang="fi" xmltv_id="SFkanalen.se" site_id="4#sf-kanalen">SF-kanalen</channel>
|
||||
<channel site="iltalehti.fi" lang="fi" xmltv_id="Sub.fi" site_id="1#sub">MTV Sub</channel>
|
||||
<channel site="iltalehti.fi" lang="fi" xmltv_id="" site_id="1#sub">MTV Sub</channel>
|
||||
<channel site="iltalehti.fi" lang="sv" xmltv_id="SVT1.se" site_id="20#svt-1">SVT 1</channel>
|
||||
<channel site="iltalehti.fi" lang="sv" xmltv_id="SVT2.se" site_id="20#svt-2">SVT 2</channel>
|
||||
<channel site="iltalehti.fi" lang="sv" xmltv_id="SVT24.se" site_id="20#svt24">SVT24</channel>
|
||||
|
|
|
@ -54,7 +54,7 @@
|
|||
<channel site="indihometv.com" lang="id" xmltv_id="HITSNowHD.sg" site_id="hitsnow">HITS Now</channel>
|
||||
<channel site="indihometv.com" lang="id" xmltv_id="Horee.id" site_id="horee">Horee</channel>
|
||||
<channel site="indihometv.com" lang="id" xmltv_id="HorizonSports.us" site_id="horizonsport">Horizon Sports</channel>
|
||||
<channel site="indihometv.com" lang="id" xmltv_id="I-Konser.id" site_id="ikonser">I-Konser</channel>
|
||||
<channel site="indihometv.com" lang="id" xmltv_id="" site_id="ikonser">I-Konser</channel>
|
||||
<channel site="indihometv.com" lang="id" xmltv_id="IDTV.id" site_id="idtv">IDTV</channel>
|
||||
<channel site="indihometv.com" lang="id" xmltv_id="IDXChannel.id" site_id="idx">IDX</channel>
|
||||
<channel site="indihometv.com" lang="id" xmltv_id="IMC.id" site_id="imc">IMC</channel>
|
||||
|
@ -76,7 +76,7 @@
|
|||
<channel site="indihometv.com" lang="id" xmltv_id="MentariTV.id" site_id="mentaritv">Mentari TV</channel>
|
||||
<channel site="indihometv.com" lang="id" xmltv_id="MetroTV.id" site_id="metrotv">Metro TV</channel>
|
||||
<channel site="indihometv.com" lang="id" xmltv_id="Moji.id" site_id="ochannel">MOJI</channel>
|
||||
<channel site="indihometv.com" lang="id" xmltv_id="Moonbug.id" site_id="moonbug">Moonbug</channel>
|
||||
<channel site="indihometv.com" lang="id" xmltv_id="" site_id="moonbug">Moonbug</channel>
|
||||
<channel site="indihometv.com" lang="id" xmltv_id="MQTV.id" site_id="mqtv">MQTV</channel>
|
||||
<channel site="indihometv.com" lang="id" xmltv_id="MTATV.id" site_id="mtatv">MTATV</channel>
|
||||
<channel site="indihometv.com" lang="id" xmltv_id="MTVLive.uk" site_id="mtvlive">MTV Live</channel>
|
||||
|
@ -84,9 +84,9 @@
|
|||
<channel site="indihometv.com" lang="id" xmltv_id="MyKidz.id" site_id="mykids">MyKidz</channel>
|
||||
<channel site="indihometv.com" lang="id" xmltv_id="NBATV.us" site_id="nba">NBA</channel>
|
||||
<channel site="indihometv.com" lang="id" xmltv_id="NET.id" site_id="net">Net.</channel>
|
||||
<channel site="indihometv.com" lang="id" xmltv_id="NewTvComprehensive.cn" site_id="newtvcomprehensive">New Tv Comprehensive</channel>
|
||||
<channel site="indihometv.com" lang="id" xmltv_id="NewTvFinance.cn" site_id="newtvfinance">New Tv Finance</channel>
|
||||
<channel site="indihometv.com" lang="id" xmltv_id="NewTvVariety.cn" site_id="newtvvariety">New Tv Variety</channel>
|
||||
<channel site="indihometv.com" lang="id" xmltv_id="" site_id="newtvcomprehensive">New Tv Comprehensive</channel>
|
||||
<channel site="indihometv.com" lang="id" xmltv_id="" site_id="newtvfinance">New Tv Finance</channel>
|
||||
<channel site="indihometv.com" lang="id" xmltv_id="" site_id="newtvvariety">New Tv Variety</channel>
|
||||
<channel site="indihometv.com" lang="id" xmltv_id="NHKWorldJapan.jp" site_id="nhkworld">nhk world Japan</channel>
|
||||
<channel site="indihometv.com" lang="id" xmltv_id="NickelodeonAsia.sg" site_id="nickelodeon">Nickelodeon</channel>
|
||||
<channel site="indihometv.com" lang="id" xmltv_id="NickJrAsia.sg" site_id="nickjr">Nick Junior</channel>
|
||||
|
@ -95,7 +95,7 @@
|
|||
<channel site="indihometv.com" lang="id" xmltv_id="ONE.sg" site_id="sone">SONE</channel>
|
||||
<channel site="indihometv.com" lang="id" xmltv_id="PhoenixChineseChannel.hk" site_id="phoenixchinese">Phoenix Chinese</channel>
|
||||
<channel site="indihometv.com" lang="id" xmltv_id="PhoenixInfoNewsChannel.hk" site_id="phoenixinfonews">Phoenix InfoNews</channel>
|
||||
<channel site="indihometv.com" lang="id" xmltv_id="Prambors.id" site_id="pramborstv">Prambors</channel>
|
||||
<channel site="indihometv.com" lang="id" xmltv_id="" site_id="pramborstv">Prambors</channel>
|
||||
<channel site="indihometv.com" lang="id" xmltv_id="QuranTV.sa" site_id="alquran">AlQuran Kareem</channel>
|
||||
<channel site="indihometv.com" lang="id" xmltv_id="RajawaliTV.id" site_id="rtv">Rajawali TV</channel>
|
||||
<channel site="indihometv.com" lang="id" xmltv_id="ROCKEntertainment.sg" site_id="blueant">Rock Entertainment</channel>
|
||||
|
|
|
@ -10,19 +10,19 @@
|
|||
<channel site="ipko.tv" lang="tr" xmltv_id="A2TV.tr" site_id="a2">A2</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="A2CNN.al" site_id="a2-cnn">A2 CNN</channel>
|
||||
<channel site="ipko.tv" lang="tr" xmltv_id="AHaber.tr" site_id="a-haber">A Haber</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="AlbUKTV.al" site_id="alb-uk-tv">ALB UK TV</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="" site_id="alb-uk-tv">ALB UK TV</channel>
|
||||
<channel site="ipko.tv" lang="en" xmltv_id="AlJazeeraEnglish.qa" site_id="al-jazeera">Al Jazeera</channel>
|
||||
<channel site="ipko.tv" lang="bs" xmltv_id="AlJazeeraBalkans.ba" site_id="al-jazeera-balkans">Al Jazeera Balkans</channel>
|
||||
<channel site="ipko.tv" lang="mk" xmltv_id="AlsatM.mk" site_id="alsat-m">Alsat M</channel>
|
||||
<channel site="ipko.tv" lang="mk" xmltv_id="" site_id="alsat-m">Alsat M</channel>
|
||||
<channel site="ipko.tv" lang="en" xmltv_id="ANews.tr" site_id="a-news">A News</channel>
|
||||
<channel site="ipko.tv" lang="tr" xmltv_id="APara.tr" site_id="a-para">A Para</channel>
|
||||
<channel site="ipko.tv" lang="tr" xmltv_id="ASpor.tr" site_id="a-spor">A Spor</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="ADTTV.xk" site_id="atd-tv">ATD TV</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="" site_id="atd-tv">ATD TV</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="ATV.xk" site_id="atv">ATV</channel>
|
||||
<channel site="ipko.tv" lang="tr" xmltv_id="ATV.tr" site_id="atv-(turkey)">ATV (Turkey)</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="BangBang.al" site_id="bang-bang">Bang Bang</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="BBFMusicTV.al" site_id="bbf">BBF</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="BeatTV.xk" site_id="beat-tv">Beat TV</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="" site_id="beat-tv">Beat TV</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="BubbleTV.al" site_id="bubble">Bubble</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="Click.al" site_id="click-tv">Click TV</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="ClubTV.al" site_id="club-tv">Club TV</channel>
|
||||
|
@ -36,9 +36,9 @@
|
|||
<channel site="ipko.tv" lang="sq" xmltv_id="ElrodiTV.al" site_id="elrodi">Elrodi</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="Episode.xk" site_id="episode">Episode</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="EroXXX.nl" site_id="eroxxx">EroXXX</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="ETV.al" site_id="e--tv">E-TV</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="" site_id="e--tv">E-TV</channel>
|
||||
<channel site="ipko.tv" lang="tr" xmltv_id="EuroD.tr" site_id="euro-d">Euro D</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="EuroFilm.al" site_id="eurofilm">EuroFilm</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="" site_id="eurofilm">EuroFilm</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="EuronewsAlbania.al" site_id="euronews-albania">Euronews Albania</channel>
|
||||
<channel site="ipko.tv" lang="tr" xmltv_id="EuroStar.tr" site_id="euro-star">Euro Star</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="ExplorerHistori.al" site_id="exp-histori">Explorer Histori</channel>
|
||||
|
@ -47,29 +47,29 @@
|
|||
<channel site="ipko.tv" lang="sq" xmltv_id="FilmAksion.al" site_id="film-aksion">Film Aksion</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="FilmAutor.al" site_id="film-autor">Film Autor</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="FilmDrame.al" site_id="film-drame">Film Dramë</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="FilmFamily.al" site_id="family-hd">Film Family</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="FilmGold.al" site_id="gold-hd">Film Gold</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="" site_id="family-hd">Film Family</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="" site_id="gold-hd">Film Gold</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="FilmHits.al" site_id="film-hits-hd">Film Hits</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="FilmKomedi.al" site_id="film-komedi">Film Komedi</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="FilmMax.al" site_id="max-hd">Film Max</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="" site_id="max-hd">Film Max</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="FilmThriller.al" site_id="film-thriller">Film Thriller</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="FirstChannel.xk" site_id="first-channel">First Channel</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="FolkPlus.al" site_id="folk-+">Folk+</channel>
|
||||
<channel site="ipko.tv" lang="fr" xmltv_id="France24.fr" site_id="france-24">France 24</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="Gurmania.xk" site_id="gurmania">Gurmania</channel>
|
||||
<channel site="ipko.tv" lang="tr" xmltv_id="HaberTurk.tr" site_id="haber-turk">Haber Türk</channel>
|
||||
<channel site="ipko.tv" lang="fr" xmltv_id="" site_id="france-24">France 24</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="" site_id="gurmania">Gurmania</channel>
|
||||
<channel site="ipko.tv" lang="tr" xmltv_id="" site_id="haber-turk">Haber Türk</channel>
|
||||
<channel site="ipko.tv" lang="tr" xmltv_id="HalkTV.tr" site_id="halk-tv">Halk TV</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="IPKOPromo.xk" site_id="ipko-promo">IPKO Promo</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="" site_id="ipko-promo">IPKO Promo</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="JuniorTV.al" site_id="junior-tv">Junior TV</channel>
|
||||
<channel site="ipko.tv" lang="tr" xmltv_id="Kanal7.tr" site_id="kanal-7">Kanal 7</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="Kanal10.xk" site_id="kanal-10">Kanal 10</channel>
|
||||
<channel site="ipko.tv" lang="tr" xmltv_id="KanalDDrama.tr" site_id="kanald-drama">Kanal D Drama</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="Kanali7.al" site_id="kanali-7">Kanali 7</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="KBPeja.xk" site_id="kb-peja">KB Peja</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="Kids.xk" site_id="kids">Kids</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="" site_id="kb-peja">KB Peja</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="" site_id="kids">Kids</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="Kino1.xk" site_id="kino-1">Kino 1</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="Kino2.xk" site_id="kino-2">Kino 2</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="Kino3.xk" site_id="kino-3">Kino 3</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="" site_id="kino-3">Kino 3</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="TVKlan.al" site_id="klan">Klan</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="KlanKosova.xk" site_id="klan-kosova">Klan Kosova</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="KlanMacedonia.mk" site_id="klan-mk">Klan Macedonia</channel>
|
||||
|
@ -81,22 +81,22 @@
|
|||
<channel site="ipko.tv" lang="sq" xmltv_id="KSport3.xk" site_id="k-sport-3">K-Sport 3</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="KSport4.xk" site_id="k-sport-4">K-Sport 4</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="Kohavision.xk" site_id="ktv">KTV</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="LifeHD.xk" site_id="life-hd">Life HD</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="" site_id="life-hd">Life HD</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="LivingHD.al" site_id="living-hd">Living HD</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="Muse.al" site_id="muse">Muse</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="MyMusic.al" site_id="my-music">My Music</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="ntv.al" site_id="ntv">ntv</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="PeaceTV.xk" site_id="peace-tv">Peace TV</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="PositiveGold.xk" site_id="positive-gold">Positive Gold</channel>
|
||||
<channel site="ipko.tv" lang="tr" xmltv_id="PowerTurk.tr" site_id="power-turk">Power Türk</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="Premiere1.xk" site_id="premiere-1">Premiere 1</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="Premiere2.xk" site_id="premiere-2">Premiere 2</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="Premiere3.xk" site_id="premiere-3">Premiere 3</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="Premiere4.xk" site_id="premiere-4">Premiere 4</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="PremiumChannel.xk" site_id="premium-channel">Premium Channel</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="" site_id="peace-tv">Peace TV</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="" site_id="positive-gold">Positive Gold</channel>
|
||||
<channel site="ipko.tv" lang="tr" xmltv_id="" site_id="power-turk">Power Türk</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="" site_id="premiere-1">Premiere 1</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="" site_id="premiere-2">Premiere 2</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="" site_id="premiere-3">Premiere 3</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="" site_id="premiere-4">Premiere 4</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="" site_id="premium-channel">Premium Channel</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="PrimeTV.xk" site_id="prime-tv">Prime TV</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="PrinceKids.xk" site_id="prince-kids">Prince Kids</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="PRO1.xk" site_id="pro1">PRO1</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="" site_id="prince-kids">Prince Kids</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="" site_id="pro1">PRO1</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="RTVIliria.xk" site_id="rti">RTI</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="RTK1.xk" site_id="rtk-1">RTK 1</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="RTK2.xk" site_id="rtk-2">RTK 2</channel>
|
||||
|
@ -109,25 +109,25 @@
|
|||
<channel site="ipko.tv" lang="sq" xmltv_id="RTSHPlus.al" site_id="rtsh-plus">RTSH Plus</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="RTSHShqip.al" site_id="rtsh-shqip">RTSH Shqip</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="RTV21.xk" site_id="rtv-21">RTV 21</channel>
|
||||
<channel site="ipko.tv" lang="mk" xmltv_id="RTV21.mk" site_id="rtv-21-mk">RTV 21 MK</channel>
|
||||
<channel site="ipko.tv" lang="mk" xmltv_id="" site_id="rtv-21-mk">RTV 21 MK</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="RTVMir.xk" site_id="rtv-mir">RTV Mir</channel>
|
||||
<channel site="ipko.tv" lang="tr" xmltv_id="ShowMax.tr" site_id="show-maxx">Show Max</channel>
|
||||
<channel site="ipko.tv" lang="tr" xmltv_id="ShowTurk.tr" site_id="show-turk">Show Türk</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="Smile.al" site_id="smile">Smile</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="Sofia.xk" site_id="sofia">Sofia</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="" site_id="sofia">Sofia</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="Sport1.xk" site_id="sport-1">Sport 1</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="Sport2.xk" site_id="sport-2">Sport 2</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="Sport3.xk" site_id="sport-3">Sport 3</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="Sport4.xk" site_id="sport-4">Sport 4</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="Sport5.xk" site_id="sport-5">Sport 5</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="Sport6.xk" site_id="sport-6">Sport 6</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="StarChannel.al" site_id="star">Star Channel</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="StarLife.al" site_id="star-life">Star Life</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="StarMovies.al" site_id="star-movies">Star Movies</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="" site_id="star">Star Channel</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="" site_id="star-life">Star Life</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="" site_id="star-movies">Star Movies</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="StarPlus.al" site_id="star-plus-tv">Star Plus</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="Stinet.al" site_id="stinet">Stinët</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="STVFolk.al" site_id="stv-folk">STV Folk</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="Suite.xk" site_id="suite">Suite</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="" site_id="suite">Suite</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="SuperSonicTV.al" site_id="supersonic-tv">Supersonic TV</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="SuperSport1.al" site_id="supersport-1">SuperSport 1</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="SuperSport2.al" site_id="supersport-2">SuperSport 2</channel>
|
||||
|
@ -139,8 +139,8 @@
|
|||
<channel site="ipko.tv" lang="sq" xmltv_id="Syri.al" site_id="syri-tv">Syri TV</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="SyriVision.xk" site_id="tv-syri-vision">Syri Vision</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="T7.xk" site_id="t7">T7</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="TaoTao.xk" site_id="tao-tao">Tao Tao</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="Terra.xk" site_id="terra-hd">Terra</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="" site_id="tao-tao">Tao Tao</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="" site_id="terra-hd">Terra</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="Teve1.xk" site_id="teve-1">tëvë 1</channel>
|
||||
<channel site="ipko.tv" lang="tr" xmltv_id="TGRTBelgesel.tr" site_id="tgrt-belgesel">TGRT Belgesel</channel>
|
||||
<channel site="ipko.tv" lang="tr" xmltv_id="TGRTEurope.tr" site_id="tgrt-eu">TGRT EU</channel>
|
||||
|
@ -160,13 +160,13 @@
|
|||
<channel site="ipko.tv" lang="sq" xmltv_id="TringKids.al" site_id="tring-kids">Tring Kids</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="TringLife.al" site_id="tring-life">Tring Life</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="TringNovelas.al" site_id="novelas">Tring Novelas</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="TringOriginals.al" site_id="tring-orignals">Tring Originals</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="" site_id="tring-orignals">Tring Originals</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="TringPlanet.al" site_id="tring-planet">Tring Planet</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="TringSeries.al" site_id="tring-series">Tring Series</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="" site_id="tring-series">Tring Series</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="TringShqip.al" site_id="tring-shqip">Tring Shqip</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="TringSuper.al" site_id="tring-super-hd">Tring Super</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="TringTring.al" site_id="tring-tring">Tring Tring</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="TringTurkishStories.al" site_id="turkish-stories">Tring Turkish Stories</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="" site_id="turkish-stories">Tring Turkish Stories</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="TringWorld.al" site_id="tring-world">Tring World</channel>
|
||||
<channel site="ipko.tv" lang="tr" xmltv_id="TRT1.tr" site_id="trt-1">TRT 1</channel>
|
||||
<channel site="ipko.tv" lang="tr" xmltv_id="TRTBelgesel.tr" site_id="trt-belgesel">TRT Belgesel</channel>
|
||||
|
@ -183,15 +183,15 @@
|
|||
<channel site="ipko.tv" lang="sq" xmltv_id="RTVBesa.xk" site_id="tv-besa">TV Besa</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="RTVDukagjini.xk" site_id="tv-dukagjini">TV Dukagjini</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="TVFestina.xk" site_id="tv-festina">TV Festina</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="TVLiria.xk" site_id="tv-liria">TV Liria</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="" site_id="tv-liria">TV Liria</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="TVLlapi.xk" site_id="tv-llapi">TV Llapi</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="TVMitrovica.xk" site_id="tv-mitrovica">TV Mitrovica</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="TVMost.xk" site_id="tv-most">TV Most</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="" site_id="tv-most">TV Most</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="TVOpinion.xk" site_id="tv-opinioni">TV Opinion</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="TVPuls.xk" site_id="tv-puls">TV Puls</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="" site_id="tv-puls">TV Puls</channel>
|
||||
<channel site="ipko.tv" lang="bs" xmltv_id="TVSlonExtra.ba" site_id="tv-slon">TV Slon</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="TemaTV.xk" site_id="tv-tema">TV Tema</channel>
|
||||
<channel site="ipko.tv" lang="tr" xmltv_id="UlkeTV.tr" site_id="ulke-tv">Ülke TV</channel>
|
||||
<channel site="ipko.tv" lang="sq" xmltv_id="VizionPlus.al" site_id="vizion-+-hd">Vizion+</channel>
|
||||
<channel site="ipko.tv" lang="sr" xmltv_id="ZicoTV.rs" site_id="zico-tv">Zico TV</channel>
|
||||
<channel site="ipko.tv" lang="sr" xmltv_id="" site_id="zico-tv">Zico TV</channel>
|
||||
</channels>
|
||||
|
|
1
sites/jiotv.com/__data__/content.json
Normal file
1
sites/jiotv.com/__data__/content.json
Normal file
File diff suppressed because one or more lines are too long
1097
sites/jiotv.com/jiotv.com.channels.xml
Normal file
1097
sites/jiotv.com/jiotv.com.channels.xml
Normal file
File diff suppressed because it is too large
Load diff
87
sites/jiotv.com/jiotv.com.config.js
Normal file
87
sites/jiotv.com/jiotv.com.config.js
Normal file
|
@ -0,0 +1,87 @@
|
|||
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: 'jiotv.com',
|
||||
days: 2,
|
||||
url({ date, channel }) {
|
||||
const offset = date.diff(dayjs.utc().startOf('d'), 'd')
|
||||
|
||||
return `https://jiotvapi.cdn.jio.com/apis/v1.3/getepg/get?channel_id=${channel.site_id}&offset=${offset}`
|
||||
},
|
||||
parser({ content }) {
|
||||
let programs = []
|
||||
let items = parseItems(content)
|
||||
items.forEach(item => {
|
||||
programs.push({
|
||||
title: item.showname,
|
||||
description: item.episode_desc || item.description,
|
||||
directors: parseList(item.director),
|
||||
actors: parseList(item.starCast),
|
||||
categories: item.showGenre,
|
||||
episode: parseEpisode(item),
|
||||
keywords: item.keywords,
|
||||
icon: parseIcon(item),
|
||||
image: parseImage(item),
|
||||
start: dayjs(item.startEpoch),
|
||||
stop: dayjs(item.endEpoch)
|
||||
})
|
||||
})
|
||||
|
||||
return programs
|
||||
},
|
||||
async channels() {
|
||||
const data = await axios
|
||||
.get(
|
||||
'https://jiotvapi.cdn.jio.com/apis/v3.0/getMobileChannelList/get/?langId=6&devicetype=phone&os=android&usertype=JIO&version=343'
|
||||
)
|
||||
.then(r => r.data)
|
||||
.catch(console.error)
|
||||
|
||||
return data.result.map(c => {
|
||||
return {
|
||||
lang: 'en',
|
||||
site_id: c.channel_id,
|
||||
name: c.channel_name
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
function parseEpisode(item) {
|
||||
return item.episode_num > 0 ? item.episode_num : null
|
||||
}
|
||||
|
||||
function parseList(string) {
|
||||
return string.split(', ').filter(Boolean)
|
||||
}
|
||||
|
||||
function parseIcon(item) {
|
||||
return item.episodeThumbnail
|
||||
? `https://jiotvimages.cdn.jio.com/dare_images/shows/700/-/${item.episodeThumbnail}`
|
||||
: null
|
||||
}
|
||||
|
||||
function parseImage(item) {
|
||||
return item.episodePoster
|
||||
? `https://jiotvimages.cdn.jio.com/dare_images/shows/700/-/${item.episodePoster}`
|
||||
: null
|
||||
}
|
||||
|
||||
function parseItems(content) {
|
||||
try {
|
||||
const data = JSON.parse(content)
|
||||
if (!data || !Array.isArray(data.epg)) return []
|
||||
|
||||
return data.epg
|
||||
} catch {
|
||||
return []
|
||||
}
|
||||
}
|
86
sites/jiotv.com/jiotv.com.test.js
Normal file
86
sites/jiotv.com/jiotv.com.test.js
Normal file
|
@ -0,0 +1,86 @@
|
|||
const { parser, url } = require('./jiotv.com.config.js')
|
||||
const fs = require('fs')
|
||||
const path = require('path')
|
||||
const dayjs = require('dayjs')
|
||||
const utc = require('dayjs/plugin/utc')
|
||||
const customParseFormat = require('dayjs/plugin/customParseFormat')
|
||||
dayjs.extend(customParseFormat)
|
||||
dayjs.extend(utc)
|
||||
|
||||
jest.useFakeTimers().setSystemTime(new Date('2025-01-15'))
|
||||
|
||||
const date = dayjs.utc('2025-01-17', 'YYYY-MM-DD').startOf('d')
|
||||
const channel = {
|
||||
site_id: '146',
|
||||
xmltv_id: 'HistoryTV18HD.in'
|
||||
}
|
||||
|
||||
it('can generate valid url', () => {
|
||||
expect(url({ date, channel })).toBe(
|
||||
'https://jiotvapi.cdn.jio.com/apis/v1.3/getepg/get?channel_id=146&offset=2'
|
||||
)
|
||||
})
|
||||
|
||||
it('can parse response', () => {
|
||||
const content = fs.readFileSync(path.resolve(__dirname, '__data__/content.json'), 'utf8')
|
||||
let results = parser({ content })
|
||||
results = results.map(p => {
|
||||
p.start = p.start.toJSON()
|
||||
p.stop = p.stop.toJSON()
|
||||
return p
|
||||
})
|
||||
|
||||
expect(results.length).toBe(46)
|
||||
expect(results[1]).toMatchObject({
|
||||
start: '2025-01-16T19:13:00.000Z',
|
||||
stop: '2025-01-16T19:57:00.000Z',
|
||||
title: "History's Greatest Heists With Pierce Brosnan",
|
||||
description:
|
||||
"Daring criminals burrow beneath London's streets to infiltrate a Lloyds Bank vault. However, their heist takes an unexpected turn when a radio hobbyist stumbles upon their communications.",
|
||||
categories: ['History'],
|
||||
directors: ['Brendan G Murphy'],
|
||||
actors: ['Brent Picha', 'William Sibley', 'Bobby Williams'],
|
||||
episode: 3,
|
||||
keywords: [
|
||||
'Heist',
|
||||
'Criminal mastermind',
|
||||
'Consequences',
|
||||
'Historical account',
|
||||
'Historical significance',
|
||||
'Criminal offence'
|
||||
],
|
||||
icon: 'https://jiotvimages.cdn.jio.com/dare_images/shows/700/-/2025-01-17/250117146001_s.jpg',
|
||||
image: 'https://jiotvimages.cdn.jio.com/dare_images/shows/700/-/2025-01-17/250117146001.jpg'
|
||||
})
|
||||
expect(results[45]).toMatchObject({
|
||||
start: '2025-01-17T18:29:00.000Z',
|
||||
stop: '2025-01-17T18:29:59.000Z',
|
||||
title: "History's Greatest Escapes with Morgan Freeman",
|
||||
description:
|
||||
'In French Guiana, when petty thief Rene Belbenoit faces harsh imprisonment, determined to break free, he endures years of gruelling conditions and attempts numerous daring escapes.',
|
||||
categories: ['Crime'],
|
||||
directors: ['Mitch Marcus'],
|
||||
actors: [],
|
||||
episode: 5,
|
||||
keywords: [
|
||||
'Imprisoned',
|
||||
'Prison',
|
||||
'Prison Break',
|
||||
'Prison film',
|
||||
'Set in a prison',
|
||||
'Escape',
|
||||
'Survival',
|
||||
'Survival Instinct'
|
||||
],
|
||||
icon: 'https://jiotvimages.cdn.jio.com/dare_images/shows/700/-/2025-01-17/250117146045_s.jpg',
|
||||
image: 'https://jiotvimages.cdn.jio.com/dare_images/shows/700/-/2025-01-17/250117146045.jpg'
|
||||
})
|
||||
})
|
||||
|
||||
it('can handle empty guide', () => {
|
||||
const results = parser({
|
||||
content: ''
|
||||
})
|
||||
|
||||
expect(results).toMatchObject([])
|
||||
})
|
21
sites/jiotv.com/readme.md
Normal file
21
sites/jiotv.com/readme.md
Normal file
|
@ -0,0 +1,21 @@
|
|||
# jiotv.com
|
||||
|
||||
https://www.jiotv.com/tv-guide
|
||||
|
||||
### Download the guide
|
||||
|
||||
```sh
|
||||
npm run grab --- --site=jiotv.com
|
||||
```
|
||||
|
||||
### Update channel list
|
||||
|
||||
```sh
|
||||
npm run channels:parse --- --config=./sites/jiotv.com/jiotv.com.config.js --output=./sites/jiotv.com/jiotv.com.channels.xml
|
||||
```
|
||||
|
||||
### Test
|
||||
|
||||
```sh
|
||||
npm test --- jiotv.com
|
||||
```
|
|
@ -13,7 +13,7 @@
|
|||
<channel site="kplus.vn" lang="vi" xmltv_id="KPlusSport1.vn" site_id="7012">K+PM HD</channel>
|
||||
<channel site="kplus.vn" lang="vi" xmltv_id="KPlusSport2.vn" site_id="7014">K+PC HD</channel>
|
||||
<channel site="kplus.vn" lang="vi" xmltv_id="NHKWorldJapan.jp" site_id="7070">NHK WORLD JAPAN</channel>
|
||||
<channel site="kplus.vn" lang="vi" xmltv_id="SCTVPhimtonghop.vn" site_id="7034">SCTV PHIMTONGHOP</channel>
|
||||
<channel site="kplus.vn" lang="vi" xmltv_id="" site_id="7034">SCTV PHIMTONGHOP</channel>
|
||||
<channel site="kplus.vn" lang="vi" xmltv_id="TodayTV.vn" site_id="7049">VTC7-TODAY TV</channel>
|
||||
<channel site="kplus.vn" lang="vi" xmltv_id="TV5MondeAsia.fr" site_id="7068">TV5 MONDE</channel>
|
||||
<channel site="kplus.vn" lang="vi" xmltv_id="VTC1.vn" site_id="7069">VTC1</channel>
|
||||
|
|
|
@ -538,7 +538,7 @@
|
|||
<channel site="m.tv.sms.cz" lang="cs" xmltv_id="CTart.cz" site_id="%C8T+art">T art</channel>
|
||||
<channel site="m.tv.sms.cz" lang="cs" xmltv_id="CTDecko.cz" site_id="%C8T+%3AD">T :D</channel>
|
||||
<channel site="m.tv.sms.cz" lang="cs" xmltv_id="CTSport.cz" site_id="%C8T4+Sport">T4 Sport</channel>
|
||||
<channel site="m.tv.sms.cz" lang="cs" xmltv_id="Dave.uk" site_id="Dave+SD+UK">Dave SD UK</channel>
|
||||
<channel site="m.tv.sms.cz" lang="cs" xmltv_id="" site_id="Dave+SD+UK">Dave SD UK</channel>
|
||||
<channel site="m.tv.sms.cz" lang="cs" xmltv_id="DeluxeLounge.de" site_id="Deluxe+Lounge+HD">Deluxe Lounge HD</channel>
|
||||
<channel site="m.tv.sms.cz" lang="cs" xmltv_id="DeluxeMusic.de" site_id="Deluxe+Music">Deluxe Music</channel>
|
||||
<channel site="m.tv.sms.cz" lang="cs" xmltv_id="DigiSport1.hu" site_id="Digi+Sport+1+HD">Digi Sport 1 HD</channel>
|
||||
|
@ -613,7 +613,7 @@
|
|||
<channel site="m.tv.sms.cz" lang="cs" xmltv_id="JOJPlus.sk" site_id="JOJ+Plus">JOJ Plus</channel>
|
||||
<channel site="m.tv.sms.cz" lang="cs" xmltv_id="JOJSport.sk" site_id="JOJ+%8Aport">JOJ port</channel>
|
||||
<channel site="m.tv.sms.cz" lang="cs" xmltv_id="JOJWAU.sk" site_id="WAU">WAU</channel>
|
||||
<channel site="m.tv.sms.cz" lang="cs" xmltv_id="JugotonTV.hr" site_id="Jugoton">Jugoton</channel>
|
||||
<channel site="m.tv.sms.cz" lang="cs" xmltv_id="" site_id="Jugoton">Jugoton</channel>
|
||||
<channel site="m.tv.sms.cz" lang="cs" xmltv_id="JurnalTV.md" site_id="Jurnal+TV+Moldova">Jurnal TV Moldova</channel>
|
||||
<channel site="m.tv.sms.cz" lang="cs" xmltv_id="K2.ua" site_id="K2+UA">K2 UA</channel>
|
||||
<channel site="m.tv.sms.cz" lang="cs" xmltv_id="kabeleins.de" site_id="Kabel1">Kabel1</channel>
|
||||
|
@ -892,7 +892,7 @@
|
|||
<channel site="m.tv.sms.cz" lang="en" xmltv_id="DuskTV.nl" site_id="Dusk%21">Dusk!</channel>
|
||||
<channel site="m.tv.sms.cz" lang="en" xmltv_id="DWDeutsch.de" site_id="Deutsche+Welle">Deutsche Welle</channel>
|
||||
<channel site="m.tv.sms.cz" lang="en" xmltv_id="E4.uk" site_id="E4+HD+UK">E4 HD UK</channel>
|
||||
<channel site="m.tv.sms.cz" lang="en" xmltv_id="Eden.uk" site_id="Eden+HD">Eden HD</channel>
|
||||
<channel site="m.tv.sms.cz" lang="en" xmltv_id="" site_id="Eden+HD">Eden HD</channel>
|
||||
<channel site="m.tv.sms.cz" lang="en" xmltv_id="EnglishClubTV.uk" site_id="English+Club+TV">English Club TV</channel>
|
||||
<channel site="m.tv.sms.cz" lang="en" xmltv_id="EroXHD.nl" site_id="Erox+HD">Erox HD</channel>
|
||||
<channel site="m.tv.sms.cz" lang="en" xmltv_id="EroXXXHD.nl" site_id="Eroxxx+HD">Eroxxx HD</channel>
|
||||
|
|
|
@ -199,7 +199,7 @@
|
|||
<channel site="maxtv.hrvatskitelekom.hr" lang="hr" xmltv_id="HRT2.hr" site_id="432">HRT 2</channel>
|
||||
<channel site="maxtv.hrvatskitelekom.hr" lang="hr" xmltv_id="HRT3.hr" site_id="451">HRT 3</channel>
|
||||
<channel site="maxtv.hrvatskitelekom.hr" lang="hr" xmltv_id="HRT4.hr" site_id="94">HRT 4</channel>
|
||||
<channel site="maxtv.hrvatskitelekom.hr" lang="hr" xmltv_id="JugotonTV.hr" site_id="179">Jugoton</channel>
|
||||
<channel site="maxtv.hrvatskitelekom.hr" lang="hr" xmltv_id="" site_id="179">Jugoton</channel>
|
||||
<channel site="maxtv.hrvatskitelekom.hr" lang="hr" xmltv_id="KiKA.de" site_id="242">KiKa</channel>
|
||||
<channel site="maxtv.hrvatskitelekom.hr" lang="hr" xmltv_id="KinoTV.hr" site_id="647">Kino TV</channel>
|
||||
<channel site="maxtv.hrvatskitelekom.hr" lang="hr" xmltv_id="Klasik.hr" site_id="178">Klasik TV</channel>
|
||||
|
@ -228,7 +228,7 @@
|
|||
<channel site="maxtv.hrvatskitelekom.hr" lang="hr" xmltv_id="PinkExtra.rs" site_id="248">Pink Extra</channel>
|
||||
<channel site="maxtv.hrvatskitelekom.hr" lang="hr" xmltv_id="PinkFashion.rs" site_id="254">Pink Fashion</channel>
|
||||
<channel site="maxtv.hrvatskitelekom.hr" lang="hr" xmltv_id="PinkFilm.rs" site_id="251">Pink Film</channel>
|
||||
<channel site="maxtv.hrvatskitelekom.hr" lang="hr" xmltv_id="PinkFolk1.rs" site_id="250">Pink Folk 1</channel>
|
||||
<channel site="maxtv.hrvatskitelekom.hr" lang="hr" xmltv_id="" site_id="250">Pink Folk 1</channel>
|
||||
<channel site="maxtv.hrvatskitelekom.hr" lang="hr" xmltv_id="PinkKoncert.rs" site_id="253">Pink Koncert</channel>
|
||||
<channel site="maxtv.hrvatskitelekom.hr" lang="hr" xmltv_id="PinkM.me" site_id="245">Pink M</channel>
|
||||
<channel site="maxtv.hrvatskitelekom.hr" lang="hr" xmltv_id="PinkMusic2.rs" site_id="252">Pink Music 2</channel>
|
||||
|
|
|
@ -3,6 +3,6 @@
|
|||
<channel site="mediagenie.co.kr" lang="ko" xmltv_id="CHING.kr" site_id="CHING">CHING</channel>
|
||||
<channel site="mediagenie.co.kr" lang="ko" xmltv_id="ENADRAMA.kr" site_id="ENA_DRAMA">ENA DRAMA</channel>
|
||||
<channel site="mediagenie.co.kr" lang="ko" xmltv_id="ENASTORY.kr" site_id="ENA_STORY">ENA STORY</channel>
|
||||
<channel site="mediagenie.co.kr" lang="ko" xmltv_id="Healthmedi.kr" site_id="Healthmedi">Healthmedi</channel>
|
||||
<channel site="mediagenie.co.kr" lang="ko" xmltv_id="" site_id="Healthmedi">Healthmedi</channel>
|
||||
<channel site="mediagenie.co.kr" lang="ko" xmltv_id="ONT.kr" site_id="ONT">ONT</channel>
|
||||
</channels>
|
||||
|
|
|
@ -94,7 +94,7 @@
|
|||
<channel site="meo.pt" lang="pt" xmltv_id="" site_id="WSPORT">W-Sport</channel>
|
||||
<channel site="meo.pt" lang="pt" xmltv_id="3sat.de" site_id="3SAT">3SAT</channel>
|
||||
<channel site="meo.pt" lang="pt" xmltv_id="ABolaTV.pt" site_id="ABOLA">A Bola TV</channel>
|
||||
<channel site="meo.pt" lang="pt" xmltv_id="AfroMusicChannel.pt" site_id="AFRO">Afro Music</channel>
|
||||
<channel site="meo.pt" lang="pt" xmltv_id="" site_id="AFRO">Afro Music</channel>
|
||||
<channel site="meo.pt" lang="pt" xmltv_id="AlmaLusa.pt" site_id="ALMALUS">Alma Lusa</channel>
|
||||
<channel site="meo.pt" lang="pt" xmltv_id="arte.fr" site_id="ARTEHD">Arte</channel>
|
||||
<channel site="meo.pt" lang="pt" xmltv_id="ARTV.pt" site_id="ARTV">ARTV</channel>
|
||||
|
|
|
@ -92,7 +92,7 @@
|
|||
<channel site="meuguia.tv" lang="pt" xmltv_id="TVBrasil.br" site_id="TED">TV Brasil</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="TVCamara.br" site_id="CAM">TV Câmara</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="TVCancaoNova.br" site_id="CNV">Canção Nova</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="TVCulturaNacional.br" site_id="CUL">TV Cultura</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="" site_id="CUL">TV Cultura</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="TVEscola.br" site_id="ESC">TV Escola</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="" site_id="TVE">TV Espanha</channel>
|
||||
<channel site="meuguia.tv" lang="pt" xmltv_id="TVGazeta.br" site_id="GAZ">TV Gazeta</channel>
|
||||
|
|
|
@ -606,10 +606,10 @@
|
|||
<channel site="mi.tv" lang="pt" xmltv_id="CNNBrasil.br" site_id="br#cnn-brasil">CNN Brasil</channel>
|
||||
<channel site="mi.tv" lang="pt" xmltv_id="CNNInternationalAsiaPacific.hk" site_id="br#cnn-international-hd">CNN International HD</channel>
|
||||
<channel site="mi.tv" lang="pt" xmltv_id="ComedyCentral.br" site_id="br#comedy-central">Comedy Central</channel>
|
||||
<channel site="mi.tv" lang="pt" xmltv_id="ConmebolTV1.br" site_id="br#conmebol-tv-1">Conmebol TV 1</channel>
|
||||
<channel site="mi.tv" lang="pt" xmltv_id="ConmebolTV2.br" site_id="br#conmebol-tv-2">Conmebol TV 2</channel>
|
||||
<channel site="mi.tv" lang="pt" xmltv_id="ConmebolTV3.br" site_id="br#conmebol-tv-3">Conmebol TV 3</channel>
|
||||
<channel site="mi.tv" lang="pt" xmltv_id="ConmebolTV4.br" site_id="br#conmebol-tv-4">Conmebol TV 4</channel>
|
||||
<channel site="mi.tv" lang="pt" xmltv_id="" site_id="br#conmebol-tv-1">Conmebol TV 1</channel>
|
||||
<channel site="mi.tv" lang="pt" xmltv_id="" site_id="br#conmebol-tv-2">Conmebol TV 2</channel>
|
||||
<channel site="mi.tv" lang="pt" xmltv_id="" site_id="br#conmebol-tv-3">Conmebol TV 3</channel>
|
||||
<channel site="mi.tv" lang="pt" xmltv_id="" site_id="br#conmebol-tv-4">Conmebol TV 4</channel>
|
||||
<channel site="mi.tv" lang="pt" xmltv_id="Curta.br" site_id="br#curta">Curta!</channel>
|
||||
<channel site="mi.tv" lang="pt" xmltv_id="DiscoveryChannel.br" site_id="br#discovery">Discovery</channel>
|
||||
<channel site="mi.tv" lang="pt" xmltv_id="DiscoveryHomeHealth.br" site_id="br#discovery-home-health">Discovery Home & Health</channel>
|
||||
|
@ -781,7 +781,7 @@
|
|||
<channel site="mi.tv" lang="pt" xmltv_id="TVCidadeVerdeCuiaba.br" site_id="br#tv-cidade-verde-hd">TV Cidade Verde HD</channel>
|
||||
<channel site="mi.tv" lang="pt" xmltv_id="TVClube.br" site_id="br#tv-clube">TV Clube</channel>
|
||||
<channel site="mi.tv" lang="pt" xmltv_id="TVCorreio.br" site_id="br#tv-correio">TV Correio</channel>
|
||||
<channel site="mi.tv" lang="pt" xmltv_id="TVCulturaNacional.br" site_id="br#cultura">Cultura</channel>
|
||||
<channel site="mi.tv" lang="pt" xmltv_id="" site_id="br#cultura">Cultura</channel>
|
||||
<channel site="mi.tv" lang="pt" xmltv_id="TVDiario.br" site_id="br#tv-diario">TV Diário</channel>
|
||||
<channel site="mi.tv" lang="pt" xmltv_id="TVDifusoraSaoLuis.br" site_id="br#tv-difusora-s-o-luis">TV Difusora São Luís</channel>
|
||||
<channel site="mi.tv" lang="pt" xmltv_id="TVEBahia.br" site_id="br#tve-bahia">TVE Bahia</channel>
|
||||
|
|
|
@ -6,18 +6,18 @@
|
|||
<channel site="mncvision.id" lang="en" xmltv_id="ANTV.id" site_id="115">ANTV</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="ArirangWorld.kr" site_id="351">Arirang</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="AXN.id" site_id="154">AXN</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="AXNHD.id" site_id="447">AXN HD</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="" site_id="447">AXN HD</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="BBCEarthAsia.uk" site_id="200">BBC Earth</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="BBCEarthAsiaHD.uk" site_id="461">BBC Earth HD</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="BBCNewsAsiaPacific.uk" site_id="332">BBC World News</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="beINSports1.id" site_id="309">beIN Sports 1</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="beINSports1HD.id" site_id="417">beIN Sports 1 HD</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="beINSports2.id" site_id="310">beIN Sports 2</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="beINSports2HD.id" site_id="418">beIN Sports 2 HD</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="" site_id="417">beIN Sports 1 HD</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="" site_id="310">beIN Sports 2</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="" site_id="418">beIN Sports 2 HD</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="beINSports3.id" site_id="311">beIN Sports 3</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="beINSports3HD.id" site_id="419">beIN Sports 3 HD</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="beINSports4.id" site_id="312">beIN SPORTS 4</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="beINSports5.id" site_id="313">beIN SPORTS 5</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="" site_id="419">beIN Sports 3 HD</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="" site_id="312">beIN SPORTS 4</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="" site_id="313">beIN SPORTS 5</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="BloombergTVAsia.hk" site_id="338">Bloomberg</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="BTV.id" site_id="103">BTV</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="CBeebiesAsia.uk" site_id="41">CBeebies</channel>
|
||||
|
@ -40,7 +40,7 @@
|
|||
<channel site="mncvision.id" lang="en" xmltv_id="CNBCAsia.sg" site_id="337">CNBC</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="CrimePlusInvestigationAsia.sg" site_id="207">Crime Investigation</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="DreamWorksChannelAsia.us" site_id="47">Dreamworks</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="DreamWorksChannelAsiaHD.us" site_id="473">Dreamworks HD</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="" site_id="473">Dreamworks HD</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="DWEnglish.de" site_id="357">DW English</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="Entertainment.id" site_id="86">Entertainment</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="EuronewsEnglish.fr" site_id="333">EURONEWS</channel>
|
||||
|
@ -51,24 +51,24 @@
|
|||
<channel site="mncvision.id" lang="en" xmltv_id="Galaxy.id" site_id="13">Galaxy</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="GalaxyPremium.id" site_id="12">Galaxy Premium</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="GlobalTrekker.sg" site_id="201">Global Trekker</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="GlobalTrekkerHD.sg" site_id="462">Global Trekker HD</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="" site_id="462">Global Trekker HD</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="GTV.id" site_id="81">GTV</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="GTV.id" site_id="431">GTV HD</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="HanacarakaTV.id" site_id="90">Hanacaraka TV</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="" site_id="90">Hanacaraka TV</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="HistoryAsia.us" site_id="206">History</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="HITS.sg" site_id="160">HITS</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="HITSMovies.sg" site_id="11">HITS MOVIES</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="HITSMoviesHD.sg" site_id="409">HITS MOVIES HD</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="IDXChannel.id" site_id="100">IDX</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="IDXChannelHD.id" site_id="436">IDX HD</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="" site_id="436">IDX HD</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="IMC.id" site_id="14">IMC</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="Indosiar.id" site_id="78">Indosiar</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="IndosiarHD.id" site_id="438">Indosiar HD</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="" site_id="438">Indosiar HD</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="iNews.id" site_id="83">iNews</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="iNewsHD.id" site_id="433">iNews HD</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="" site_id="433">iNews HD</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="JakTV.id" site_id="113">JAKTV</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="KidsTV.id" site_id="46">Kids TV</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="KidsTVHD.id" site_id="471">Kids TV HD</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="" site_id="471">Kids TV HD</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="KIX.hk" site_id="161">KIX</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="KompasTV.id" site_id="106">Kompas TV</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="Life.id" site_id="91">LIFE</channel>
|
||||
|
@ -77,12 +77,12 @@
|
|||
<channel site="mncvision.id" lang="en" xmltv_id="LoveNatureHD.ca" site_id="463">Love Nature HD</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="MetroTV.id" site_id="107">Metro TV</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="MNCTV.id" site_id="82">MNCTV</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="MNCTVHD.id" site_id="432">MNCTV HD</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="Moonbug.id" site_id="40">Moonbug</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="" site_id="432">MNCTV HD</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="" site_id="40">Moonbug</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="MTV90s.uk" site_id="149">MTV 90's</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="MTVLive.uk" site_id="148">MTV LIVE</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="MusicTV.id" site_id="111">Music TV</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="MusicTVHD.id" site_id="444">Music TV HD</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="" site_id="444">Music TV HD</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="MuslimTV.id" site_id="92">Muslim TV</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="MyCinema.id" site_id="16">My Cinema</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="MyCinemaAsia.id" site_id="17">My Cinema Asia</channel>
|
||||
|
@ -95,31 +95,31 @@
|
|||
<channel site="mncvision.id" lang="en" xmltv_id="NickJrAsia.sg" site_id="37">Nickelodeon Jr</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="NickJrAsiaHD.sg" site_id="472">Nick Jr. HD</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="OKTV.id" site_id="95">FOOD TRAVEL</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="OKTVHD.id" site_id="459">Food Travel HD</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="" site_id="459">Food Travel HD</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="ONE.sg" site_id="164">ONE</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="ONEHD.sg" site_id="445">ONE HD</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="OutdoorChannel.us" site_id="202">Outdoor Channel</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="OutdoorChannelHD.us" site_id="460">Outdoor channel HD</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="QuranTV.sa" site_id="93">Al Quran Al Kareem</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="RCTI.id" site_id="80">RCTI</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="RCTIHD.id" site_id="430">RCTI HD</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="" site_id="430">RCTI HD</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="ROCKEntertainment.sg" site_id="240">Rock Entertainment</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="ROCKExtreme.sg" site_id="248">Rock Action</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="SCTV.id" site_id="89">SCTV</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="SCTVHD.id" site_id="437">SCTV HD</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="" site_id="437">SCTV HD</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="SEAToday.id" site_id="336">SEA TODAY</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="SindoNewsTV.id" site_id="84">Sindo News TV</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="SindoNewsTVHD.id" site_id="434">Sindo News TV HD</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="" site_id="434">Sindo News TV HD</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="SoccerChannel.id" site_id="101">Soccer Channel</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="SoccerChannelHD.id" site_id="420">Soccer Channel HD</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="" site_id="420">Soccer Channel HD</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="Sportstars2.id" site_id="98">Sportstars 2</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="Sportstars2HD.id" site_id="422">Sportstars 2 HD</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="" site_id="422">Sportstars 2 HD</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="Sportstars3.id" site_id="99">Sportstars 3</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="Sportstars3HD.id" site_id="423">sportstars 3 HD</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="" site_id="423">sportstars 3 HD</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="Sportstars4.id" site_id="88">Sportstars 4</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="Sportstars4HD.id" site_id="424">Sportstars 4 HD</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="" site_id="424">Sportstars 4 HD</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="Sportstars.id" site_id="102">Sportstars</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="SportstarsHD.id" site_id="421">Sportstars HD</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="" site_id="421">Sportstars HD</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="SPOTV2.kr" site_id="308">SPOTV 2</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="SPOTV2HD.kr" site_id="428">SPOTV 2 HD</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="SPOTV.kr" site_id="307">SPOTV</channel>
|
||||
|
@ -135,7 +135,7 @@
|
|||
<channel site="mncvision.id" lang="en" xmltv_id="tvOne.id" site_id="97">tvOne</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="TVRINasional.id" site_id="118">TVRI</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="VisionPrime.id" site_id="94">Vision Prime</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="VisionPrimeHD.id" site_id="1">Vision Prime HD</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="" site_id="1">Vision Prime HD</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="ZeeBioskop.id" site_id="23">Zee Bioskop</channel>
|
||||
<channel site="mncvision.id" lang="en" xmltv_id="ZooMoo.sg" site_id="39">Zoomoo</channel>
|
||||
</channels>
|
||||
|
|
|
@ -6,18 +6,18 @@
|
|||
<channel site="mncvision.id" lang="id" xmltv_id="ANTV.id" site_id="115">ANTV</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="ArirangWorld.kr" site_id="351">Arirang</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="AXN.id" site_id="154">AXN</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="AXNHD.id" site_id="447">AXN HD</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="" site_id="447">AXN HD</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="BBCEarthAsia.uk" site_id="200">BBC Earth</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="BBCEarthAsiaHD.uk" site_id="461">BBC Earth HD</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="BBCNewsAsiaPacific.uk" site_id="332">BBC World News</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="beINSports1.id" site_id="309">beIN Sports 1</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="beINSports1HD.id" site_id="417">beIN Sports 1 HD</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="beINSports2.id" site_id="310">beIN Sports 2</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="beINSports2HD.id" site_id="418">beIN Sports 2 HD</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="" site_id="417">beIN Sports 1 HD</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="" site_id="310">beIN Sports 2</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="" site_id="418">beIN Sports 2 HD</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="beINSports3.id" site_id="311">beIN Sports 3</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="beINSports3HD.id" site_id="419">beIN Sports 3 HD</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="beINSports4.id" site_id="312">beIN SPORTS 4</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="beINSports5.id" site_id="313">beIN SPORTS 5</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="" site_id="419">beIN Sports 3 HD</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="" site_id="312">beIN SPORTS 4</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="" site_id="313">beIN SPORTS 5</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="BloombergTVAsia.hk" site_id="338">Bloomberg</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="BTV.id" site_id="103">BTV</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="CBeebiesAsia.uk" site_id="41">CBeebies</channel>
|
||||
|
@ -40,7 +40,7 @@
|
|||
<channel site="mncvision.id" lang="id" xmltv_id="CNBCAsia.sg" site_id="337">CNBC</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="CrimePlusInvestigationAsia.sg" site_id="207">Crime Investigation</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="DreamWorksChannelAsia.us" site_id="47">Dreamworks</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="DreamWorksChannelAsiaHD.us" site_id="473">Dreamworks HD</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="" site_id="473">Dreamworks HD</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="DWEnglish.de" site_id="357">DW English</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="Entertainment.id" site_id="86">Entertainment</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="EuronewsEnglish.fr" site_id="333">EURONEWS</channel>
|
||||
|
@ -51,24 +51,24 @@
|
|||
<channel site="mncvision.id" lang="id" xmltv_id="Galaxy.id" site_id="13">Galaxy</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="GalaxyPremium.id" site_id="12">Galaxy Premium</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="GlobalTrekker.sg" site_id="201">Global Trekker</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="GlobalTrekkerHD.sg" site_id="462">Global Trekker HD</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="" site_id="462">Global Trekker HD</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="GTV.id" site_id="81">GTV</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="GTV.id" site_id="431">GTV HD</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="HanacarakaTV.id" site_id="90">Hanacaraka TV</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="" site_id="90">Hanacaraka TV</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="HistoryAsia.us" site_id="206">History</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="HITS.sg" site_id="160">HITS</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="HITSMovies.sg" site_id="11">HITS MOVIES</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="HITSMoviesHD.sg" site_id="409">HITS MOVIES HD</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="IDXChannel.id" site_id="100">IDX</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="IDXChannelHD.id" site_id="436">IDX HD</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="" site_id="436">IDX HD</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="IMC.id" site_id="14">IMC</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="Indosiar.id" site_id="78">Indosiar</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="IndosiarHD.id" site_id="438">Indosiar HD</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="" site_id="438">Indosiar HD</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="iNews.id" site_id="83">iNews</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="iNewsHD.id" site_id="433">iNews HD</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="" site_id="433">iNews HD</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="JakTV.id" site_id="113">JAKTV</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="KidsTV.id" site_id="46">Kids TV</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="KidsTVHD.id" site_id="471">Kids TV HD</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="" site_id="471">Kids TV HD</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="KIX.hk" site_id="161">KIX</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="KompasTV.id" site_id="106">Kompas TV</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="Life.id" site_id="91">LIFE</channel>
|
||||
|
@ -77,12 +77,12 @@
|
|||
<channel site="mncvision.id" lang="id" xmltv_id="LoveNatureHD.ca" site_id="463">Love Nature HD</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="MetroTV.id" site_id="107">Metro TV</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="MNCTV.id" site_id="82">MNCTV</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="MNCTVHD.id" site_id="432">MNCTV HD</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="Moonbug.id" site_id="40">Moonbug</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="" site_id="432">MNCTV HD</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="" site_id="40">Moonbug</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="MTV90s.uk" site_id="149">MTV 90's</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="MTVLive.uk" site_id="148">MTV LIVE</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="MusicTV.id" site_id="111">Music TV</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="MusicTVHD.id" site_id="444">Music TV HD</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="" site_id="444">Music TV HD</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="MuslimTV.id" site_id="92">Muslim TV</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="MyCinema.id" site_id="16">My Cinema</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="MyCinemaAsia.id" site_id="17">My Cinema Asia</channel>
|
||||
|
@ -95,31 +95,31 @@
|
|||
<channel site="mncvision.id" lang="id" xmltv_id="NickJrAsia.sg" site_id="37">Nickelodeon Jr</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="NickJrAsiaHD.sg" site_id="472">Nick Jr. HD</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="OKTV.id" site_id="95">FOOD TRAVEL</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="OKTVHD.id" site_id="459">Food Travel HD</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="" site_id="459">Food Travel HD</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="ONE.sg" site_id="164">ONE</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="ONEHD.sg" site_id="445">ONE HD</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="OutdoorChannel.us" site_id="202">Outdoor Channel</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="OutdoorChannelHD.us" site_id="460">Outdoor channel HD</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="QuranTV.sa" site_id="93">Al Quran Al Kareem</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="RCTI.id" site_id="80">RCTI</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="RCTIHD.id" site_id="430">RCTI HD</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="" site_id="430">RCTI HD</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="ROCKEntertainment.sg" site_id="240">Rock Entertainment</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="ROCKExtreme.sg" site_id="248">Rock Action</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="SCTV.id" site_id="89">SCTV</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="SCTV.id" site_id="437">SCTV HD</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="SEAToday.id" site_id="336">SEA TODAY</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="SindoNewsTV.id" site_id="84">Sindo News TV</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="SindoNewsTVHD.id" site_id="434">Sindo News TV HD</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="" site_id="434">Sindo News TV HD</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="SoccerChannel.id" site_id="101">Soccer Channel</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="SoccerChannelHD.id" site_id="420">Soccer Channel HD</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="" site_id="420">Soccer Channel HD</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="Sportstars2.id" site_id="98">Sportstars 2</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="Sportstars2HD.id" site_id="422">Sportstars 2 HD</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="" site_id="422">Sportstars 2 HD</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="Sportstars3.id" site_id="99">Sportstars 3</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="Sportstars3HD.id" site_id="423">sportstars 3 HD</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="" site_id="423">sportstars 3 HD</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="Sportstars4.id" site_id="88">Sportstars 4</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="Sportstars4HD.id" site_id="424">Sportstars 4 HD</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="" site_id="424">Sportstars 4 HD</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="Sportstars.id" site_id="102">Sportstars</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="SportstarsHD.id" site_id="421">Sportstars HD</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="" site_id="421">Sportstars HD</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="SPOTV2.kr" site_id="308">SPOTV 2</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="SPOTV2HD.kr" site_id="428">SPOTV 2 HD</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="SPOTV.kr" site_id="307">SPOTV</channel>
|
||||
|
@ -135,7 +135,7 @@
|
|||
<channel site="mncvision.id" lang="id" xmltv_id="tvOne.id" site_id="97">tvOne</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="TVRINasional.id" site_id="118">TVRI</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="VisionPrime.id" site_id="94">Vision Prime</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="VisionPrimeHD.id" site_id="1">Vision Prime HD</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="" site_id="1">Vision Prime HD</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="ZeeBioskop.id" site_id="23">Zee Bioskop</channel>
|
||||
<channel site="mncvision.id" lang="id" xmltv_id="ZooMoo.sg" site_id="39">Zoomoo</channel>
|
||||
</channels>
|
||||
|
|
|
@ -28,12 +28,12 @@
|
|||
<channel site="mon-programme-tv.be" lang="fr" xmltv_id="Boomerang.fr" site_id="269/programme-television-boomerang">BOOMERANG</channel>
|
||||
<channel site="mon-programme-tv.be" lang="fr" xmltv_id="C8.fr" site_id="1032/programme-television-c8">C8</channel>
|
||||
<channel site="mon-programme-tv.be" lang="fr" xmltv_id="CanalJ.fr" site_id="87/programme-television-canal-j">CANAL J</channel>
|
||||
<channel site="mon-programme-tv.be" lang="fr" xmltv_id="Canvas.be" site_id="581/programme-television-canvas">CANVAS</channel>
|
||||
<channel site="mon-programme-tv.be" lang="fr" xmltv_id="" site_id="581/programme-television-canvas">CANVAS</channel>
|
||||
<channel site="mon-programme-tv.be" lang="fr" xmltv_id="CartoonNetwork.fr" site_id="93/programme-television-cartoon-network">CARTOON NETWORK</channel>
|
||||
<channel site="mon-programme-tv.be" lang="fr" xmltv_id="ChassePeche.fr" site_id="127/programme-television-chasse-peche">CHASSE & PECHE</channel>
|
||||
<channel site="mon-programme-tv.be" lang="fr" xmltv_id="CinePlusClassicBelgium.be" site_id="312/programme-television-cine-classic-be">CINE + CLASSIC BE</channel>
|
||||
<channel site="mon-programme-tv.be" lang="fr" xmltv_id="CinePlusFrissonBelgium.be" site_id="266/programme-television-cine-frisson-be">CINE + FRISSON BE</channel>
|
||||
<channel site="mon-programme-tv.be" lang="fr" xmltv_id="CinePlusPremierBelgium.be" site_id="265/programme-television-cine-premier-be">CINE + PREMIER BE</channel>
|
||||
<channel site="mon-programme-tv.be" lang="fr" xmltv_id="" site_id="312/programme-television-cine-classic-be">CINE + CLASSIC BE</channel>
|
||||
<channel site="mon-programme-tv.be" lang="fr" xmltv_id="" site_id="266/programme-television-cine-frisson-be">CINE + FRISSON BE</channel>
|
||||
<channel site="mon-programme-tv.be" lang="fr" xmltv_id="" site_id="265/programme-television-cine-premier-be">CINE + PREMIER BE</channel>
|
||||
<channel site="mon-programme-tv.be" lang="fr" xmltv_id="CNews.fr" site_id="179/programme-television-cnews">CNEWS</channel>
|
||||
<channel site="mon-programme-tv.be" lang="fr" xmltv_id="ComediePlus.fr" site_id="73/programme-television-comedie-">COMEDIE +</channel>
|
||||
<channel site="mon-programme-tv.be" lang="fr" xmltv_id="CStar.fr" site_id="1033/programme-television-cstar">CSTAR</channel>
|
||||
|
@ -41,7 +41,7 @@
|
|||
<channel site="mon-programme-tv.be" lang="fr" xmltv_id="DisneyChannel.fr" site_id="64/programme-television-disney-channel">DISNEY CHANNEL</channel>
|
||||
<channel site="mon-programme-tv.be" lang="fr" xmltv_id="DisneyJunior.fr" site_id="871/programme-television-disney-junior">DISNEY JUNIOR</channel>
|
||||
<channel site="mon-programme-tv.be" lang="fr" xmltv_id="E.fr" site_id="304/programme-television-e-entertainment">E! ENTERTAINMENT</channel>
|
||||
<channel site="mon-programme-tv.be" lang="fr" xmltv_id="Een.be" site_id="313/programme-television-een">EEN</channel>
|
||||
<channel site="mon-programme-tv.be" lang="fr" xmltv_id="" site_id="313/programme-television-een">EEN</channel>
|
||||
<channel site="mon-programme-tv.be" lang="fr" xmltv_id="Equidia.fr" site_id="884/programme-television-equidia">EQUIDIA</channel>
|
||||
<channel site="mon-programme-tv.be" lang="fr" xmltv_id="Eurosport1.fr" site_id="83/programme-television-eurosport">EUROSPORT</channel>
|
||||
<channel site="mon-programme-tv.be" lang="fr" xmltv_id="Eurosport1.nl" site_id="618/programme-television-eurosport-nl">EUROSPORT NL</channel>
|
||||
|
|
|
@ -103,7 +103,7 @@
|
|||
<channel site="movistarplus.es" lang="es" xmltv_id="Eurosport2.fr" site_id="ESP2">Eurosport 2</channel>
|
||||
<channel site="movistarplus.es" lang="es" xmltv_id="EWTNEspanaLatinAmerica.us" site_id="EWTN">EWTN</channel>
|
||||
<channel site="movistarplus.es" lang="es" xmltv_id="FactoriadeFiccion.es" site_id="FDFIC">Factoría de Ficción</channel>
|
||||
<channel site="movistarplus.es" lang="es" xmltv_id="Fox.es" site_id="FOXGE">Fox</channel>
|
||||
<channel site="movistarplus.es" lang="es" xmltv_id="" site_id="FOXGE">Fox</channel>
|
||||
<channel site="movistarplus.es" lang="es" xmltv_id="FoxNewsChannel.us" site_id="FOXNWS">Fox News</channel>
|
||||
<channel site="movistarplus.es" lang="es" xmltv_id="France24Espanol.fr" site_id="FRANCE">FRANCE24 (FR)</channel>
|
||||
<channel site="movistarplus.es" lang="es" xmltv_id="FutbolReplay.es" site_id="FUTREP">Canal Fútbol Replay</channel>
|
||||
|
|
|
@ -225,7 +225,7 @@
|
|||
<channel site="mtel.ba" lang="bs" xmltv_id="BravoMusic.rs" site_id="258#206">Bravo Music</channel>
|
||||
<channel site="mtel.ba" lang="en" xmltv_id="BrazzersTVEurope.us" site_id="191#300">Brazzers TV</channel>
|
||||
<channel site="mtel.ba" lang="bs" xmltv_id="BVN.nl" site_id="810#281">BVN</channel>
|
||||
<channel site="mtel.ba" lang="en" xmltv_id="CGTNEurope.cn" site_id="809#207">CGTN</channel>
|
||||
<channel site="mtel.ba" lang="en" xmltv_id="" site_id="809#207">CGTN</channel>
|
||||
<channel site="mtel.ba" lang="bs" xmltv_id="CityPlay.rs" site_id="630#208">City Play</channel>
|
||||
<channel site="mtel.ba" lang="bs" xmltv_id="DexyTV.rs" site_id="024#423">Dexy TV</channel>
|
||||
<channel site="mtel.ba" lang="bs" xmltv_id="DMSat.rs" site_id="627#199">DM SAT</channel>
|
||||
|
@ -252,7 +252,7 @@
|
|||
<channel site="mtel.ba" lang="sr" xmltv_id="HappyReality2.rs" site_id="666#372">Happy Reality 2</channel>
|
||||
<channel site="mtel.ba" lang="bs" xmltv_id="Hayat.ba" site_id="054#35">HAYAT TV</channel>
|
||||
<channel site="mtel.ba" lang="bs" xmltv_id="HayatFolk.ba" site_id="662#223">HAYAT FOLK</channel>
|
||||
<channel site="mtel.ba" lang="bs" xmltv_id="HayatHD.ba" site_id="061#263">Hayat HD</channel>
|
||||
<channel site="mtel.ba" lang="bs" xmltv_id="" site_id="061#263">Hayat HD</channel>
|
||||
<channel site="mtel.ba" lang="bs" xmltv_id="HayatMusic.ba" site_id="661#222">HAYAT MUSIC</channel>
|
||||
<channel site="mtel.ba" lang="bs" xmltv_id="Hayatovci.ba" site_id="213#100">HAYATOVCI</channel>
|
||||
<channel site="mtel.ba" lang="bs" xmltv_id="HayatPlus.ba" site_id="073#83">HAYAT PLUS</channel>
|
||||
|
@ -303,7 +303,7 @@
|
|||
<channel site="mtel.ba" lang="bs" xmltv_id="PinkFamily.rs" site_id="12#1">Pink Family</channel>
|
||||
<channel site="mtel.ba" lang="bs" xmltv_id="PinkFashion.rs" site_id="504#151">Pink Fashion</channel>
|
||||
<channel site="mtel.ba" lang="bs" xmltv_id="PinkFilm.rs" site_id="335#164">Pink Film</channel>
|
||||
<channel site="mtel.ba" lang="bs" xmltv_id="PinkFolk2.rs" site_id="628#203">PINK FOLK 2</channel>
|
||||
<channel site="mtel.ba" lang="bs" xmltv_id="" site_id="628#203">PINK FOLK 2</channel>
|
||||
<channel site="mtel.ba" lang="bs" xmltv_id="PinkHits.rs" site_id="615#180">PINK HITS</channel>
|
||||
<channel site="mtel.ba" lang="bs" xmltv_id="PinkHits2.rs" site_id="615#185">Pink Hits 2</channel>
|
||||
<channel site="mtel.ba" lang="bs" xmltv_id="PinkHorror.rs" site_id="064#159">Pink Horror</channel>
|
||||
|
@ -386,7 +386,7 @@
|
|||
<channel site="mtel.ba" lang="bs" xmltv_id="ToxicRap.rs" site_id="166#449">Toxic Rap</channel>
|
||||
<channel site="mtel.ba" lang="bs" xmltv_id="ToxicTV.rs" site_id="618#407">Toxic TV</channel>
|
||||
<channel site="mtel.ba" lang="bs" xmltv_id="TurizamTV.rs" site_id="512#401">Turizam TV</channel>
|
||||
<channel site="mtel.ba" lang="bs" xmltv_id="TV101.rs" site_id="077#428">TV 101</channel>
|
||||
<channel site="mtel.ba" lang="bs" xmltv_id="" site_id="077#428">TV 101</channel>
|
||||
<channel site="mtel.ba" lang="bs" xmltv_id="TVCGMNE.me" site_id="045#38">RTCG Sat</channel>
|
||||
<channel site="mtel.ba" lang="bs" xmltv_id="TVDR.rs" site_id="514#410">TV DR</channel>
|
||||
<channel site="mtel.ba" lang="bs" xmltv_id="TVHram.rs" site_id="039#354">Hram TV</channel>
|
||||
|
|
|
@ -416,8 +416,8 @@
|
|||
<channel site="mts.rs" lang="sr" xmltv_id="PinkFamily.rs" site_id="242#152">Pink Family</channel>
|
||||
<channel site="mts.rs" lang="sr" xmltv_id="PinkFashion.rs" site_id="275#151">Pink Fashion</channel>
|
||||
<channel site="mts.rs" lang="sr" xmltv_id="PinkFilm.rs" site_id="216#164">Pink Film</channel>
|
||||
<channel site="mts.rs" lang="sh" xmltv_id="PinkFolk1.rs" site_id="461#209">Pink Folk</channel>
|
||||
<channel site="mts.rs" lang="sh" xmltv_id="PinkFolk2.rs" site_id="462#203">Pink Folk 2</channel>
|
||||
<channel site="mts.rs" lang="sr" xmltv_id="" site_id="461#209">Pink Folk</channel>
|
||||
<channel site="mts.rs" lang="sr" xmltv_id="" site_id="462#203">Pink Folk 2</channel>
|
||||
<channel site="mts.rs" lang="sr" xmltv_id="PinkHits.rs" site_id="471#287">Pink Hits 1</channel>
|
||||
<channel site="mts.rs" lang="hr" xmltv_id="PinkHits2.rs" site_id="472#185">Pink Hits 2</channel>
|
||||
<channel site="mts.rs" lang="sr" xmltv_id="PinkHorror.rs" site_id="214#159">Pink Horror</channel>
|
||||
|
@ -501,7 +501,7 @@
|
|||
<channel site="mts.rs" lang="sr" xmltv_id="ToxicRap.rs" site_id="475#757">Toxic Rap SD/HD</channel>
|
||||
<channel site="mts.rs" lang="en" xmltv_id="TravelChannelEMEA.uk" site_id="272#160">Travel Channel SD/HD</channel>
|
||||
<channel site="mts.rs" lang="sr" xmltv_id="TurizamTV.rs" site_id="271#507">Turizam + TV</channel>
|
||||
<channel site="mts.rs" lang="sh" xmltv_id="TV101.rs" site_id="504#759">RTV 101</channel>
|
||||
<channel site="mts.rs" lang="sr" xmltv_id="" site_id="504#759">RTV 101</channel>
|
||||
<channel site="mts.rs" lang="hu" xmltv_id="TV2.hu" site_id="227#676">TV2</channel>
|
||||
<channel site="mts.rs" lang="sr" xmltv_id="TV4S.rs" site_id="560#614">TV 4S</channel>
|
||||
<channel site="mts.rs" lang="fr" xmltv_id="TV5MondeEurope.fr" site_id="667#197">TV5 Monde SD/HD</channel>
|
||||
|
|
|
@ -49,7 +49,6 @@
|
|||
<channel site="musor.tv" lang="hu" xmltv_id="" site_id="SOROZAT_KLUB">Sorozat Klub</channel>
|
||||
<channel site="musor.tv" lang="hu" xmltv_id="" site_id="SZAKCSI_RADIO">Szakcsi Rádió</channel>
|
||||
<channel site="musor.tv" lang="hu" xmltv_id="" site_id="TRAVELXP_4K">Travel XP 4K</channel>
|
||||
<channel site="musor.tv" lang="hu" xmltv_id="" site_id="TRAVELXP_4K">Travel XP 4K</channel>
|
||||
<channel site="musor.tv" lang="hu" xmltv_id="" site_id="TV2_KLUB">TV2 Klub</channel>
|
||||
<channel site="musor.tv" lang="hu" xmltv_id="" site_id="VASARHELYI_TV">Vásárhelyi Televízió</channel>
|
||||
<channel site="musor.tv" lang="hu" xmltv_id="" site_id="VESZPREM_TV">Veszprém TV HD</channel>
|
||||
|
@ -90,7 +89,6 @@
|
|||
<channel site="musor.tv" lang="hu" xmltv_id="Eurosport1.hu" site_id="EUROSPORT">Eurosport 1 (HD)</channel>
|
||||
<channel site="musor.tv" lang="hu" xmltv_id="Eurosport2.hu" site_id="EUROSPORT2">Eurosport 2 (HD)</channel>
|
||||
<channel site="musor.tv" lang="hu" xmltv_id="Eurosport4K.fr" site_id="EUROSPORT4K">Eurosport 4K</channel>
|
||||
<channel site="musor.tv" lang="hu" xmltv_id="Eurosport4K.fr" site_id="EUROSPORT4K">Eurosport 4K</channel>
|
||||
<channel site="musor.tv" lang="hu" xmltv_id="EWTNBonumTV.hu" site_id="BONUM">EWTN / Bonum TV (HD)</channel>
|
||||
<channel site="musor.tv" lang="hu" xmltv_id="FashionTVEurope.fr" site_id="FTVHD">Fashion TV HD</channel>
|
||||
<channel site="musor.tv" lang="hu" xmltv_id="FehervarTV.hu" site_id="FEHERVAR_TV">Fehérvár TV</channel>
|
||||
|
@ -105,7 +103,6 @@
|
|||
<channel site="musor.tv" lang="hu" xmltv_id="FitHD.hu" site_id="FIT_HD">Fit HD</channel>
|
||||
<channel site="musor.tv" lang="hu" xmltv_id="FoodNetworkEMEA.us" site_id="FOODNETWORK">Food Network (HD)</channel>
|
||||
<channel site="musor.tv" lang="hu" xmltv_id="FunBoxUHD.nl" site_id="FUNBOX_UHD">Funbox UltraHD 4K</channel>
|
||||
<channel site="musor.tv" lang="hu" xmltv_id="FunBoxUHD.nl" site_id="FUNBOX_UHD">Funbox UltraHD 4K</channel>
|
||||
<channel site="musor.tv" lang="hu" xmltv_id="Galaxy4.hu" site_id="GALAXY">Galaxy 4 (HD)</channel>
|
||||
<channel site="musor.tv" lang="hu" xmltv_id="Gametoon.nl" site_id="GAMETOON">Gametoon (HD)</channel>
|
||||
<channel site="musor.tv" lang="hu" xmltv_id="Hatoscsatorna.hu" site_id="HATOS_CSATORNA">Hatoscsatorna</channel>
|
||||
|
@ -123,7 +120,6 @@
|
|||
<channel site="musor.tv" lang="hu" xmltv_id="KolcseyTV.hu" site_id="KOLCSEY_TV">Kölcsey TV</channel>
|
||||
<channel site="musor.tv" lang="hu" xmltv_id="LifeTV.hu" site_id="LIFE_TV">Life TV (HD)</channel>
|
||||
<channel site="musor.tv" lang="hu" xmltv_id="LoveNature.ca" site_id="LOVE_NATURE">Love Nature (HD / 4K)</channel>
|
||||
<channel site="musor.tv" lang="hu" xmltv_id="LoveNature.ca" site_id="LOVE_NATURE">Love Nature (HD / 4K)</channel>
|
||||
<channel site="musor.tv" lang="hu" xmltv_id="M1.hu" site_id="M1">M1 (HD)</channel>
|
||||
<channel site="musor.tv" lang="hu" xmltv_id="M2.hu" site_id="M2">M2 / Petőfi (HD)</channel>
|
||||
<channel site="musor.tv" lang="hu" xmltv_id="M4Sport.hu" site_id="M4_SPORT">M4 Sport (HD)</channel>
|
||||
|
|
|
@ -101,8 +101,8 @@
|
|||
<channel site="mytelly.co.uk" lang="en" xmltv_id="B4UMoviesUK.uk" site_id="619/b4u-movies">B4U Movies</channel>
|
||||
<channel site="mytelly.co.uk" lang="en" xmltv_id="B4UMusicUK.uk" site_id="1815/b4u-music">B4U Music</channel>
|
||||
<channel site="mytelly.co.uk" lang="en" xmltv_id="BabyTV.uk" site_id="1761/baby-tv">Baby TV</channel>
|
||||
<channel site="mytelly.co.uk" lang="en" xmltv_id="BBCALBA.uk" site_id="1442/bbc-alba">BBC Alba</channel>
|
||||
<channel site="mytelly.co.uk" lang="en" xmltv_id="BBCALBAHD.uk" site_id="2403/bbc-alba-hd">BBC Alba HD</channel>
|
||||
<channel site="mytelly.co.uk" lang="en" xmltv_id="" site_id="1442/bbc-alba">BBC Alba</channel>
|
||||
<channel site="mytelly.co.uk" lang="en" xmltv_id="" site_id="2403/bbc-alba-hd">BBC Alba HD</channel>
|
||||
<channel site="mytelly.co.uk" lang="en" xmltv_id="BBCFour.uk" site_id="742/bbc-four">BBC Four</channel>
|
||||
<channel site="mytelly.co.uk" lang="en" xmltv_id="BBCFourHD.uk" site_id="1851/bbc-four-hd">BBC Four HD</channel>
|
||||
<channel site="mytelly.co.uk" lang="en" xmltv_id="BBCNews.uk" site_id="85/bbc-news">BBC News</channel>
|
||||
|
@ -231,7 +231,7 @@
|
|||
<channel site="mytelly.co.uk" lang="en" xmltv_id="GBNews.uk" site_id="2339/gb-news">GB News</channel>
|
||||
<channel site="mytelly.co.uk" lang="en" xmltv_id="GBNewsHD.uk" site_id="2340/gb-news-hd">GB News HD</channel>
|
||||
<channel site="mytelly.co.uk" lang="en" xmltv_id="GeoNewsInternational.pk" site_id="2130/geo-news">GEO News</channel>
|
||||
<channel site="mytelly.co.uk" lang="en" xmltv_id="GeoUK.uk" site_id="2128/geo-tv">GEO TV</channel>
|
||||
<channel site="mytelly.co.uk" lang="en" xmltv_id="" site_id="2128/geo-tv">GEO TV</channel>
|
||||
<channel site="mytelly.co.uk" lang="en" xmltv_id="GREATaction.uk" site_id="1431/great-action">GREAT! action</channel>
|
||||
<channel site="mytelly.co.uk" lang="en" xmltv_id="GREATactionPlus1.uk" site_id="1541/great-action-1">GREAT! action +1</channel>
|
||||
<channel site="mytelly.co.uk" lang="en" xmltv_id="GREATmovies.uk" site_id="1680/great-movies">GREAT! movies</channel>
|
||||
|
|
|
@ -9,30 +9,30 @@
|
|||
<channel site="neo.io" lang="sl" xmltv_id="AdriaMusicTelevision.de" site_id="adria">Adria</channel>
|
||||
<channel site="neo.io" lang="ba" xmltv_id="AlfaTV.ba" site_id="alfa-tv">Alfa TV</channel>
|
||||
<channel site="neo.io" lang="ba" xmltv_id="AlJazeeraBalkans.ba" site_id="al-jazeera-balkans">Al Jazeera Balkans</channel>
|
||||
<channel site="neo.io" lang="mk" xmltv_id="AlsatM.mk" site_id="alsat-macedonia">Алсат-М</channel>
|
||||
<channel site="neo.io" lang="ba" xmltv_id="Elta2.ba" site_id="elta-2">Elta 2</channel>
|
||||
<channel site="neo.io" lang="mk" xmltv_id="Alsat.mk" site_id="alsat-macedonia">Алсат-М</channel>
|
||||
<channel site="neo.io" lang="ba" xmltv_id="" site_id="elta-2">Elta 2</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="AMC.si" site_id="amc">AMC</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="AngelsHD.si" site_id="angels-hd">Angels HD</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="AnimalPlanet.si" site_id="animal-planet">Animal Planet</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="" site_id="animal-planet">Animal Planet</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="ePosavjeTV.si" site_id="eposavje-tv-hd">ePosavje TV</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="ArenaeSport.si" site_id="arena-esport">Arena eSport</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="ArenaFight.si" site_id="arena-fight">Arena Fight</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="" site_id="arena-esport">Arena eSport</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="" site_id="arena-fight">Arena Fight</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="ArenaSport1Premium.si" site_id="arena-sport-1-premium">Arena Sport 1 Premium</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="ArenaSport1.si" site_id="arena-sport-1">Arena Sport 1</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="ArenaSport2.si" site_id="arena-sport-2">Arena Sport 2</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="ArenaSport3.si" site_id="arena-sport-3">Arena Sport 3</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="ArenaSport4.si" site_id="arena-sport-4">Arena Sport 4</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="TVArena.si" site_id="arena-tv">Arena TV</channel>
|
||||
<channel site="neo.io" lang="de" xmltv_id="Arte.de" site_id="arte">Arte</channel>
|
||||
<channel site="neo.io" lang="de" xmltv_id="" site_id="arte">Arte</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="ATMTV.si" site_id="atm-tv-kranjska-gora-hd">ATM TV</channel>
|
||||
<channel site="neo.io" lang="sr" xmltv_id="B92.rs" site_id="b92">B92</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="BabyTV.si" site_id="baby-tv">Baby TV</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="BalkanErotic.si" site_id="balkan-erotic">Balkan Erotic</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="" site_id="baby-tv">Baby TV</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="" site_id="balkan-erotic">Balkan Erotic</channel>
|
||||
<channel site="neo.io" lang="sr" xmltv_id="BalkanTripTV.rs" site_id="balkan-trip">Balkan Trip</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="BBCEarth.si" site_id="bbc-earth">BBC Earth</channel>
|
||||
<channel site="neo.io" lang="en" xmltv_id="BBCFirstBenelux.uk" site_id="bbc-first">BBC First</channel>
|
||||
<channel site="neo.io" lang="en" xmltv_id="BBCNews.uk" site_id="bbc-news">BBC News</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="BestTV.si" site_id="best-tv">Best TV</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="" site_id="best-tv">Best TV</channel>
|
||||
<channel site="neo.io" lang="ba" xmltv_id="BHT1.ba" site_id="bht1">BHT1</channel>
|
||||
<channel site="neo.io" lang="ba" xmltv_id="BIRTV.ba" site_id="bir">BIR TV</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="BKTV.si" site_id="bk-tv">BK TV</channel>
|
||||
|
@ -41,14 +41,14 @@
|
|||
<channel site="neo.io" lang="sl" xmltv_id="BooBHD.si" site_id="boob-hd">BooB HD</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="BRIO.si" site_id="brio">BRIO</channel>
|
||||
<channel site="neo.io" lang="it" xmltv_id="Canale5.it" site_id="canale-5">Canale 5</channel>
|
||||
<channel site="neo.io" lang="it" xmltv_id="20Mediaset.it" site_id="20-mediaset">20 Mediaset</channel>
|
||||
<channel site="neo.io" lang="it" xmltv_id="" site_id="20-mediaset">20 Mediaset</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="CapableHoleHD.si" site_id="capable-hole-hd">Capable Hole HD</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="VeseljakGolica.si" site_id="veseljak-golica">Veseljak Golica</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="CartoonNetwork.si" site_id="cartoon">Cartoon Network</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="Cartoonito.si" site_id="cartoonito">Cartoonito</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="" site_id="veseljak-golica">Veseljak Golica</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="" site_id="cartoon">Cartoon Network</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="" site_id="cartoonito">Cartoonito</channel>
|
||||
<channel site="neo.io" lang="it" xmltv_id="Cartoonito.it" site_id="cartoonito-italija">Cartoonito</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="Cinemax.si" site_id="cinemax">Cinemax</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="Cinemax2.si" site_id="cinemax-2">Cinemax 2</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="" site_id="cinemax">Cinemax</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="" site_id="cinemax-2">Cinemax 2</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="CineStarTVAction.si" site_id="cinestar-tv-action-&-thriller">CineStar TV Action & Thriller</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="CineStarTVFantasy.si" site_id="cinestar-fantasy">Cinestar Fantasy</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="CineStarTVPremiere1.si" site_id="cinestar-tv-premiere-1">CineStar TV Premiere 1</channel>
|
||||
|
@ -56,20 +56,20 @@
|
|||
<channel site="neo.io" lang="sl" xmltv_id="CineStarTV1.si" site_id="cinestar-tv-1">Cinestar TV 1</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="CineStarTV2.si" site_id="cinestar-tv-2">Cinestar TV 2</channel>
|
||||
<channel site="neo.io" lang="hr" xmltv_id="CMCTV.hr" site_id="cmc">CMC</channel>
|
||||
<channel site="neo.io" lang="en" xmltv_id="CNNInternational.us" site_id="cnn">CNN</channel>
|
||||
<channel site="neo.io" lang="en" xmltv_id="" site_id="cnn">CNN</channel>
|
||||
<channel site="neo.io" lang="de" xmltv_id="CuriosityChannel.de" site_id="curiosity-channel">Curiosity Channel</channel>
|
||||
<channel site="neo.io" lang="de" xmltv_id="DasErste.de" site_id="ard">Das Erste</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="DaVinci.si" site_id="da-vinci-learning">Da Vinci</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="DevilsHomeHD.si" site_id="devils-home-hd">Devils Home HD</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="InvestigationDiscovery.si" site_id="discovery-id-xtra">Investigation Discovery</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="" site_id="discovery-id-xtra">Investigation Discovery</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="DiscoveryChannel.si" site_id="discovery-channel">Discovery Channel</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="DisneyChannel.si" site_id="disney-channel">Disney Channel</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="DisneyJunior.si" site_id="disney-junior">Disney Junior</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="Diva.si" site_id="diva">Diva</channel>
|
||||
<channel site="neo.io" lang="sr" xmltv_id="Dizi.rs" site_id="dizi">Dizi</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="" site_id="disney-channel">Disney Channel</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="" site_id="disney-junior">Disney Junior</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="" site_id="diva">Diva</channel>
|
||||
<channel site="neo.io" lang="sr" xmltv_id="" site_id="dizi">Dizi</channel>
|
||||
<channel site="neo.io" lang="sr" xmltv_id="DMSat.rs" site_id="dm-sat">DM Sat</channel>
|
||||
<channel site="neo.io" lang="en" xmltv_id="DocuBox.nl" site_id="docubox">DocuBox</channel>
|
||||
<channel site="neo.io" lang="ru" xmltv_id="DomKino.ru" site_id="dom-kino">Дом кино</channel>
|
||||
<channel site="neo.io" lang="ru" xmltv_id="" site_id="dom-kino">Дом кино</channel>
|
||||
<channel site="neo.io" lang="fr" xmltv_id="DorcelTV.nl" site_id="dorcel-tv-hd">Dorcel TV</channel>
|
||||
<channel site="neo.io" lang="fr" xmltv_id="DorcelXXX.nl" site_id="dorcel-xxx-hd">Dorcel XXX</channel>
|
||||
<channel site="neo.io" lang="hr" xmltv_id="DoxTV.hr" site_id="dox-tv">Dox TV</channel>
|
||||
|
@ -77,58 +77,58 @@
|
|||
<channel site="neo.io" lang="hu" xmltv_id="DunaWorld.hu" site_id="duna-world">Duna World</channel>
|
||||
<channel site="neo.io" lang="hu" xmltv_id="Duna.hu" site_id="duna-hd">Duna HD</channel>
|
||||
<channel site="neo.io" lang="en" xmltv_id="DuskTV.nl" site_id="dusk-tv">Dusk TV</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="EEurope.si" site_id="e!">E!</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="" site_id="e!">E!</channel>
|
||||
<channel site="neo.io" lang="ba" xmltv_id="ELTAHD.ba" site_id="elta-hd">ELTA HD</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="" site_id="elta-tv">ELTA TV</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="EpicDrama.si" site_id="epic-drama">Epic Drama</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="" site_id="epic-drama">Epic Drama</channel>
|
||||
<channel site="neo.io" lang="en" xmltv_id="EroX.nl" site_id="erox">EroX</channel>
|
||||
<channel site="neo.io" lang="en" xmltv_id="EroXXX.nl" site_id="eroxxx">EroXXX</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="ETV.si" site_id="etv-hd">ETV</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="Eurosport1.si" site_id="eurosport-1">Eurosport 1</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="Eurosport2.si" site_id="eurosport-2">Eurosport 2</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="" site_id="eurosport-1">Eurosport 1</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="" site_id="eurosport-2">Eurosport 2</channel>
|
||||
<channel site="neo.io" lang="de" xmltv_id="EWTN.de" site_id="ewtn">EWTN</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="ExodusTV.si" site_id="exodus-tv">Exodus TV</channel>
|
||||
<channel site="neo.io" lang="en" xmltv_id="ExtremeSportsChannel.nl" site_id="extreme-tv">Extreme Sports Channel</channel>
|
||||
<channel site="neo.io" lang="de" xmltv_id="ExtremeHD.si" site_id="extrem">Extreme</channel>
|
||||
<channel site="neo.io" lang="en" xmltv_id="FashionTVEurope.fr" site_id="fashion-tv">Fashion TV</channel>
|
||||
<channel site="neo.io" lang="en" xmltv_id="FashionBox.nl" site_id="fashionbox">FashionBox</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="FashionHD.si" site_id="fashion-hd">Fashion HD</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="" site_id="fashion-hd">Fashion HD</channel>
|
||||
<channel site="neo.io" lang="en" xmltv_id="FashionTVEurope.fr" site_id="fashiontv-4k">Fashion TV 4K</channel>
|
||||
<channel site="neo.io" lang="en" xmltv_id="FastFunBox.nl" site_id="fast-and-funbox">Fast and FunBox</channel>
|
||||
<channel site="neo.io" lang="en" xmltv_id="FightBox.nl" site_id="fightbox">FightBox</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="FilmBoxArthouse.si" site_id="filmbox-arthouse">FilmBox Arthouse</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="FilmBoxExtra.si" site_id="filmbox-extra">FilmBox Extra</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="FilmBoxPremium.si" site_id="filmbox-premium">FilmBox Premium</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="FilmBoxStars.si" site_id="filmbox-stars">FilmBox Stars</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="" site_id="filmbox-arthouse">FilmBox Arthouse</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="" site_id="filmbox-extra">FilmBox Extra</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="" site_id="filmbox-premium">FilmBox Premium</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="" site_id="filmbox-stars">FilmBox Stars</channel>
|
||||
<channel site="neo.io" lang="it" xmltv_id="Focus.it" site_id="focus">Focus</channel>
|
||||
<channel site="neo.io" lang="sq" xmltv_id="FolkPlus.al" site_id="folk-plus">Folk Plus</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="FolxMusicTelevision.de" site_id="folx">Folx</channel>
|
||||
<channel site="neo.io" lang="en" xmltv_id="FOXNews.us" site_id="fox-news">FOX News</channel>
|
||||
<channel site="neo.io" lang="en" xmltv_id="" site_id="fox-news">FOX News</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="FoxyDollsHD.si" site_id="foxy-dolls-hd">Foxy Dolls HD</channel>
|
||||
<channel site="neo.io" lang="fr" xmltv_id="France24.fr" site_id="france-24">France 24</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="PinkoClub.si" site_id="pinko-club">Pinko Club</channel>
|
||||
<channel site="neo.io" lang="fr" xmltv_id="" site_id="france-24">France 24</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="" site_id="pinko-club">Pinko Club</channel>
|
||||
<channel site="neo.io" lang="ba" xmltv_id="Federalnatelevizija.ba" site_id="ftv">FTV</channel>
|
||||
<channel site="neo.io" lang="en" xmltv_id="FunBoxUHD.nl" site_id="funbox">FunBox 4K</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="TVGaleja.si" site_id="tv-galeja-hd">TV Galeja</channel>
|
||||
<channel site="neo.io" lang="en" xmltv_id="Gametoon.nl" site_id="gametoon">Gametoon</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="GasscoreHD.si" site_id="gasscore-hd">Gasscore HD</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="" site_id="gasscore-hd">Gasscore HD</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="GeaTV.si" site_id="gea-tv">Gea TV</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="GlamHD.si" site_id="glam-hd">Glam HD</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="GoldTV.si" site_id="gold-tv">Gold TV</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="" site_id="glam-hd">Glam HD</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="" site_id="gold-tv">Gold TV</channel>
|
||||
<channel site="neo.io" lang="sr" xmltv_id="Happy.rs" site_id="HAPPY">Happy TV</channel>
|
||||
<channel site="neo.io" lang="sr" xmltv_id="HappyReality1.rs" site_id="HAPPYREALITY1">Happy Reality 1</channel>
|
||||
<channel site="neo.io" lang="sr" xmltv_id="HappyReality2.rs" site_id="HAPPYREALITY2">Happy Reality 2</channel>
|
||||
<channel site="neo.io" lang="ba" xmltv_id="Hayat.ba" site_id="hayat">Hayat</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="HBO.si" site_id="hbo">HBO</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="HBO2.si" site_id="hbo-2">HBO 2</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="HBO3.si" site_id="hbo-3">HBO 3</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="" site_id="hbo">HBO</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="" site_id="hbo-2">HBO 2</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="" site_id="hbo-3">HBO 3</channel>
|
||||
<channel site="neo.io" lang="ba" xmltv_id="HemaTV.ba" site_id="hema">Hema</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="HGTV.si" site_id="hgtv">HGTV</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="History.si" site_id="history-channel">History</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="History2.si" site_id="h2">History 2</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="" site_id="hgtv">HGTV</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="" site_id="history-channel">History</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="" site_id="h2">History 2</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="" site_id="hit-tv">Hit TV</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="HotPleasure.si" site_id="hot-pleasure">Hot Pleasure</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="HotXXL.si" site_id="hot-xxl">Hot XXL</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="" site_id="hot-xxl">Hot XXL</channel>
|
||||
<channel site="neo.io" lang="hr" xmltv_id="HRT1.hr" site_id="hrt-1">HRT 1</channel>
|
||||
<channel site="neo.io" lang="hr" xmltv_id="HRT2.hr" site_id="hrt-2">HRT 2</channel>
|
||||
<channel site="neo.io" lang="hr" xmltv_id="HRT3.hr" site_id="hrt-3">HRT 3</channel>
|
||||
|
@ -140,13 +140,13 @@
|
|||
<channel site="neo.io" lang="it" xmltv_id="Italia1.it" site_id="italia-1">Italia 1</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="" site_id="jabuka-(otv)">Jabuka (OTV)</channel>
|
||||
<channel site="neo.io" lang="hr" xmltv_id="TVJadran.hr" site_id="tv-jadran">TV Jadran</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="JimJam.si" site_id="jimjam">JimJam</channel>
|
||||
<channel site="neo.io" lang="hr" xmltv_id="JugotonTV.hr" site_id="jugoton">Jugoton</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="" site_id="jimjam">JimJam</channel>
|
||||
<channel site="neo.io" lang="hr" xmltv_id="" site_id="jugoton">Jugoton</channel>
|
||||
<channel site="neo.io" lang="de" xmltv_id="kabeleins.de" site_id="kabel-1">kabel eins</channel>
|
||||
<channel site="neo.io" lang="ba" xmltv_id="NTVICKakanj.ba" site_id="ntv-ic-kakanj">NTV IC Kakanj</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="Kamin.si" site_id="kamin">Kamin</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="" site_id="kamin">Kamin</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="KanalA.si" site_id="kanal-a">Kanal A</channel>
|
||||
<channel site="neo.io" lang="ru" xmltv_id="Karousel.ru" site_id="karousel">Карусель</channel>
|
||||
<channel site="neo.io" lang="ru" xmltv_id="" site_id="karousel">Карусель</channel>
|
||||
<channel site="neo.io" lang="sr" xmltv_id="TVKCN1.rs" site_id="kcn-1">KCN 1</channel>
|
||||
<channel site="neo.io" lang="sr" xmltv_id="TVKCN2.rs" site_id="kcn-2-(music)">KCN 2 (music)</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="KICTV.si" site_id="kic-tv">KIC TV</channel>
|
||||
|
@ -156,7 +156,7 @@
|
|||
<channel site="neo.io" lang="hr" xmltv_id="Klasik.hr" site_id="klasik">Klasik</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="TVKoperCapodistria.si" site_id="tv-koper-capodistria">TV Koper Capodistria</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="KoroskaTV.si" site_id="koroska-tv">Koroška TV</channel>
|
||||
<channel site="neo.io" lang="ba" xmltv_id="MrezaTV.ba" site_id="mreza-tv">Mreža TV</channel>
|
||||
<channel site="neo.io" lang="ba" xmltv_id="" site_id="mreza-tv">Mreža TV</channel>
|
||||
<channel site="neo.io" lang="sr" xmltv_id="LHTV.me" site_id="lh-tv-hd">LH TV</channel>
|
||||
<channel site="neo.io" lang="sq" xmltv_id="LivingHD.al" site_id="living-hd">Living HD</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="LjubljanaTV.si" site_id="ljubljana-tv-hd">Ljubljana TV</channel>
|
||||
|
@ -179,8 +179,8 @@
|
|||
<channel site="neo.io" lang="en" xmltv_id="MTV90s.uk" site_id="mtv-90s">MTV 90s</channel>
|
||||
<channel site="neo.io" lang="en" xmltv_id="ClubMTVEurope.uk" site_id="club-mtv">Club MTV</channel>
|
||||
<channel site="neo.io" lang="en" xmltv_id="MTVHitsEurope.uk" site_id="mtv-hits">MTV Hits</channel>
|
||||
<channel site="neo.io" lang="en" xmltv_id="MTVEurope.uk" site_id="mtv-hd">MTV</channel>
|
||||
<channel site="neo.io" lang="fr" xmltv_id="MuseumTV.fr" site_id="museum-hd">Museum</channel>
|
||||
<channel site="neo.io" lang="en" xmltv_id="" site_id="mtv-hd">MTV</channel>
|
||||
<channel site="neo.io" lang="fr" xmltv_id="" site_id="museum-hd">Museum</channel>
|
||||
<channel site="neo.io" lang="ru" xmltv_id="MuzykaPervogo.ru" site_id="muzika-pervogo">Музыка Первого</channel>
|
||||
<channel site="neo.io" lang="sr" xmltv_id="NarodnaTV.rs" site_id="narodna-tv">Narodna TV</channel>
|
||||
<channel site="neo.io" lang="mk" xmltv_id="NasaTV.mk" site_id="nasa-tv">Наша ТВ</channel>
|
||||
|
@ -190,8 +190,8 @@
|
|||
<channel site="neo.io" lang="sl" xmltv_id="NetTV.si" site_id="net-tv">Net TV</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="NickJr.si" site_id="nick-jr.">Nick Jr.</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="Nickelodeon.si" site_id="nickelodeon">Nickelodeon</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="NickToons.si" site_id="nicktoons">NickToons</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="NONStop.si" site_id="non-stop">NON Stop</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="" site_id="nicktoons">NickToons</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="" site_id="non-stop">NON Stop</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="Nova24TV.si" site_id="nova-24-tv">Nova 24 TV</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="Nova24TV2.si" site_id="nova-24-tv-2">Nova 24 TV 2</channel>
|
||||
<channel site="neo.io" lang="de" xmltv_id="ntv.de" site_id="n-tv">n-tv</channel>
|
||||
|
@ -206,8 +206,8 @@
|
|||
<channel site="neo.io" lang="hr" xmltv_id="PickboxTV.hr" site_id="pickbox-tv">Pickbox TV</channel>
|
||||
<channel site="neo.io" lang="sr" xmltv_id="PinkExtra.rs" site_id="pink-extra">Pink Extra</channel>
|
||||
<channel site="neo.io" lang="sr" xmltv_id="PinkFilm.rs" site_id="pink-film">Pink Film</channel>
|
||||
<channel site="neo.io" lang="sr" xmltv_id="PinkFolk1.rs" site_id="pink-folk">Pink Folk</channel>
|
||||
<channel site="neo.io" lang="sr" xmltv_id="PinkFolk2.rs" site_id="pink-folk-2">Pink Folk 2</channel>
|
||||
<channel site="neo.io" lang="sr" xmltv_id="" site_id="pink-folk">Pink Folk</channel>
|
||||
<channel site="neo.io" lang="sr" xmltv_id="" site_id="pink-folk-2">Pink Folk 2</channel>
|
||||
<channel site="neo.io" lang="sr" xmltv_id="PinkKoncert.rs" site_id="pink-koncert">Pink Koncert</channel>
|
||||
<channel site="neo.io" lang="sr" xmltv_id="PinkMusic.rs" site_id="pink-music">Pink Music</channel>
|
||||
<channel site="neo.io" lang="sr" xmltv_id="PinkPlus.rs" site_id="pink-plus">Pink Plus</channel>
|
||||
|
@ -215,7 +215,7 @@
|
|||
<channel site="neo.io" lang="sr" xmltv_id="PinkReality.rs" site_id="pink-reality">Pink Reality</channel>
|
||||
<channel site="neo.io" lang="sr" xmltv_id="PinkSerije.rs" site_id="pink-serije">Pink Serije</channel>
|
||||
<channel site="neo.io" lang="sr" xmltv_id="PinkShow.rs" site_id="pink-show">Pink Show</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="PinkSI.si" site_id="pink-si">Pink SI</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="" site_id="pink-si">Pink SI</channel>
|
||||
<channel site="neo.io" lang="sr" xmltv_id="PinkZabava.rs" site_id="pink-zabava">Pink Zabava</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="PlanetTV2.si" site_id="planet-2">Planet 2</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="PlanetEva.si" site_id="planet-eva">Planet Eva</channel>
|
||||
|
@ -232,20 +232,20 @@
|
|||
<channel site="neo.io" lang="sr" xmltv_id="" site_id="PRVASRB">PRVA Srbska TV</channel>
|
||||
<channel site="neo.io" lang="sr" xmltv_id="" site_id="prva-tv">Prva TV</channel>
|
||||
<channel site="neo.io" lang="sr" xmltv_id="PrvaWorld.rs" site_id="PRVAWORLD">Prva World</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="PtujskaTV.si" site_id="ptujska-tv">Ptujska TV</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="PurplePills.si" site_id="purple-pills-hd">Purple Pills</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="" site_id="ptujska-tv">Ptujska TV</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="" site_id="purple-pills-hd">Purple Pills</channel>
|
||||
<channel site="neo.io" lang="it" xmltv_id="Rai1.it" site_id="rai-1">Rai 1</channel>
|
||||
<channel site="neo.io" lang="it" xmltv_id="Rai2.it" site_id="rai-2">Rai 2</channel>
|
||||
<channel site="neo.io" lang="it" xmltv_id="Rai3.it" site_id="rai-3">Rai 3</channel>
|
||||
<channel site="neo.io" lang="it" xmltv_id="Rai3BISFJK.it" site_id="rai-3-bis">Rai 3 BIS</channel>
|
||||
<channel site="neo.io" lang="it" xmltv_id="RaiMovie.it" site_id="rai-movie">Rai Movie</channel>
|
||||
<channel site="neo.io" lang="it" xmltv_id="RaiSport.it" site_id="rai-sport">Rai Sport</channel>
|
||||
<channel site="neo.io" lang="it" xmltv_id="RaiYoYo.it" site_id="rai-yoyo">Rai YoYo</channel>
|
||||
<channel site="neo.io" lang="it" xmltv_id="" site_id="rai-yoyo">Rai YoYo</channel>
|
||||
<channel site="neo.io" lang="it" xmltv_id="Rete4.it" site_id="rete-4">Rete 4</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="RkanalPlus.si" site_id="RKANALP">R Kanal+</channel>
|
||||
<channel site="neo.io" lang="en" xmltv_id="RealityKingsTV.us" site_id="reality-kings-tv">Reality Kings TV</channel>
|
||||
<channel site="neo.io" lang="sr" xmltv_id="RTCGMNE.me" site_id="mne">MNE</channel>
|
||||
<channel site="neo.io" lang="sr" xmltv_id="RTCG2.me" site_id="rtcg-2">RTCG 2</channel>
|
||||
<channel site="neo.io" lang="sr" xmltv_id="" site_id="mne">MNE</channel>
|
||||
<channel site="neo.io" lang="sr" xmltv_id="" site_id="rtcg-2">RTCG 2</channel>
|
||||
<channel site="neo.io" lang="sq" xmltv_id="RTK1.xk" site_id="rtk">RTK</channel>
|
||||
<channel site="neo.io" lang="de" xmltv_id="RTL.de" site_id="rtl">RTL</channel>
|
||||
<channel site="neo.io" lang="de" xmltv_id="RTLZwei.de" site_id="rtl-ii">RTL II</channel>
|
||||
|
@ -262,10 +262,10 @@
|
|||
<channel site="neo.io" lang="de" xmltv_id="SAT1.de" site_id="sat-1">SAT.1</channel>
|
||||
<channel site="neo.io" lang="en" xmltv_id="RedlightHD.nl" site_id="redlight-hd">Redlight HD</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="SavinjskaTV.si" site_id="savinjska-tv">Savinjska TV</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="SciFi.si" site_id="scifi">SciFi</channel>
|
||||
<channel site="neo.io" lang="en" xmltv_id="VividRed.us" site_id="vivid-red-hd">Vivid Red</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="" site_id="scifi">SciFi</channel>
|
||||
<channel site="neo.io" lang="en" xmltv_id="" site_id="vivid-red-hd">Vivid Red</channel>
|
||||
<channel site="neo.io" lang="it" xmltv_id="CentoXCentoTV.it" site_id="centoxcento">CentoXCento</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="Sexation.si" site_id="sexation">Sexation</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="" site_id="sexation">Sexation</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="SIPTV.si" site_id="sip-tv">SIP TV</channel>
|
||||
<channel site="neo.io" lang="ml" xmltv_id="Sitel.mk" site_id="tv-sitel">Sitel</channel>
|
||||
<channel site="neo.io" lang="en" xmltv_id="SkyNews.uk" site_id="sky-news">Sky News</channel>
|
||||
|
@ -284,7 +284,7 @@
|
|||
<channel site="neo.io" lang="sl" xmltv_id="StarLife.si" site_id="star-life">Star Life</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="StarMovies.si" site_id="star-movies">Star Movies</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="" site_id="super-one-hd">Super One HD</channel>
|
||||
<channel site="neo.io" lang="de" xmltv_id="SuperRTL.de" site_id="super-rtl">Super RTL</channel>
|
||||
<channel site="neo.io" lang="de" xmltv_id="" site_id="super-rtl">Super RTL</channel>
|
||||
<channel site="neo.io" lang="ru" xmltv_id="Telecafe.ru" site_id="telecafe">Телекафе</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="TVMaribor.si" site_id="tele-maribor">Tele Maribor</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="TLC.si" site_id="discovery-tlc">TLC</channel>
|
||||
|
@ -292,11 +292,11 @@
|
|||
<channel site="neo.io" lang="sl" xmltv_id="TopTV.si" site_id="top-tv">Top TV</channel>
|
||||
<channel site="neo.io" lang="en" xmltv_id="TraceUrban.fr" site_id="trace-urban">Trace Urban</channel>
|
||||
<channel site="neo.io" lang="en" xmltv_id="TraceSportStars.fr" site_id="trace-sport">Trace Sport Stars</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="TravelChannel.si" site_id="travel-channel">Travel Channel</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="Travelxp.si" site_id="travelxp-4k">Travelxp 4K</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="Travelxp.si" site_id="travelxp-hd">Travelxp</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="" site_id="travel-channel">Travel Channel</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="" site_id="travelxp-4k">Travelxp 4K</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="" site_id="travelxp-hd">Travelxp</channel>
|
||||
<channel site="neo.io" lang="sq" xmltv_id="Kanali7.al" site_id="tring-7">Tring 7</channel>
|
||||
<channel site="neo.io" lang="sq" xmltv_id="TringMax.al" site_id="tring-max">Tring Max</channel>
|
||||
<channel site="neo.io" lang="sq" xmltv_id="" site_id="tring-max">Tring Max</channel>
|
||||
<channel site="neo.io" lang="sq" xmltv_id="TringShqip.al" site_id="tring-shqip">Tring Shqip</channel>
|
||||
<channel site="neo.io" lang="sq" xmltv_id="TringTring.al" site_id="tring-tring">Tring Tring</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="" site_id="tropski-podvodni-svet">Tropski podvodni svet</channel>
|
||||
|
@ -304,10 +304,10 @@
|
|||
<channel site="neo.io" lang="ba" xmltv_id="OKanal.ba" site_id="o-kanal">O Kanal</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="TV3.si" site_id="tv3">TV3</channel>
|
||||
<channel site="neo.io" lang="fr" xmltv_id="TV5MondeEurope.fr" site_id="tv5monde">TV5Monde Europe</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="Tv8.si" site_id="tv8">Tv8</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="" site_id="tv8">Tv8</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="TV8.it" site_id="tv-8">TV 8</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="TV1000.si" site_id="tv-1000">TV 1000</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="TVAs.si" site_id="tv-as">TV As</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="" site_id="tv-as">TV As</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="KanalK3Beltinci.si" site_id="tv-beltinci">TV Beltinci</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="TVCelje.si" site_id="tv-celje">TV Celje</channel>
|
||||
<channel site="neo.io" lang="es" xmltv_id="TVEInternacionalEuropeAsia.es" site_id="tve">TVE Internacional</channel>
|
||||
|
@ -321,10 +321,10 @@
|
|||
<channel site="neo.io" lang="sl" xmltv_id="" site_id="otv-music">OTV Music</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="Vaskanal.si" site_id="vas-kanal">Vaš kanal</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="" site_id="veseli-december">Veseli december</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="ViasatExplore.si" site_id="viasat-explore">Viasat Explore</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="ViasatHistory.si" site_id="viasat-history">Viasat History</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="ViasatNature.si" site_id="viasat-nature">Viasat Nature</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="ViasatTrueCrime.si" site_id="viasat-true-crime">Viasat True Crime</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="" site_id="viasat-explore">Viasat Explore</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="" site_id="viasat-history">Viasat History</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="" site_id="viasat-nature">Viasat Nature</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="" site_id="viasat-true-crime">Viasat True Crime</channel>
|
||||
<channel site="neo.io" lang="ba" xmltv_id="RTVVikom.ba" site_id="vikom">Vikom</channel>
|
||||
<channel site="neo.io" lang="sl" xmltv_id="Vitel.si" site_id="vitel">Vitel</channel>
|
||||
<channel site="neo.io" lang="en" xmltv_id="VividTouch.uk" site_id="vivid-touch">Vivid Touch</channel>
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
<channel site="nostv.pt" lang="pt" xmltv_id="" site_id="702">Dizi</channel>
|
||||
<channel site="nostv.pt" lang="en" xmltv_id="1Plus1International.ua" site_id="24">1+1</channel>
|
||||
<channel site="nostv.pt" lang="pt" xmltv_id="24Kitchen.pt" site_id="243">24Kitchen HD</channel>
|
||||
<channel site="nostv.pt" lang="pt" xmltv_id="AfroMusicChannel.pt" site_id="272">Afro Music Channel</channel>
|
||||
<channel site="nostv.pt" lang="pt" xmltv_id="" site_id="272">Afro Music Channel</channel>
|
||||
<channel site="nostv.pt" lang="en" xmltv_id="AlJazeera.qa" site_id="108">Al Jazeera</channel>
|
||||
<channel site="nostv.pt" lang="pt" xmltv_id="AMC.pt" site_id="415">AMC HD</channel>
|
||||
<channel site="nostv.pt" lang="pt" xmltv_id="AMCBreak.pt" site_id="509">AMC Break HD</channel>
|
||||
|
@ -37,13 +37,13 @@
|
|||
<channel site="nostv.pt" lang="nl" xmltv_id="BVN.nl" site_id="28">BVN</channel>
|
||||
<channel site="nostv.pt" lang="pt" xmltv_id="Canal11.pt" site_id="565">Canal 11 HD</channel>
|
||||
<channel site="nostv.pt" lang="pt" xmltv_id="CanalHollywood.pt" site_id="14">Canal Hollywood HD</channel>
|
||||
<channel site="nostv.pt" lang="pt" xmltv_id="Canalnostv.pt" site_id="408">Canal NOS HD</channel>
|
||||
<channel site="nostv.pt" lang="pt" xmltv_id="" site_id="408">Canal NOS HD</channel>
|
||||
<channel site="nostv.pt" lang="pt" xmltv_id="CanalPanda.pt" site_id="593">Canal Panda HD</channel>
|
||||
<channel site="nostv.pt" lang="pt" xmltv_id="CanalQ.pt" site_id="235">Canal Q</channel>
|
||||
<channel site="nostv.pt" lang="pt" xmltv_id="CartoonNetwork.pt" site_id="252">Cartoon Network HD</channel>
|
||||
<channel site="nostv.pt" lang="pt" xmltv_id="CasaeCozinha.pt" site_id="572">Casa e Cozinha HD</channel>
|
||||
<channel site="nostv.pt" lang="en" xmltv_id="CCTV4Europe.cn" site_id="316">CCTV 4</channel>
|
||||
<channel site="nostv.pt" lang="en" xmltv_id="CGTNEurope.cn" site_id="312">CGTN</channel>
|
||||
<channel site="nostv.pt" lang="en" xmltv_id="" site_id="312">CGTN</channel>
|
||||
<channel site="nostv.pt" lang="pt" xmltv_id="CMTV.pt" site_id="425">CMTV HD</channel>
|
||||
<channel site="nostv.pt" lang="en" xmltv_id="CNBCEurope.uk" site_id="52">CNBC</channel>
|
||||
<channel site="nostv.pt" lang="en" xmltv_id="CNNInternationalEurope.us" site_id="26">CNN</channel>
|
||||
|
@ -71,11 +71,11 @@
|
|||
<channel site="nostv.pt" lang="pt" xmltv_id="FashionTVHD.fr" site_id="47">FTV HD</channel>
|
||||
<channel site="nostv.pt" lang="en" xmltv_id="FightNetwork.ca" site_id="236">Fight Network HD</channel>
|
||||
<channel site="nostv.pt" lang="pt" xmltv_id="FoodNetworkEMEA.us" site_id="62">Food Network HD</channel>
|
||||
<channel site="nostv.pt" lang="pt" xmltv_id="STARChannel.pt" site_id="174">STAR Channel</channel>
|
||||
<channel site="nostv.pt" lang="pt" xmltv_id="STARComedy.pt" site_id="113">STAR Comedy</channel>
|
||||
<channel site="nostv.pt" lang="pt" xmltv_id="STARCrime.pt" site_id="244">STAR Crime</channel>
|
||||
<channel site="nostv.pt" lang="pt" xmltv_id="STARLife.pt" site_id="175">STAR Life</channel>
|
||||
<channel site="nostv.pt" lang="pt" xmltv_id="STARMovies.pt" site_id="242">STAR Movies</channel>
|
||||
<channel site="nostv.pt" lang="pt" xmltv_id="" site_id="174">STAR Channel</channel>
|
||||
<channel site="nostv.pt" lang="pt" xmltv_id="" site_id="113">STAR Comedy</channel>
|
||||
<channel site="nostv.pt" lang="pt" xmltv_id="" site_id="244">STAR Crime</channel>
|
||||
<channel site="nostv.pt" lang="pt" xmltv_id="" site_id="175">STAR Life</channel>
|
||||
<channel site="nostv.pt" lang="pt" xmltv_id="" site_id="242">STAR Movies</channel>
|
||||
<channel site="nostv.pt" lang="en" xmltv_id="France24English.fr" site_id="109">France 24 (I)</channel>
|
||||
<channel site="nostv.pt" lang="fr" xmltv_id="France24French.fr" site_id="132">France 24 (F)</channel>
|
||||
<channel site="nostv.pt" lang="pt" xmltv_id="FUELTV.at" site_id="72">Fuel TV HD</channel>
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
<channel site="novacyprus.com" lang="el" xmltv_id="FoxLife.gr" site_id="570">FOX Life</channel>
|
||||
<channel site="novacyprus.com" lang="el" xmltv_id="HellenicParliamentTV.gr" site_id="521">Βουλή - Τηλεόραση</channel>
|
||||
<channel site="novacyprus.com" lang="el" xmltv_id="InsightTV.nl" site_id="81">InsightTV</channel>
|
||||
<channel site="novacyprus.com" lang="el" xmltv_id="MADGreekz.gr" site_id="582">MAD GREEKZ</channel>
|
||||
<channel site="novacyprus.com" lang="el" xmltv_id="" site_id="582">MAD GREEKZ</channel>
|
||||
<channel site="novacyprus.com" lang="el" xmltv_id="MadTV.gr" site_id="227">Mad TV</channel>
|
||||
<channel site="novacyprus.com" lang="el" xmltv_id="MTVLive.uk" site_id="673">MTV Live HD</channel>
|
||||
<channel site="novacyprus.com" lang="el" xmltv_id="MyZenTV.fr" site_id="221">MyZen TV</channel>
|
||||
|
|
|
@ -1388,7 +1388,7 @@
|
|||
<channel site="ontvtonight.com" lang="en" xmltv_id="Evasion.ca" site_id="ca#69033921/evasion-hdtv">Évasion HDTV</channel>
|
||||
<channel site="ontvtonight.com" lang="en" xmltv_id="FilipinoTV.ca" site_id="ca#69031569/filipino-tv">Filipino TV</channel>
|
||||
<channel site="ontvtonight.com" lang="en" xmltv_id="GameTV.ca" site_id="ca#69027369/gametv">GameTV</channel>
|
||||
<channel site="ontvtonight.com" lang="en" xmltv_id="GeoCanada.ca" site_id="ca#69030172/geo-tv-canada">GEO TV (Canada)</channel>
|
||||
<channel site="ontvtonight.com" lang="en" xmltv_id="" site_id="ca#69030172/geo-tv-canada">GEO TV (Canada)</channel>
|
||||
<channel site="ontvtonight.com" lang="en" xmltv_id="GINXEsportsTVCanada.ca" site_id="ca#69031005/super-channel-ginx-esports-tv-canada">Super Channel GINX eSports TV (Canada)</channel>
|
||||
<channel site="ontvtonight.com" lang="en" xmltv_id="GMALifeTV.ph" site_id="ca#69033240/gma-life-tv">GMA Life TV</channel>
|
||||
<channel site="ontvtonight.com" lang="en" xmltv_id="HPItv.ca" site_id="ca#69023075/hpitv">HPItv</channel>
|
||||
|
|
|
@ -1713,13 +1713,13 @@
|
|||
<channel site="ontvtonight.com" lang="en" xmltv_id="HBOComedyEast.us" site_id="us#69031638/hbo-comedy-hdtv-east">HBO Comedy HDTV (East)</channel>
|
||||
<channel site="ontvtonight.com" lang="en" xmltv_id="HBOComedyEast.us" site_id="us#69047950/hbo-comedy-east">HBO Comedy (East)</channel>
|
||||
<channel site="ontvtonight.com" lang="en" xmltv_id="HBOComedyWest.us" site_id="us#69047951/hbo-comedy-west">HBO Comedy (West)</channel>
|
||||
<channel site="ontvtonight.com" lang="en" xmltv_id="HBOComedyWest.ys" site_id="us#69031856/hbo-comedy-hdtv-west">HBO Comedy HDTV (West)</channel>
|
||||
<channel site="ontvtonight.com" lang="en" xmltv_id="" site_id="us#69031856/hbo-comedy-hdtv-west">HBO Comedy HDTV (West)</channel>
|
||||
<channel site="ontvtonight.com" lang="en" xmltv_id="HBOEast.us" site_id="us#69022151/hbo-hdtv-east">HBO HDTV (East)</channel>
|
||||
<channel site="ontvtonight.com" lang="en" xmltv_id="HBOEast.us" site_id="us#69046988/hbo-east">HBO (East)</channel>
|
||||
<channel site="ontvtonight.com" lang="en" xmltv_id="HBOFamilyEast.us" site_id="us#69031636/hbo-family-hdtv-east">HBO Family HDTV (East)</channel>
|
||||
<channel site="ontvtonight.com" lang="en" xmltv_id="HBOFamilyEast.us" site_id="us#69032418/hbo-family-east">HBO Family (East)</channel>
|
||||
<channel site="ontvtonight.com" lang="en" xmltv_id="HBOFamilyWest.us" site_id="us#69031761/hbo-family-hdtv-west">HBO Family HDTV (West)</channel>
|
||||
<channel site="ontvtonight.com" lang="en" xmltv_id="HBOFamilyWest.us" site_id="us#69035804/hbo-family-west">HBO Family (West)</channel>
|
||||
<channel site="ontvtonight.com" lang="en" xmltv_id="" site_id="us#69031761/hbo-family-hdtv-west">HBO Family HDTV (West)</channel>
|
||||
<channel site="ontvtonight.com" lang="en" xmltv_id="" site_id="us#69035804/hbo-family-west">HBO Family (West)</channel>
|
||||
<channel site="ontvtonight.com" lang="en" xmltv_id="HBOSignatureEast.us" site_id="us#69031637/hbo-signature-hdtv-east">HBO Signature HDTV (East)</channel>
|
||||
<channel site="ontvtonight.com" lang="en" xmltv_id="HBOSignatureEast.us" site_id="us#69032052/hbo-signature-east">HBO Signature (East)</channel>
|
||||
<channel site="ontvtonight.com" lang="en" xmltv_id="HBOSignatureWest.us" site_id="us#69031762/hbo-signature-hdtv-west">HBO Signature HDTV (West)</channel>
|
||||
|
@ -1744,7 +1744,7 @@
|
|||
<channel site="ontvtonight.com" lang="en" xmltv_id="KFTRDT1.us" site_id="us#69033125/kftr-unimas-46-hdtv">KFTR UniMás 46 HDTV</channel>
|
||||
<channel site="ontvtonight.com" lang="en" xmltv_id="KFTVDT1.us" site_id="us#69025383/kftv-hdtv-univision-21">KFTV HDTV Univision 21</channel>
|
||||
<channel site="ontvtonight.com" lang="en" xmltv_id="KFXADT6.us" site_id="us#69025175/kfxa-dabl">KFXA Dabl</channel>
|
||||
<channel site="ontvtonight.com" lang="en" xmltv_id="KIITDT1.us" site_id="us#69045147/kiit-hdtv">KIIT HDTV</channel>
|
||||
<channel site="ontvtonight.com" lang="en" xmltv_id="" site_id="us#69045147/kiit-hdtv">KIIT HDTV</channel>
|
||||
<channel site="ontvtonight.com" lang="en" xmltv_id="KINCDT1.us" site_id="us#69033134/kinc-hdtv-univision-15">KINC HDTV Univision 15</channel>
|
||||
<channel site="ontvtonight.com" lang="en" xmltv_id="KINTDT1.us" site_id="us#69033135/kint-hdtv-univision-26">KINT HDTV Univision 26</channel>
|
||||
<channel site="ontvtonight.com" lang="en" xmltv_id="KLDODT1.us" site_id="us#69025384/kldo-univision-27">KLDO Univision 27</channel>
|
||||
|
@ -1779,7 +1779,7 @@
|
|||
<channel site="ontvtonight.com" lang="en" xmltv_id="KTFNDT1.us" site_id="us#69033218/ktfn-hdtv-unimas-65">KTFN HDTV UniMás 65</channel>
|
||||
<channel site="ontvtonight.com" lang="en" xmltv_id="KTFQDT1.us" site_id="us#69033136/ktfq-hdtv-univision">KTFQ HDTV Univision</channel>
|
||||
<channel site="ontvtonight.com" lang="en" xmltv_id="KTFQDT1.us" site_id="us#69033853/ktfq-hdtv-unimas-14">KTFQ HDTV UniMás 14</channel>
|
||||
<channel site="ontvtonight.com" lang="en" xmltv_id="KTFVDT1.us" site_id="us#1734066853/ktfv-unimas-32">KTFV UniMás 32</channel>
|
||||
<channel site="ontvtonight.com" lang="en" xmltv_id="" site_id="us#1734066853/ktfv-unimas-32">KTFV UniMás 32</channel>
|
||||
<channel site="ontvtonight.com" lang="en" xmltv_id="KTRKDT1.us" site_id="us#69021825/ktrk-hdtv">KTRK HDTV</channel>
|
||||
<channel site="ontvtonight.com" lang="en" xmltv_id="KTTVDT1.us" site_id="us#69022186/kttv-hdtv">KTTV HDTV</channel>
|
||||
<channel site="ontvtonight.com" lang="en" xmltv_id="KTVIDT1.us" site_id="us#69022788/ktvi-hdtv">KTVI HDTV</channel>
|
||||
|
@ -1787,13 +1787,13 @@
|
|||
<channel site="ontvtonight.com" lang="en" xmltv_id="KTVWDT1.us" site_id="us#69025387/ktvw-hdtv-univision-33">KTVW HDTV Univision 33</channel>
|
||||
<channel site="ontvtonight.com" lang="en" xmltv_id="KTXLDT1.us" site_id="us#69022796/ktxl-hdtv">KTXL HDTV</channel>
|
||||
<channel site="ontvtonight.com" lang="en" xmltv_id="KUNPDT1.us" site_id="us#69033958/kunp-univision-16">KUNP Univision 16</channel>
|
||||
<channel site="ontvtonight.com" lang="en" xmltv_id="KUNWDT1.us" site_id="us#69022002/kunw-univision-2">KUNW Univision 2</channel>
|
||||
<channel site="ontvtonight.com" lang="en" xmltv_id="" site_id="us#69022002/kunw-univision-2">KUNW Univision 2</channel>
|
||||
<channel site="ontvtonight.com" lang="en" xmltv_id="KUPBDT1.us" site_id="us#69033902/kupb-hdtv-univision-18">KUPB HDTV Univision 18</channel>
|
||||
<channel site="ontvtonight.com" lang="en" xmltv_id="KUTHDT1.us" site_id="us#69034876/kuth-hdtv-univision-32">KUTH HDTV Univision 32</channel>
|
||||
<channel site="ontvtonight.com" lang="en" xmltv_id="KUVEDT1.us" site_id="us#69034830/kuve-hdtv-univision-38">KUVE HDTV Univision 38</channel>
|
||||
<channel site="ontvtonight.com" lang="en" xmltv_id="KUVNDT1.us" site_id="us#69025388/kuvn-hdtv-univision-23">KUVN HDTV Univision 23</channel>
|
||||
<channel site="ontvtonight.com" lang="en" xmltv_id="KUVSDT1.us" site_id="us#69025389/kuvs-hdtv-univision-19">KUVS HDTV Univision 19</channel>
|
||||
<channel site="ontvtonight.com" lang="en" xmltv_id="KVERDT1.us" site_id="us#3678425910/kver-univision-4-hdtv">KVER Univision 4 HDTV</channel>
|
||||
<channel site="ontvtonight.com" lang="en" xmltv_id="" site_id="us#3678425910/kver-univision-4-hdtv">KVER Univision 4 HDTV</channel>
|
||||
<channel site="ontvtonight.com" lang="en" xmltv_id="KVSNDT1.us" site_id="us#69034099/kvsn-hdtv-univision-48">KVSN HDTV Univision 48</channel>
|
||||
<channel site="ontvtonight.com" lang="en" xmltv_id="KVVUDT1.us" site_id="us#69023154/kvvu-hdtv">KVVU HDTV</channel>
|
||||
<channel site="ontvtonight.com" lang="en" xmltv_id="KVYEDT1.us" site_id="us#69047975/kvye-univision-7">KVYE Univision 7</channel>
|
||||
|
@ -1830,7 +1830,7 @@
|
|||
<channel site="ontvtonight.com" lang="en" xmltv_id="ShowtimeWomenEast.us" site_id="us#69049897/showtime-women-east">Showtime Women (East)</channel>
|
||||
<channel site="ontvtonight.com" lang="en" xmltv_id="ShoxBetEast.us" site_id="us#8807289331/shoxbet-hdtv-east">SHOxBET HDTV (East)</channel>
|
||||
<channel site="ontvtonight.com" lang="en" xmltv_id="ShoxBetEast.us" site_id="us#8807289333/shoxbeteast">SHOxBET(East)</channel>
|
||||
<channel site="ontvtonight.com" lang="en" xmltv_id="ShoxBetWast.us" site_id="us#8807289332/shoxbet-hdtv-west">SHOxBET HDTV (West)</channel>
|
||||
<channel site="ontvtonight.com" lang="en" xmltv_id="" site_id="us#8807289332/shoxbet-hdtv-west">SHOxBET HDTV (West)</channel>
|
||||
<channel site="ontvtonight.com" lang="en" xmltv_id="StarzCinemaEast.us" site_id="us#69035051/starz-cinema-hd-east">STARZ Cinema HD (East)</channel>
|
||||
<channel site="ontvtonight.com" lang="en" xmltv_id="StarzCinemaEast.us" site_id="us#69047892/starz-cinema-east">STARZ Cinema (East)</channel>
|
||||
<channel site="ontvtonight.com" lang="en" xmltv_id="StarzComedyEast.us" site_id="us#69023898/starz-comedy-east">Starz Comedy (East)</channel>
|
||||
|
@ -1894,7 +1894,7 @@
|
|||
<channel site="ontvtonight.com" lang="en" xmltv_id="WDAFDT1.us" site_id="us#69022331/wdaf-hdtv">WDAF HDTV</channel>
|
||||
<channel site="ontvtonight.com" lang="en" xmltv_id="WDFXDT1.us" site_id="us#69027443/wdfx-hdtv">WDFX HDTV</channel>
|
||||
<channel site="ontvtonight.com" lang="en" xmltv_id="WDKYDT1.us" site_id="us#69025348/wdky-hdtv">WDKY HDTV</channel>
|
||||
<channel site="ontvtonight.com" lang="en" xmltv_id="WEDWDT4.us" site_id="us#1760282857/wedwdt4">WEDWDT4</channel>
|
||||
<channel site="ontvtonight.com" lang="en" xmltv_id="" site_id="us#1760282857/wedwdt4">WEDWDT4</channel>
|
||||
<channel site="ontvtonight.com" lang="en" xmltv_id="WFDCDT1.us" site_id="us#69033219/wfdc-hdtv-univision-14">WFDC HDTV Univision 14</channel>
|
||||
<channel site="ontvtonight.com" lang="en" xmltv_id="WFLDDT1.us" site_id="us#69022882/wfld-hdtv">WFLD HDTV</channel>
|
||||
<channel site="ontvtonight.com" lang="en" xmltv_id="WFLXDT1.us" site_id="us#69022883/wflx-hdtv">WFLX HDTV</channel>
|
||||
|
|
1
sites/opto.sic.pt/__data__/content.json
Normal file
1
sites/opto.sic.pt/__data__/content.json
Normal file
File diff suppressed because one or more lines are too long
7
sites/opto.sic.pt/opto.sic.pt.channels.xml
Normal file
7
sites/opto.sic.pt/opto.sic.pt.channels.xml
Normal file
|
@ -0,0 +1,7 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<channels>
|
||||
<channel site="opto.sic.pt" lang="pt" xmltv_id="SIC.pt" site_id="14229a5c-765a-46ab-a43b-56822565e5b3">SIC</channel>
|
||||
<channel site="opto.sic.pt" lang="pt" xmltv_id="" site_id="549519c3-31fa-42de-a621-15e981082fd9">SIC Alta Definição</channel>
|
||||
<channel site="opto.sic.pt" lang="pt" xmltv_id="SICNoticias.pt" site_id="38719848-2a57-42e3-8640-63a9aa39f107">SIC Notícias</channel>
|
||||
<channel site="opto.sic.pt" lang="pt" xmltv_id="" site_id="d47400e0-19d9-4f71-94f4-2b4cfdc1a2ca">SIC Replay</channel>
|
||||
</channels>
|
53
sites/opto.sic.pt/opto.sic.pt.config.js
Normal file
53
sites/opto.sic.pt/opto.sic.pt.config.js
Normal file
|
@ -0,0 +1,53 @@
|
|||
const axios = require('axios')
|
||||
const dayjs = require('dayjs')
|
||||
|
||||
module.exports = {
|
||||
site: 'opto.sic.pt',
|
||||
days: 2,
|
||||
url({ date, channel }) {
|
||||
const startDate = date.unix()
|
||||
const endDate = date.add(1, 'd').unix()
|
||||
|
||||
return `https://opto.sic.pt/api/v1/content/epg?startDate=${startDate}&endDate=${endDate}&channels=${channel.site_id}`
|
||||
},
|
||||
parser({ content }) {
|
||||
let programs = []
|
||||
let items = parseItems(content)
|
||||
items.forEach(item => {
|
||||
programs.push({
|
||||
title: item.title,
|
||||
episode: item.episode_number || null,
|
||||
season: item.season_number || null,
|
||||
start: dayjs.unix(item.start_time),
|
||||
stop: dayjs.unix(item.end_time)
|
||||
})
|
||||
})
|
||||
|
||||
return programs
|
||||
},
|
||||
async channels() {
|
||||
const data = await axios
|
||||
.get('https://opto.sic.pt/api/v1/content/channel')
|
||||
.then(r => r.data)
|
||||
.catch(console.error)
|
||||
|
||||
return data.map(channel => {
|
||||
return {
|
||||
lang: 'pt',
|
||||
site_id: channel.id,
|
||||
name: channel.name
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
function parseItems(content) {
|
||||
try {
|
||||
const data = JSON.parse(content)
|
||||
if (!Array.isArray(data)) return []
|
||||
|
||||
return data
|
||||
} catch {
|
||||
return []
|
||||
}
|
||||
}
|
52
sites/opto.sic.pt/opto.sic.pt.test.js
Normal file
52
sites/opto.sic.pt/opto.sic.pt.test.js
Normal file
|
@ -0,0 +1,52 @@
|
|||
const { parser, url } = require('./opto.sic.pt.config.js')
|
||||
const fs = require('fs')
|
||||
const path = require('path')
|
||||
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('2025-01-17', 'YYYY-MM-DD').startOf('d')
|
||||
const channel = {
|
||||
site_id: '38719848-2a57-42e3-8640-63a9aa39f107',
|
||||
xmltv_id: 'SICNoticias.pt'
|
||||
}
|
||||
|
||||
it('can generate valid url', () => {
|
||||
expect(url({ date, channel })).toBe(
|
||||
'https://opto.sic.pt/api/v1/content/epg?startDate=1737072000&endDate=1737158400&channels=38719848-2a57-42e3-8640-63a9aa39f107'
|
||||
)
|
||||
})
|
||||
|
||||
it('can parse response', () => {
|
||||
const content = fs.readFileSync(path.resolve(__dirname, '__data__/content.json'), 'utf8')
|
||||
let results = parser({ content })
|
||||
results = results.map(p => {
|
||||
p.start = p.start.toJSON()
|
||||
p.stop = p.stop.toJSON()
|
||||
return p
|
||||
})
|
||||
|
||||
expect(results.length).toBe(17)
|
||||
expect(results[0]).toMatchObject({
|
||||
start: '2025-01-17T00:00:00.000Z',
|
||||
stop: '2025-01-17T01:45:00.000Z',
|
||||
title: 'JORNAL DA MEIA-NOITE',
|
||||
episode: 16,
|
||||
season: null
|
||||
})
|
||||
expect(results[16]).toMatchObject({
|
||||
start: '2025-01-17T23:00:00.000Z',
|
||||
stop: '2025-01-18T00:00:00.000Z',
|
||||
title: 'EXPRESSO DA MEIA-NOITE',
|
||||
episode: 2,
|
||||
season: null
|
||||
})
|
||||
})
|
||||
|
||||
it('can handle empty guide', () => {
|
||||
const results = parser({ content: '' })
|
||||
|
||||
expect(results).toMatchObject([])
|
||||
})
|
21
sites/opto.sic.pt/readme.md
Normal file
21
sites/opto.sic.pt/readme.md
Normal file
|
@ -0,0 +1,21 @@
|
|||
# opto.sic.pt
|
||||
|
||||
https://opto.sic.pt/guia-tv
|
||||
|
||||
### Download the guide
|
||||
|
||||
```sh
|
||||
npm run grab --- --site=opto.sic.pt
|
||||
```
|
||||
|
||||
### Update channel list
|
||||
|
||||
```sh
|
||||
npm run channels:parse --- --config=./sites/opto.sic.pt/opto.sic.pt.config.js --output=./sites/opto.sic.pt/opto.sic.pt.channels.xml
|
||||
```
|
||||
|
||||
### Test
|
||||
|
||||
```sh
|
||||
npm test --- opto.sic.pt
|
||||
```
|
|
@ -43,7 +43,7 @@
|
|||
<channel site="orangetv.orange.es" lang="es" xmltv_id="RuntimeComedia.es" site_id="11092">Runtime Comedia</channel>
|
||||
<channel site="orangetv.orange.es" lang="es" xmltv_id="RuntimeCrimen.es" site_id="11095">Runtime Crimen</channel>
|
||||
<channel site="orangetv.orange.es" lang="es" xmltv_id="RuntimeRomance.es" site_id="11096">Runtime Romance</channel>
|
||||
<channel site="orangetv.orange.es" lang="es" xmltv_id="RunTimeClasicos.es" site_id="11097">RunTime Clásicos</channel>
|
||||
<channel site="orangetv.orange.es" lang="es" xmltv_id="" site_id="11097">RunTime Clásicos</channel>
|
||||
<channel site="orangetv.orange.es" lang="es" xmltv_id="CinesVerdi.es" site_id="11098">Cines Verdi TV</channel>
|
||||
<channel site="orangetv.orange.es" lang="es" xmltv_id="CineFeelGood.es" site_id="11099">Cine Feel Good</channel>
|
||||
<channel site="orangetv.orange.es" lang="es" xmltv_id="ParamountNetwork.es" site_id="12032">Paramount Network</channel>
|
||||
|
@ -72,7 +72,7 @@
|
|||
<channel site="orangetv.orange.es" lang="es" xmltv_id="CanalSur.es" site_id="1035">Canal Sur</channel>
|
||||
<channel site="orangetv.orange.es" lang="es" xmltv_id="CanalSur2.es" site_id="2022">CanalSur 2</channel>
|
||||
<channel site="orangetv.orange.es" lang="es" xmltv_id="CanalSurAndalucia.es" site_id="2031">Andalucía TV</channel>
|
||||
<channel site="orangetv.orange.es" lang="es" xmltv_id="7TVAndalucia.e" site_id="2065">7 TV Andalucia</channel>
|
||||
<channel site="orangetv.orange.es" lang="es" xmltv_id="" site_id="2065">7 TV Andalucia</channel>
|
||||
<channel site="orangetv.orange.es" lang="es" xmltv_id="TV3.es" site_id="2008">TV3 HD</channel>
|
||||
<channel site="orangetv.orange.es" lang="es" xmltv_id="TV3CAT.es" site_id="1036">TV3CAT</channel>
|
||||
<channel site="orangetv.orange.es" lang="es" xmltv_id="324.es" site_id="2050">3/24</channel>
|
||||
|
@ -82,7 +82,6 @@
|
|||
<channel site="orangetv.orange.es" lang="es" xmltv_id="IB3.es" site_id="2013">IB3 HD</channel>
|
||||
<channel site="orangetv.orange.es" lang="es" xmltv_id="TelevisionCanaria.es" site_id="2059">RTV Canaria HD</channel>
|
||||
<channel site="orangetv.orange.es" lang="es" xmltv_id="ETB1.es" site_id="2014">ETB1 HD</channel>
|
||||
<channel site="orangetv.orange.es" lang="es" xmltv_id="ETB2.es" site_id="1037">ETB2 HD</channel>
|
||||
<channel site="orangetv.orange.es" lang="es" xmltv_id="ETB3.es" site_id="2032">ETB3</channel>
|
||||
<channel site="orangetv.orange.es" lang="es" xmltv_id="ETB4.es" site_id="2037">ETB4</channel>
|
||||
<channel site="orangetv.orange.es" lang="es" xmltv_id="ETBBasque.es" site_id="1037">ETB Basque</channel>
|
||||
|
@ -154,7 +153,7 @@
|
|||
<channel site="orangetv.orange.es" lang="es" xmltv_id="MyZenTV.fr" site_id="11070">Myzen TV</channel>
|
||||
<channel site="orangetv.orange.es" lang="es" xmltv_id="FightSports.us" site_id="12007">FightSports</channel>
|
||||
<channel site="orangetv.orange.es" lang="es" xmltv_id="FightBoxHD.nl" site_id="1091">Fight Box HD</channel>
|
||||
<channel site="orangetv.orange.es" lang="es" xmltv_id="Gametoon.es" site_id="1086">Gametoon</channel>
|
||||
<channel site="orangetv.orange.es" lang="es" xmltv_id="" site_id="1086">Gametoon</channel>
|
||||
<channel site="orangetv.orange.es" lang="es" xmltv_id="EuronewsSpanish.fr" site_id="1090">Euronews</channel>
|
||||
<channel site="orangetv.orange.es" lang="es" xmltv_id="ElToroTV.es" site_id="11049">El Toro TV</channel>
|
||||
<channel site="orangetv.orange.es" lang="es" xmltv_id="Motorvision.de" site_id="11105">Motorvision</channel>
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
<channel site="osn.com" lang="ar" xmltv_id="AlSafwa.ae" site_id="SAF">Al Safwa</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="AlYawm.ae" site_id="YAW">Alfa Al Yawm</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="ANC.ph" site_id="ANC">ANC</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="AnimalPlanet.ae" site_id="APL">Animal Planet</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="" site_id="APL">Animal Planet</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="BloombergTVEurope.uk" site_id="BTV">Bloomberg</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="CartoonNetworkArabic.ae" site_id="TCN">Cartoon Network</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="Cinema1.ae" site_id="CM1">Alfa Cinema 1</channel>
|
||||
|
@ -49,7 +49,7 @@
|
|||
<channel site="osn.com" lang="ar" xmltv_id="OSNMoviesAction.ae" site_id="AHD">OSN TV Movies Action</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="OSNMoviesHollywood.ae" site_id="OPR">OSN TV Movies Hollywood</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="OSNMoviesPremiere.ae" site_id="OM1">OSN TV Movies Premiere</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="OSNNews.ae" site_id="ONS">OSN TV News</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="" site_id="ONS">OSN TV News</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="OSNShowcase.ae" site_id="OFH">OSN TV Showcase</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="OSNYahala.ae" site_id="OYH">OSN TV Yahala</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="OSNYahalaAflam.ae" site_id="OYC">OSN TV Yahala Aflam</channel>
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue