mirror of
https://github.com/iptv-org/database.git
synced 2025-05-10 03:30:01 -04:00
Merge pull request #16963 from iptv-org/patch-2025.03.2
Patch 2025.03.2
This commit is contained in:
commit
58663494bd
25 changed files with 40674 additions and 3989 deletions
42
.github/ISSUE_TEMPLATE/1_channels_add.yml
vendored
42
.github/ISSUE_TEMPLATE/1_channels_add.yml
vendored
|
@ -80,6 +80,27 @@ body:
|
|||
validations:
|
||||
required: true
|
||||
|
||||
- type: input
|
||||
id: launched
|
||||
attributes:
|
||||
label: Launched (optional)
|
||||
description: Launch date of the channel (`YYYY-MM-DD`)
|
||||
placeholder: '2016-07-28'
|
||||
|
||||
- type: input
|
||||
id: closed
|
||||
attributes:
|
||||
label: Closed (optional)
|
||||
description: Date on which the channel closed (`YYYY-MM-DD`)
|
||||
placeholder: '2020-05-31'
|
||||
|
||||
- type: input
|
||||
id: replaced_by
|
||||
attributes:
|
||||
label: Replaced By (optional)
|
||||
description: The ID of the channel that this channel was replaced by
|
||||
placeholder: 'CCTV1.cn'
|
||||
|
||||
- type: input
|
||||
id: website
|
||||
attributes:
|
||||
|
@ -160,27 +181,6 @@ body:
|
|||
validations:
|
||||
required: true
|
||||
|
||||
- type: input
|
||||
id: launched
|
||||
attributes:
|
||||
label: Launched (optional)
|
||||
description: Launch date of the feed (`YYYY-MM-DD`)
|
||||
placeholder: '2016-07-28'
|
||||
|
||||
- type: input
|
||||
id: closed
|
||||
attributes:
|
||||
label: Closed (optional)
|
||||
description: Date on which the feed closed (`YYYY-MM-DD`)
|
||||
placeholder: '2020-05-31'
|
||||
|
||||
- type: input
|
||||
id: replaced_by
|
||||
attributes:
|
||||
label: Replaced By (optional)
|
||||
description: "ID of the channel and feed this feed was replaced with. Possible values: `<channel_id>` or `<channel_id>@<feed_id>`"
|
||||
placeholder: 'CCTV1.cn@SD'
|
||||
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Notes
|
||||
|
|
21
.github/ISSUE_TEMPLATE/2_channels_edit.yml
vendored
21
.github/ISSUE_TEMPLATE/2_channels_edit.yml
vendored
|
@ -83,6 +83,27 @@ body:
|
|||
- 'FALSE'
|
||||
- 'TRUE'
|
||||
|
||||
- type: input
|
||||
id: launched
|
||||
attributes:
|
||||
label: Launched (optional)
|
||||
description: Launch date of the channel (`YYYY-MM-DD`)
|
||||
placeholder: '2016-07-28'
|
||||
|
||||
- type: input
|
||||
id: closed
|
||||
attributes:
|
||||
label: Closed (optional)
|
||||
description: Date on which the channel closed (`YYYY-MM-DD`)
|
||||
placeholder: '2020-05-31'
|
||||
|
||||
- type: input
|
||||
id: replaced_by
|
||||
attributes:
|
||||
label: Replaced By (optional)
|
||||
description: The ID of the channel that this channel was replaced by
|
||||
placeholder: 'CCTV1.cn'
|
||||
|
||||
- type: input
|
||||
id: website
|
||||
attributes:
|
||||
|
|
21
.github/ISSUE_TEMPLATE/4_feeds_add.yml
vendored
21
.github/ISSUE_TEMPLATE/4_feeds_add.yml
vendored
|
@ -86,27 +86,6 @@ body:
|
|||
validations:
|
||||
required: true
|
||||
|
||||
- type: input
|
||||
id: launched
|
||||
attributes:
|
||||
label: Launched (optional)
|
||||
description: Launch date of the feed (`YYYY-MM-DD`)
|
||||
placeholder: '2016-07-28'
|
||||
|
||||
- type: input
|
||||
id: closed
|
||||
attributes:
|
||||
label: Closed (optional)
|
||||
description: Date on which the feed closed (`YYYY-MM-DD`)
|
||||
placeholder: '2020-05-31'
|
||||
|
||||
- type: input
|
||||
id: replaced_by
|
||||
attributes:
|
||||
label: Replaced By (optional)
|
||||
description: "ID of the channel and feed this feed was replaced with. Possible values: `<channel_id>` or `<channel_id>@<feed_id>`"
|
||||
placeholder: 'CCTV1.cn@SD'
|
||||
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Notes
|
||||
|
|
21
.github/ISSUE_TEMPLATE/5_feeds_edit.yml
vendored
21
.github/ISSUE_TEMPLATE/5_feeds_edit.yml
vendored
|
@ -82,27 +82,6 @@ body:
|
|||
- '360p'
|
||||
- '240p'
|
||||
|
||||
- type: input
|
||||
id: launched
|
||||
attributes:
|
||||
label: Launched
|
||||
description: Launch date of the feed (`YYYY-MM-DD`)
|
||||
placeholder: '2016-07-28'
|
||||
|
||||
- type: input
|
||||
id: closed
|
||||
attributes:
|
||||
label: Closed
|
||||
description: Date on which the feed closed (`YYYY-MM-DD`)
|
||||
placeholder: '2020-05-31'
|
||||
|
||||
- type: input
|
||||
id: replaced_by
|
||||
attributes:
|
||||
label: Replaced By
|
||||
description: "ID of the channel and feed this feed was replaced with. Possible values: `<channel_id>` or `<channel_id>@<feed_id>`"
|
||||
placeholder: 'CCTV1.cn@SD'
|
||||
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Notes
|
||||
|
|
|
@ -35,7 +35,7 @@ To remove a channel fill out this [form](https://github.com/iptv-org/database/is
|
|||
|
||||
### How to mark a channel as closed?
|
||||
|
||||
To do this, you need to mark the main feed of the channel as closed. [How to mark a feed as closed?](#how-to-mark-a-feed-as-closed?)
|
||||
To do this, use this [form](https://github.com/iptv-org/database/issues/new?assignees=&labels=channels%3Aedit&projects=&template=2_channels_edit.yml&title=Edit%3A+). In it, in the "Closed" field you will need to specify at least the approximate date of closing. And there you can also specify the ID of the channel that replaced it, if necessary.
|
||||
|
||||
### How to add a new feed to the database?
|
||||
|
||||
|
@ -51,13 +51,7 @@ _Option 2:_ Edit the [data/feeds.csv](data/feeds.csv) file using a text editor a
|
|||
|
||||
### How to remove a feed from the database?
|
||||
|
||||
To remove a feed just fill out this [form](https://github.com/iptv-org/database/issues/new?assignees=&labels=feeds%3Aremove&projects=&template=6_feeds_remove.yml&title=Remove%3A+).
|
||||
|
||||
**NOTE:** Ceased broadcasting is no reason to remove a feed from the database. In this case you just need to mark the feed as closed.
|
||||
|
||||
### How to mark a feed as closed?
|
||||
|
||||
To do this, use this [form](https://github.com/iptv-org/database/issues/new?assignees=&labels=feeds%3Aedit&projects=&template=5_feeds_edit.yml&title=Edit%3A+). In it, in the "Closed" field you will need to specify at least the approximate date of broadcast termination. And there you can also specify the ID of the channel and feed that replaced it, if necessary.
|
||||
Just fill out this [form](https://github.com/iptv-org/database/issues/new?assignees=&labels=feeds%3Aremove&projects=&template=6_feeds_remove.yml&title=Remove%3A+).
|
||||
|
||||
## Data Scheme
|
||||
|
||||
|
@ -77,9 +71,9 @@ To do this, use this [form](https://github.com/iptv-org/database/issues/new?assi
|
|||
| languages | [DEPRECATED] List of languages in which the channel is broadcast separated by `;`. A list of all supported languages and their codes can be found in [data/languages.csv](data/languages.csv). | Required | `zho;eng` |
|
||||
| categories | List of categories to which this channel belongs separated by `;`. A list of all supported categories can be found in [data/categories.csv](data/categories.csv). | Optional | `animation;kids` |
|
||||
| is_nsfw | Indicates whether the channel broadcasts adult content (`TRUE` or `FALSE`). | Required | `FALSE` |
|
||||
| launched | [DEPRECATED] Launch date of the channel (`YYYY-MM-DD`). | Optional | `2016-07-28` |
|
||||
| closed | [DEPRECATED] Date on which the channel closed (`YYYY-MM-DD`). | Optional | `2020-05-31` |
|
||||
| replaced_by | [DEPRECATED] The ID of the channel that this channel was replaced by. | Optional | `CCTV1.cn` |
|
||||
| launched | Launch date of the channel (`YYYY-MM-DD`). | Optional | `2016-07-28` |
|
||||
| closed | Date on which the channel closed (`YYYY-MM-DD`). | Optional | `2020-05-31` |
|
||||
| replaced_by | The ID of the channel that this channel was replaced by. | Optional | `CCTV1.cn` |
|
||||
| website | Official website URL. | Optional | `http://www.ahtv.cn/` |
|
||||
| logo | Logo URL. Only URL with [HTTPS](https://ru.wikipedia.org/wiki/HTTPS) protocol are allowed. Supported image types: `PNG`, `JPEG`. Max size: 512x512 pixels. The link should not be [geo-blocked](https://en.wikipedia.org/wiki/Geo-blocking). May contain any characters except `,` and `"`. | Required | `https://example.com/logo.png` |
|
||||
|
||||
|
@ -95,9 +89,6 @@ To do this, use this [form](https://github.com/iptv-org/database/issues/new?assi
|
|||
| timezones | List of timezones in which the feed is broadcast separated by `;`. A list of all supported timezones and their codes can be found in [data/timezones.csv](data/timezones.csv). | Required | `America/Los_Angeles` |
|
||||
| languages | List of languages in which the feed is broadcast separated by `;`. A list of all supported languages and their codes can be found in [data/languages.csv](data/languages.csv). | Required | `eng;spa` |
|
||||
| video_format | Video format of the feed. | Required | `1080i` |
|
||||
| launched | Launch date of the feed (`YYYY-MM-DD`). | Optional | `2016-07-28` |
|
||||
| closed | Date on which the feed ceased broadcasting (`YYYY-MM-DD`). | Optional | `2020-05-31` |
|
||||
| replaced_by | ID of the channel and feed this feed was replaced with. Possible values: `<channel_id>` or `<channel_id>@<feed_id>`. | Optional | `HBO.us@East` |
|
||||
|
||||
### categories
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load diff
3948
data/channels.csv
3948
data/channels.csv
File diff suppressed because it is too large
Load diff
39549
data/feeds.csv
39549
data/feeds.csv
File diff suppressed because it is too large
Load diff
|
@ -116,10 +116,7 @@ async function editFeeds() {
|
|||
broadcast_area: data.getArray('broadcast_area'),
|
||||
timezones: data.getArray('timezones'),
|
||||
languages: data.getArray('languages'),
|
||||
video_format: data.getString('video_format'),
|
||||
launched: data.getString('launched'),
|
||||
closed: data.getString('closed'),
|
||||
replaced_by: data.getString('replaced_by')
|
||||
video_format: data.getString('video_format')
|
||||
})
|
||||
|
||||
found.merge(updated)
|
||||
|
@ -169,10 +166,7 @@ async function addFeeds() {
|
|||
broadcast_area: data.getArray('broadcast_area'),
|
||||
timezones: data.getArray('timezones'),
|
||||
languages: data.getArray('languages'),
|
||||
video_format: data.getString('video_format'),
|
||||
launched: data.getString('launched'),
|
||||
closed: data.getString('closed'),
|
||||
replaced_by: data.getString('replaced_by')
|
||||
video_format: data.getString('video_format')
|
||||
})
|
||||
)
|
||||
|
||||
|
@ -381,12 +375,6 @@ function onFeedIdChange(channelId: string, feedId: string, newFeedId: string) {
|
|||
channel.replaced_by = `${channelId}@${newFeedId}`
|
||||
}
|
||||
})
|
||||
|
||||
feeds.forEach((feed: Feed) => {
|
||||
if (feed.replaced_by && feed.replaced_by === `${channelId}@${feedId}`) {
|
||||
feed.replaced_by = `${channelId}@${newFeedId}`
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
function onFeedNewMain(channelId: string, feedId: string) {
|
||||
|
@ -403,12 +391,6 @@ function onFeedRemoval(channelId: string, feedId: string) {
|
|||
channel.replaced_by = ''
|
||||
}
|
||||
})
|
||||
|
||||
feeds.forEach((feed: Feed) => {
|
||||
if (feed.replaced_by && feed.replaced_by === `${channelId}@${feedId}`) {
|
||||
feed.replaced_by = ''
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
function onChannelIdChange(channelId: string, newChannelId: string) {
|
||||
|
@ -422,10 +404,6 @@ function onChannelIdChange(channelId: string, newChannelId: string) {
|
|||
if (feed.channel === channelId) {
|
||||
feed.channel = newChannelId
|
||||
}
|
||||
|
||||
if (feed.replaced_by && feed.replaced_by.includes(channelId)) {
|
||||
feed.replaced_by = feed.replaced_by.replace(channelId, newChannelId)
|
||||
}
|
||||
})
|
||||
|
||||
blocklist.forEach((blocked: Blocked) => {
|
||||
|
@ -443,9 +421,4 @@ function onChannelRemoval(channelId: string) {
|
|||
})
|
||||
|
||||
feeds.remove((feed: Feed) => feed.channel === channelId)
|
||||
feeds.forEach((feed: Feed) => {
|
||||
if (feed.replaced_by && feed.replaced_by.includes(channelId)) {
|
||||
feed.replaced_by = ''
|
||||
}
|
||||
})
|
||||
}
|
||||
|
|
|
@ -41,25 +41,39 @@ async function main() {
|
|||
const data = await parser.parse(csv)
|
||||
const filename = file.name()
|
||||
|
||||
let grouped
|
||||
switch (filename) {
|
||||
case 'feeds':
|
||||
grouped = data.keyBy(item => item.channel + item.id)
|
||||
buffer.set(
|
||||
'feeds',
|
||||
data.keyBy(item => item.channel + item.id)
|
||||
)
|
||||
buffer.set(
|
||||
'feedsByChannel',
|
||||
data.filter(item => item.is_main).keyBy(item => item.channel)
|
||||
)
|
||||
break
|
||||
case 'blocklist':
|
||||
grouped = data.keyBy(item => item.channel + item.ref)
|
||||
buffer.set(
|
||||
'blocklist',
|
||||
data.keyBy(item => item.channel + item.ref)
|
||||
)
|
||||
break
|
||||
case 'categories':
|
||||
case 'channels':
|
||||
case 'timezones':
|
||||
grouped = data.keyBy(item => item.id)
|
||||
buffer.set(
|
||||
filename,
|
||||
data.keyBy(item => item.id)
|
||||
)
|
||||
break
|
||||
default:
|
||||
grouped = data.keyBy(item => item.code)
|
||||
buffer.set(
|
||||
filename,
|
||||
data.keyBy(item => item.code)
|
||||
)
|
||||
break
|
||||
}
|
||||
|
||||
buffer.set(filename, grouped)
|
||||
files.set(filename, data)
|
||||
}
|
||||
|
||||
|
@ -78,6 +92,7 @@ async function main() {
|
|||
fileErrors = fileErrors.concat(findDuplicatesBy(rowsCopy, ['id']))
|
||||
for (const [i, row] of rowsCopy.entries()) {
|
||||
fileErrors = fileErrors.concat(validateChannelId(row, i))
|
||||
fileErrors = fileErrors.concat(validateMainFeed(row, i))
|
||||
fileErrors = fileErrors.concat(validateChannelBroadcastArea(row, i))
|
||||
fileErrors = fileErrors.concat(validateReplacedBy(row, i))
|
||||
fileErrors = fileErrors.concat(
|
||||
|
@ -96,11 +111,10 @@ async function main() {
|
|||
break
|
||||
case 'feeds':
|
||||
fileErrors = fileErrors.concat(findDuplicatesBy(rowsCopy, ['channel', 'id']))
|
||||
fileErrors = fileErrors.concat(validateMainFeeds(rowsCopy))
|
||||
fileErrors = fileErrors.concat(findDuplicateMainFeeds(rowsCopy))
|
||||
for (const [i, row] of rowsCopy.entries()) {
|
||||
fileErrors = fileErrors.concat(validateChannel(row.channel, i))
|
||||
fileErrors = fileErrors.concat(validateTimezones(row, i))
|
||||
fileErrors = fileErrors.concat(validateReplacedBy(row, i))
|
||||
}
|
||||
break
|
||||
case 'blocklist':
|
||||
|
@ -232,6 +246,20 @@ function validateChannel(channelId: string, i: number) {
|
|||
return errors
|
||||
}
|
||||
|
||||
function validateMainFeed(row: { [key: string]: string }, i: number) {
|
||||
const errors = new Collection()
|
||||
const feedsByChannel = buffer.get('feedsByChannel')
|
||||
|
||||
if (feedsByChannel.missing(row.id)) {
|
||||
errors.push({
|
||||
line: i + 2,
|
||||
message: `"${row.id}" channel does not have a main feed`
|
||||
})
|
||||
}
|
||||
|
||||
return errors
|
||||
}
|
||||
|
||||
function findDuplicatesBy(rows: { [key: string]: string }[], keys: string[]) {
|
||||
const errors = new Collection()
|
||||
const buffer = new Dictionary()
|
||||
|
@ -252,7 +280,7 @@ function findDuplicatesBy(rows: { [key: string]: string }[], keys: string[]) {
|
|||
return errors
|
||||
}
|
||||
|
||||
function validateMainFeeds(rows: { [key: string]: string }[]) {
|
||||
function findDuplicateMainFeeds(rows: { [key: string]: string }[]) {
|
||||
const errors = new Collection()
|
||||
const buffer = new Dictionary()
|
||||
|
||||
|
|
|
@ -7,9 +7,6 @@ type FeedProps = {
|
|||
timezones?: string[]
|
||||
languages?: string[]
|
||||
video_format?: string
|
||||
launched?: string
|
||||
closed?: string
|
||||
replaced_by?: string
|
||||
}
|
||||
|
||||
export class Feed {
|
||||
|
@ -21,9 +18,6 @@ export class Feed {
|
|||
timezones: string[]
|
||||
languages: string[]
|
||||
video_format?: string
|
||||
launched?: string
|
||||
closed?: string
|
||||
replaced_by?: string
|
||||
|
||||
constructor({
|
||||
channel,
|
||||
|
@ -33,10 +27,7 @@ export class Feed {
|
|||
broadcast_area,
|
||||
timezones,
|
||||
languages,
|
||||
video_format,
|
||||
launched,
|
||||
closed,
|
||||
replaced_by
|
||||
video_format
|
||||
}: FeedProps) {
|
||||
this.channel = channel
|
||||
this.id = id
|
||||
|
@ -46,9 +37,6 @@ export class Feed {
|
|||
this.timezones = timezones || []
|
||||
this.languages = languages || []
|
||||
this.video_format = video_format
|
||||
this.launched = launched
|
||||
this.closed = closed
|
||||
this.replaced_by = replaced_by
|
||||
}
|
||||
|
||||
data() {
|
||||
|
|
|
@ -32,10 +32,5 @@ export default {
|
|||
),
|
||||
video_format: Joi.string()
|
||||
.regex(/^\d+(i|p)$/)
|
||||
.allow(null),
|
||||
launched: Joi.date().format('YYYY-MM-DD').raw().allow(null),
|
||||
closed: Joi.date().format('YYYY-MM-DD').raw().allow(null).greater(Joi.ref('launched')),
|
||||
replaced_by: Joi.string()
|
||||
.regex(/^[A-Za-z0-9]+\.[a-z]{2}($|@[A-Za-z0-9]+$)/)
|
||||
.allow(null)
|
||||
}
|
||||
|
|
|
@ -1 +1 @@
|
|||
[{"channel":"002RadioTV.do","id":"SD","name":"SD","is_main":true,"broadcast_area":["c/DO"],"timezones":["America/Santo_Domingo"],"languages":["spa"],"video_format":"480i","launched":null,"closed":null,"replaced_by":null},{"channel":"M5.hu","id":"SD","name":"SD","is_main":false,"broadcast_area":["c/DO"],"timezones":["America/Santo_Domingo"],"languages":["spa"],"video_format":"480i","launched":null,"closed":"2021-01-01","replaced_by":"002RadioTV.do@SD"}]
|
||||
[{"channel":"002RadioTV.do","id":"SD","name":"SD","is_main":true,"broadcast_area":["c/DO"],"timezones":["America/Santo_Domingo"],"languages":["spa"],"video_format":"480i"},{"channel":"M5.hu","id":"SD","name":"SD","is_main":false,"broadcast_area":["c/DO"],"timezones":["America/Santo_Domingo"],"languages":["spa"],"video_format":"480i"}]
|
|
@ -1,8 +1,8 @@
|
|||
id,name,alt_names,network,owners,country,subdivision,city,broadcast_area,languages,categories,is_nsfw,launched,closed,replaced_by,website,logo
|
||||
0TV.dk,0-TV,,,,DK,,København,c/DK,dan,general,FALSE,,,,https://0-tv.dk/,https://i.imgur.com/aR5q6mA.png
|
||||
1000xHoraTV.uy,1000xHora TV,,,,UY,,Montevideo,c/UY,spa,auto,FALSE,,,M5.hu@HD,https://www.1000xhoratv.com/,https://i.imgur.com/wP3bbYr.png
|
||||
1000xHoraTV.uy,1000xHora TV,,,,UY,,Montevideo,c/UY,spa,auto,FALSE,2020-01-01,2021-01-01,M5.hu@HD,https://www.1000xhoratv.com/,https://i.imgur.com/wP3bbYr.png
|
||||
beINMoviesTurk.tr,beIN Movies Turk,beIN Movies Türk,BBC,Gazprom Media,TR,US-CA,London,c/TR,tur,movies,FALSE,1979-05-16,1980-05-16,M5.hu,http://www.digiturk.com.tr/,https://i.imgur.com/nw8Sa2z.png
|
||||
M5.hu,M5,,,Duna Médiaszolgáltató Nonprofit Zrt.,HU,,,c/HU,hun,,TRUE,,,beINMoviesTurk.tr,https://www.mediaklikk.hu/m5/,https://i.imgur.com/y21wFd0.png
|
||||
M5.hu,M5,,,Duna Médiaszolgáltató Nonprofit Zrt.,HU,,,c/HU,hun,,TRUE,2020-01-01,,0TV.dk@SD,https://www.mediaklikk.hu/m5/,https://i.imgur.com/y21wFd0.png
|
||||
WenzhouEconomicandEducation.cn,Wenzhou Economic and Education,,,,CN,,Wenzhou,c/CN,zho,science,FALSE,,,,,https://www.tvchinese.net/uploads/tv/wzjjkj.jpg
|
||||
YiwuBusinessChannel.cn,Yiwu Business Channel,,,,CN,,,c/CN,zho,business,FALSE,,,,,https://www.tvchinese.net/uploads/tv/yiwutv.jpg
|
||||
YiwuNewsIntegratedChannel.cn,Yiwu News Integrated Channel,,,,CN,,,c/CN,zho,news,FALSE,,,,,https://www.tvchinese.net/uploads/tv/yiwutv.jpg
|
|
|
@ -1,10 +1,10 @@
|
|||
channel,id,name,is_main,broadcast_area,timezones,languages,video_format,launched,closed,replaced_by
|
||||
0TV.dk,SD,SD,TRUE,c/DK,Europe/Copenhagen,dan,576i,,,
|
||||
1000xHoraTV.uy,HD,HD,TRUE,c/CN,Africa/Johannesburg;Africa/Kigali,zho,576i,2020-01-01,2021-01-01,M5.hu@HD
|
||||
1000xHoraTV.uy,SD,SD,FALSE,c/UY,America/Montevideo,spa,576i,,,M5.hu@HD
|
||||
beINMoviesTurk.tr,SD,SD,TRUE,c/DO,America/Santo_Domingo,spa,480i,,,
|
||||
M5.hu,HD,HD,TRUE,c/BR,Africa/Dakar;Africa/El_Aaiun,por;spa,1080i,2020-01-01,,0TV.dk@SD
|
||||
M5.hu,West,West,FALSE,c/DO,America/Santo_Domingo,spa,480i,,2021-01-01,
|
||||
WenzhouEconomicandEducation.cn,SD,SD,TRUE,c/CN,Africa/Johannesburg;Africa/Kigali,zho,576i,,,
|
||||
YiwuBusinessChannel.cn,SD,SD,TRUE,c/CN,Africa/Johannesburg;Africa/Kigali,zho,576i,,,
|
||||
YiwuNewsIntegratedChannel.cn,SD,SD,TRUE,c/CN,Africa/Johannesburg;Africa/Kigali,zho,576i,,,
|
||||
channel,id,name,is_main,broadcast_area,timezones,languages,video_format
|
||||
0TV.dk,SD,SD,TRUE,c/DK,Europe/Copenhagen,dan,576i
|
||||
1000xHoraTV.uy,HD,HD,TRUE,c/CN,Africa/Johannesburg;Africa/Kigali,zho,576i
|
||||
1000xHoraTV.uy,SD,SD,FALSE,c/UY,America/Montevideo,spa,576i
|
||||
beINMoviesTurk.tr,SD,SD,TRUE,c/DO,America/Santo_Domingo,spa,480i
|
||||
M5.hu,HD,HD,TRUE,c/BR,Africa/Dakar;Africa/El_Aaiun,por;spa,1080i
|
||||
M5.hu,West,West,FALSE,c/DO,America/Santo_Domingo,spa,480i
|
||||
WenzhouEconomicandEducation.cn,SD,SD,TRUE,c/CN,Africa/Johannesburg;Africa/Kigali,zho,576i
|
||||
YiwuBusinessChannel.cn,SD,SD,TRUE,c/CN,Africa/Johannesburg;Africa/Kigali,zho,576i
|
||||
YiwuNewsIntegratedChannel.cn,SD,SD,TRUE,c/CN,Africa/Johannesburg;Africa/Kigali,zho,576i
|
|
|
@ -1,3 +1,3 @@
|
|||
channel,id,name,is_main,broadcast_area,timezones,languages,video_format,launched,closed,replaced_by
|
||||
002RadioTV.do,SD,SD,TRUE,c/DO,America/Santo_Domingo,spa,480i,,,
|
||||
M5.hu,SD,SD,FALSE,c/DO,America/Santo_Domingo,spa,480i,,2021-01-01,002RadioTV.do@SD
|
||||
channel,id,name,is_main,broadcast_area,timezones,languages,video_format
|
||||
002RadioTV.do,SD,SD,TRUE,c/DO,America/Santo_Domingo,spa,480i
|
||||
M5.hu,SD,SD,FALSE,c/DO,America/Santo_Domingo,spa,480i
|
|
|
@ -2,5 +2,5 @@ id,name,alt_names,network,owners,country,subdivision,city,broadcast_area,languag
|
|||
002RadioTV.do,002 Radio TV,,,,DO,,,c/DO,spa,general,FALSE,,,,https://www.002radio.com/,https://i.imgur.com/7oNe8xj.png
|
||||
0TV.dk,0-TV,,,,DK,,København,c/DK,dan,general,FALSE,,,01TV.fr@SD,https://0-tv.dk/,https://i.imgur.com/aR5q6mA.png
|
||||
1000xHoraTV.uy,1000xHora TV,,,,UY,,Montevideo,c/UY,spa,auto,FALSE,,,M5.hu@SD,https://www.1000xhoratv.com/,https://i.imgur.com/wP3bbYr.png
|
||||
BeijingSatelliteTV.cn,Beijing Satellite TV,北京卫视,,,CN,,Beijing,c/CN,zho,general,FALSE,1979-05-16,,002RadioTV.do@SD,https://www.brtn.cn/btv/,https://i.imgur.com/vsktAez.png
|
||||
M5.hu,M5,,,,HU,,,c/HU,hun,auto,TRUE,,2001-01-01,BeijingSatelliteTV.cn,https://www.mediaklikk.hu/m5/,https://i.imgur.com/y21wFd0.png
|
||||
BeijingSatelliteTV.cn,Beijing Satellite TV,北京卫视,,,CN,,Beijing,c/CN,zho,general,FALSE,,,002RadioTV.do@SD,https://www.brtn.cn/btv/,https://i.imgur.com/vsktAez.png
|
||||
M5.hu,M5,,,,HU,,,c/HU,hun,auto,TRUE,,2021-01-01,002RadioTV.do@SD,https://www.mediaklikk.hu/m5/,https://i.imgur.com/y21wFd0.png
|
|
|
@ -1,8 +1,8 @@
|
|||
channel,id,name,is_main,broadcast_area,timezones,languages,video_format,launched,closed,replaced_by
|
||||
002RadioTV.do,SD,SD,TRUE,c/DO,America/Santo_Domingo,spa,480i,,,
|
||||
01TV.fr,SD,SD,TRUE,c/FR,Europe/Paris,fra,576i,,,
|
||||
0TV.dk,SD,SD,TRUE,c/DK,Europe/Copenhagen,dan,576i,,,01TV.fr@SD
|
||||
1000xHoraTV.uy,SD,SD,TRUE,c/UY,America/Montevideo,spa,576i,,,M5.hu@SD
|
||||
BeijingSatelliteTV.cn,SD,SD,TRUE,c/DO,America/Santo_Domingo,spa,480i,,,002RadioTV.do@SD
|
||||
M5.hu,SD,SD,FALSE,c/DO,America/Santo_Domingo,spa,480i,,2021-01-01,002RadioTV.do@SD
|
||||
M5.hu,West,West,TRUE,c/DO,America/Santo_Domingo,spa,480i,,2021-01-01,
|
||||
channel,id,name,is_main,broadcast_area,timezones,languages,video_format
|
||||
002RadioTV.do,SD,SD,TRUE,c/DO,America/Santo_Domingo,spa,480i
|
||||
01TV.fr,SD,SD,TRUE,c/FR,Europe/Paris,fra,576i
|
||||
0TV.dk,SD,SD,TRUE,c/DK,Europe/Copenhagen,dan,576i
|
||||
1000xHoraTV.uy,SD,SD,TRUE,c/UY,America/Montevideo,spa,576i
|
||||
BeijingSatelliteTV.cn,SD,SD,TRUE,c/DO,America/Santo_Domingo,spa,480i
|
||||
M5.hu,SD,SD,FALSE,c/DO,America/Santo_Domingo,spa,480i
|
||||
M5.hu,West,West,TRUE,c/DO,America/Santo_Domingo,spa,480i
|
|
|
@ -219,7 +219,7 @@ module.exports = [
|
|||
closed_at: null,
|
||||
author_association: 'CONTRIBUTOR',
|
||||
active_lock_reason: null,
|
||||
body: '### Channel Name\n\nYiwu News Integrated Channel\n\n### Alternative Names (optional)\n\n_No response_\n\n### Network (optional)\n\n_No response_\n\n### Owners (optional)\n\n_No response_\n\n### Country\n\nCN\n\n### Subdivision (optional)\n\n_No response_\n\n### City (optional)\n\n_No response_\n\n### Categories (optional)\n\nnews\n\n### NSFW\n\nFALSE\n\n### Website (optional)\n\n_No response_\n\n### Logo\n\nhttps://www.tvchinese.net/uploads/tv/yiwutv.jpg\n\n### Feed Name\n\nSD\n\n### Broadcast Area\n\nc/CN\n\n### Languages\n\nzho\n\n### Timezones\n\nAfrica/Johannesburg;Africa/Kigali\n\n### Format\n\n576i\n\n### Launched (optional)\n\n_No response_\n\n### Closed (optional)\n\n_No response_\n\n### Replaced By (optional)\n\n_No response_\n\n### Notes\n\n_No response_',
|
||||
body: '### Channel Name\n\nYiwu News Integrated Channel\n\n### Alternative Names (optional)\n\n_No response_\n\n### Network (optional)\n\n_No response_\n\n### Owners (optional)\n\n_No response_\n\n### Country\n\nCN\n\n### Subdivision (optional)\n\n_No response_\n\n### City (optional)\n\n_No response_\n\n### Categories (optional)\n\nnews\n\n### NSFW\n\nFALSE\n\n### Launched (optional)\n\n_No response_\n\n### Closed (optional)\n\n_No response_\n\n### Replaced By (optional)\n\n_No response_\n\n### Website (optional)\n\n_No response_\n\n### Logo\n\nhttps://www.tvchinese.net/uploads/tv/yiwutv.jpg\n\n### Feed Name\n\nSD\n\n### Broadcast Area\n\nc/CN\n\n### Languages\n\nzho\n\n### Timezones\n\nAfrica/Johannesburg;Africa/Kigali\n\n### Format\n\n576i\n\n### Notes\n\n_No response_',
|
||||
reactions: {
|
||||
url: 'https://api.github.com/repos/iptv-org/database/issues/5900/reactions',
|
||||
total_count: 0,
|
||||
|
@ -243,7 +243,7 @@ module.exports = [
|
|||
comments_url: 'https://api.github.com/repos/iptv-org/database/issues/5899/comments',
|
||||
events_url: 'https://api.github.com/repos/iptv-org/database/issues/5899/events',
|
||||
html_url: 'https://github.com/iptv-org/database/issues/5899',
|
||||
id: 1929318573,
|
||||
id: 1929318575,
|
||||
node_id: 'I_kwDOG1Kwp85y_xCt',
|
||||
number: 5899,
|
||||
title: 'Add: Yiwu Business Channel',
|
||||
|
@ -298,7 +298,7 @@ module.exports = [
|
|||
closed_at: null,
|
||||
author_association: 'CONTRIBUTOR',
|
||||
active_lock_reason: null,
|
||||
body: '### Channel Name\n\nYiwu Business Channel\n\n### Alternative Names (optional)\n\n_No response_\n\n### Network (optional)\n\n_No response_\n\n### Owners (optional)\n\n_No response_\n\n### Country\n\nCN\n\n### Subdivision (optional)\n\n_No response_\n\n### City (optional)\n\n_No response_\n\n### Categories (optional)\n\nbusiness\n\n### NSFW\n\nFALSE\n\n### Website (optional)\n\n_No response_\n\n### Logo\n\nhttps://www.tvchinese.net/uploads/tv/yiwutv.jpg\n\n### Feed Name\n\nSD\n\n### Broadcast Area\n\nc/CN\n\n### Languages\n\nzho\n\n### Timezones\n\nAfrica/Johannesburg;Africa/Kigali\n\n### Format\n\n576i\n\n### Launched (optional)\n\n_No response_\n\n### Closed (optional)\n\n_No response_\n\n### Replaced By (optional)\n\n_No response_\n\n### Notes\n\n_No response_',
|
||||
body: '### Channel Name\n\nYiwu Business Channel\n\n### Alternative Names (optional)\n\n_No response_\n\n### Network (optional)\n\n_No response_\n\n### Owners (optional)\n\n_No response_\n\n### Country\n\nCN\n\n### Subdivision (optional)\n\n_No response_\n\n### City (optional)\n\n_No response_\n\n### Categories (optional)\n\nbusiness\n\n### NSFW\n\nFALSE\n\n### Launched (optional)\n\n_No response_\n\n### Closed (optional)\n\n_No response_\n\n### Replaced By (optional)\n\n_No response_\n\n### Website (optional)\n\n_No response_\n\n### Logo\n\nhttps://www.tvchinese.net/uploads/tv/yiwutv.jpg\n\n### Feed Name\n\nSD\n\n### Broadcast Area\n\nc/CN\n\n### Languages\n\nzho\n\n### Timezones\n\nAfrica/Johannesburg;Africa/Kigali\n\n### Format\n\n576i\n\n### Notes\n\n_No response_',
|
||||
reactions: {
|
||||
url: 'https://api.github.com/repos/iptv-org/database/issues/5899/reactions',
|
||||
total_count: 0,
|
||||
|
@ -377,7 +377,7 @@ module.exports = [
|
|||
closed_at: null,
|
||||
author_association: 'CONTRIBUTOR',
|
||||
active_lock_reason: null,
|
||||
body: '### Channel Name\n\nWenzhou Economic and Education\n\n### Alternative Names (optional)\n\n_No response_\n\n### Network (optional)\n\n_No response_\n\n### Owners (optional)\n\n_No response_\n\n### Country\n\nCN\n\n### Subdivision (optional)\n\n_No response_\n\n### City (optional)\n\nWenzhou\n\n### Categories (optional)\n\nscience\n\n### NSFW\n\nFALSE\n\n### Website (optional)\n\n_No response_\n\n### Logo\n\nhttps://www.tvchinese.net/uploads/tv/wzjjkj.jpg\n\n### Feed Name\n\nSD\n\n### Broadcast Area\n\nc/CN\n\n### Languages\n\nzho\n\n### Timezones\n\nAfrica/Johannesburg;Africa/Kigali\n\n### Format\n\n576i\n\n### Launched (optional)\n\n_No response_\n\n### Closed (optional)\n\n_No response_\n\n### Replaced By (optional)\n\n_No response_\n\n### Notes\n\n_No response_',
|
||||
body: '### Channel Name\n\nWenzhou Economic and Education\n\n### Alternative Names (optional)\n\n_No response_\n\n### Network (optional)\n\n_No response_\n\n### Owners (optional)\n\n_No response_\n\n### Country\n\nCN\n\n### Subdivision (optional)\n\n_No response_\n\n### City (optional)\n\nWenzhou\n\n### Categories (optional)\n\nscience\n\n### NSFW\n\nFALSE\n\n### Launched (optional)\n\n_No response_\n\n### Closed (optional)\n\n_No response_\n\n### Replaced By (optional)\n\n_No response_\n\n### Website (optional)\n\n_No response_\n\n### Logo\n\nhttps://www.tvchinese.net/uploads/tv/wzjjkj.jpg\n\n### Feed Name\n\nSD\n\n### Broadcast Area\n\nc/CN\n\n### Languages\n\nzho\n\n### Timezones\n\nAfrica/Johannesburg;Africa/Kigali\n\n### Format\n\n576i\n\n### Notes\n\n_No response_',
|
||||
reactions: {
|
||||
url: 'https://api.github.com/repos/iptv-org/database/issues/5898/reactions',
|
||||
total_count: 0,
|
||||
|
@ -473,6 +473,164 @@ module.exports = [
|
|||
performed_via_github_app: null,
|
||||
state_reason: null
|
||||
},
|
||||
{
|
||||
url: 'https://api.github.com/repos/iptv-org/database/issues/5902',
|
||||
repository_url: 'https://api.github.com/repos/iptv-org/database',
|
||||
labels_url: 'https://api.github.com/repos/iptv-org/database/issues/5902/labels{/name}',
|
||||
comments_url: 'https://api.github.com/repos/iptv-org/database/issues/5902/comments',
|
||||
events_url: 'https://api.github.com/repos/iptv-org/database/issues/5902/events',
|
||||
html_url: 'https://github.com/iptv-org/database/issues/5902',
|
||||
id: 1929459172,
|
||||
node_id: 'I_kwDOG1Kwp85zATXj',
|
||||
number: 5902,
|
||||
title: 'Edit: 1000xHoraTV.uy',
|
||||
user: {
|
||||
login: 'freearhey',
|
||||
id: 7253922,
|
||||
node_id: 'MDQ6VXNlcjcyNTM5MjI=',
|
||||
avatar_url: 'https://avatars.githubusercontent.com/u/7253922?v=4',
|
||||
gravatar_id: '',
|
||||
url: 'https://api.github.com/users/freearhey',
|
||||
html_url: 'https://github.com/freearhey',
|
||||
followers_url: 'https://api.github.com/users/freearhey/followers',
|
||||
following_url: 'https://api.github.com/users/freearhey/following{/other_user}',
|
||||
gists_url: 'https://api.github.com/users/freearhey/gists{/gist_id}',
|
||||
starred_url: 'https://api.github.com/users/freearhey/starred{/owner}{/repo}',
|
||||
subscriptions_url: 'https://api.github.com/users/freearhey/subscriptions',
|
||||
organizations_url: 'https://api.github.com/users/freearhey/orgs',
|
||||
repos_url: 'https://api.github.com/users/freearhey/repos',
|
||||
events_url: 'https://api.github.com/users/freearhey/events{/privacy}',
|
||||
received_events_url: 'https://api.github.com/users/freearhey/received_events',
|
||||
type: 'User',
|
||||
site_admin: false
|
||||
},
|
||||
labels: [
|
||||
{
|
||||
id: 5303574335,
|
||||
node_id: 'LA_kwDOG1Kwp88AAAABPB4fPw',
|
||||
url: 'https://api.github.com/repos/iptv-org/database/labels/channels:edit',
|
||||
name: 'channels:edit',
|
||||
color: 'E12977',
|
||||
default: false,
|
||||
description: 'Request to edit channel description'
|
||||
},
|
||||
{
|
||||
id: 5366738347,
|
||||
node_id: 'LA_kwDOG1Kwp88AAAABP-Htqw',
|
||||
url: 'https://api.github.com/repos/iptv-org/database/labels/approved',
|
||||
name: 'approved',
|
||||
color: '85DDDE',
|
||||
default: false,
|
||||
description: ''
|
||||
}
|
||||
],
|
||||
state: 'open',
|
||||
locked: false,
|
||||
assignee: null,
|
||||
assignees: [],
|
||||
milestone: null,
|
||||
comments: 0,
|
||||
created_at: '2023-10-06T05:25:44Z',
|
||||
updated_at: '2023-10-06T05:25:44Z',
|
||||
closed_at: null,
|
||||
author_association: 'CONTRIBUTOR',
|
||||
active_lock_reason: null,
|
||||
body: '### Channel ID (required)\n\n1000xHoraTV.uy\n\n### Channel Name\n\n_No response_\n\n### Alternative Names\n\n_No response_\n\n### Network\n\n_No response_\n\n### Owners\n\n_No response_\n\n### Country\n\n_No response_\n\n### Subdivision\n\n_No response_\n\n### City\n\n_No response_\n\n### Broadcast Area\n\n_No response_\n\n### Languages\n\n_No response_\n\n### Categories\n\n_No response_\n\n### NSFW\n\nNone\n\n### Launched\n\n2020-01-01\n\n### Closed\n\n2021-01-01\n\n### Replaced By\n\n_No response_\n\n### Website\n\n_No response_\n\n### Logo\n\n_No response_\n\n### Notes\n\n_No response_',
|
||||
reactions: {
|
||||
url: 'https://api.github.com/repos/iptv-org/database/issues/5902/reactions',
|
||||
total_count: 0,
|
||||
'+1': 0,
|
||||
'-1': 0,
|
||||
laugh: 0,
|
||||
hooray: 0,
|
||||
confused: 0,
|
||||
heart: 0,
|
||||
rocket: 0,
|
||||
eyes: 0
|
||||
},
|
||||
timeline_url: 'https://api.github.com/repos/iptv-org/database/issues/5902/timeline',
|
||||
performed_via_github_app: null,
|
||||
state_reason: null
|
||||
},
|
||||
{
|
||||
url: 'https://api.github.com/repos/iptv-org/database/issues/5903',
|
||||
repository_url: 'https://api.github.com/repos/iptv-org/database',
|
||||
labels_url: 'https://api.github.com/repos/iptv-org/database/issues/5903/labels{/name}',
|
||||
comments_url: 'https://api.github.com/repos/iptv-org/database/issues/5903/comments',
|
||||
events_url: 'https://api.github.com/repos/iptv-org/database/issues/5903/events',
|
||||
html_url: 'https://github.com/iptv-org/database/issues/5903',
|
||||
id: 1929459173,
|
||||
node_id: 'I_kwDOG1Kwp85zATXj',
|
||||
number: 5903,
|
||||
title: 'Edit: M5',
|
||||
user: {
|
||||
login: 'freearhey',
|
||||
id: 7253922,
|
||||
node_id: 'MDQ6VXNlcjcyNTM5MjI=',
|
||||
avatar_url: 'https://avatars.githubusercontent.com/u/7253922?v=4',
|
||||
gravatar_id: '',
|
||||
url: 'https://api.github.com/users/freearhey',
|
||||
html_url: 'https://github.com/freearhey',
|
||||
followers_url: 'https://api.github.com/users/freearhey/followers',
|
||||
following_url: 'https://api.github.com/users/freearhey/following{/other_user}',
|
||||
gists_url: 'https://api.github.com/users/freearhey/gists{/gist_id}',
|
||||
starred_url: 'https://api.github.com/users/freearhey/starred{/owner}{/repo}',
|
||||
subscriptions_url: 'https://api.github.com/users/freearhey/subscriptions',
|
||||
organizations_url: 'https://api.github.com/users/freearhey/orgs',
|
||||
repos_url: 'https://api.github.com/users/freearhey/repos',
|
||||
events_url: 'https://api.github.com/users/freearhey/events{/privacy}',
|
||||
received_events_url: 'https://api.github.com/users/freearhey/received_events',
|
||||
type: 'User',
|
||||
site_admin: false
|
||||
},
|
||||
labels: [
|
||||
{
|
||||
id: 5303574335,
|
||||
node_id: 'LA_kwDOG1Kwp88AAAABPB4fPw',
|
||||
url: 'https://api.github.com/repos/iptv-org/database/labels/channels:edit',
|
||||
name: 'channels:edit',
|
||||
color: 'E12977',
|
||||
default: false,
|
||||
description: 'Request to edit channel description'
|
||||
},
|
||||
{
|
||||
id: 5366738347,
|
||||
node_id: 'LA_kwDOG1Kwp88AAAABP-Htqw',
|
||||
url: 'https://api.github.com/repos/iptv-org/database/labels/approved',
|
||||
name: 'approved',
|
||||
color: '85DDDE',
|
||||
default: false,
|
||||
description: ''
|
||||
}
|
||||
],
|
||||
state: 'open',
|
||||
locked: false,
|
||||
assignee: null,
|
||||
assignees: [],
|
||||
milestone: null,
|
||||
comments: 0,
|
||||
created_at: '2023-10-06T05:25:44Z',
|
||||
updated_at: '2023-10-06T05:25:44Z',
|
||||
closed_at: null,
|
||||
author_association: 'CONTRIBUTOR',
|
||||
active_lock_reason: null,
|
||||
body: '### Channel ID (required)\n\nM5.hu\n\n### Channel Name\n\n_No response_\n\n### Alternative Names\n\n_No response_\n\n### Network\n\n_No response_\n\n### Owners\n\n_No response_\n\n### Country\n\n_No response_\n\n### Subdivision\n\n_No response_\n\n### City\n\n_No response_\n\n### Broadcast Area\n\n_No response_\n\n### Languages\n\n_No response_\n\n### Categories\n\n_No response_\n\n### NSFW\n\nNone\n\n### Launched\n\n2020-01-01\n\n### Closed\n\n_No response_\n\n### Replaced By\n\n0TV.dk@SD\n\n### Website\n\n_No response_\n\n### Logo\n\n_No response_\n\n### Notes\n\n_No response_',
|
||||
reactions: {
|
||||
url: 'https://api.github.com/repos/iptv-org/database/issues/5903/reactions',
|
||||
total_count: 0,
|
||||
'+1': 0,
|
||||
'-1': 0,
|
||||
laugh: 0,
|
||||
hooray: 0,
|
||||
confused: 0,
|
||||
heart: 0,
|
||||
rocket: 0,
|
||||
eyes: 0
|
||||
},
|
||||
timeline_url: 'https://api.github.com/repos/iptv-org/database/issues/5903/timeline',
|
||||
performed_via_github_app: null,
|
||||
state_reason: null
|
||||
},
|
||||
{
|
||||
url: 'https://api.github.com/repos/iptv-org/database/issues/5701',
|
||||
repository_url: 'https://api.github.com/repos/iptv-org/database',
|
||||
|
@ -693,7 +851,7 @@ module.exports = [
|
|||
closed_at: null,
|
||||
author_association: 'CONTRIBUTOR',
|
||||
active_lock_reason: null,
|
||||
body: '### Channel ID\n\n1000xHoraTV.uy\n\n### Feed Name\n\nHD\n\n### Main Feed\n\nTRUE\n\n### Broadcast Area\n\nc/CN\n\n### Languages\n\nzho\n\n### Timezones\n\nAfrica/Johannesburg;Africa/Kigali\n\n### Format\n\n576i\n\n### Launched (optional)\n\n2020-01-01\n\n### Closed (optional)\n\n2021-01-01\n\n### Replaced By (optional)\n\nM5.hu@HD\n\n### Notes\n\n_No response_',
|
||||
body: '### Channel ID\n\n1000xHoraTV.uy\n\n### Feed Name\n\nHD\n\n### Main Feed\n\nTRUE\n\n### Broadcast Area\n\nc/CN\n\n### Languages\n\nzho\n\n### Timezones\n\nAfrica/Johannesburg;Africa/Kigali\n\n### Format\n\n576i\n\n### Notes\n\n_No response_',
|
||||
reactions: {
|
||||
url: 'https://api.github.com/repos/iptv-org/database/issues/8900/reactions',
|
||||
total_count: 0,
|
||||
|
@ -745,7 +903,7 @@ module.exports = [
|
|||
{
|
||||
id: 5303574335,
|
||||
node_id: 'LA_kwDOG1Kwp88AAAABPB4fPw',
|
||||
url: 'https://api.github.com/repos/iptv-org/database/labels/channels:edit',
|
||||
url: 'https://api.github.com/repos/iptv-org/database/labels/feeds:edit',
|
||||
name: 'feeds:edit',
|
||||
color: 'E12977',
|
||||
default: false,
|
||||
|
@ -772,7 +930,7 @@ module.exports = [
|
|||
closed_at: null,
|
||||
author_association: 'CONTRIBUTOR',
|
||||
active_lock_reason: null,
|
||||
body: '### Channel ID (required)\n\nM5.hu\n\n### Feed ID (required)\n\nSD\n\n### Feed Name\n\nHD\n\n### Main Feed\n\nTRUE\n\n### Broadcast Area\n\nc/BR\n\n### Timezones\n\nAfrica/Dakar;Africa/El_Aaiun\n\n### Languages\n\npor;spa\n\n### Format\n\n1080i\n\n### Launched\n\n2020-01-01\n\n### Closed\n\n~\n\n### Replaced By\n\n0TV.dk@SD\n\n### Notes\n\n_No response_',
|
||||
body: '### Channel ID (required)\n\nM5.hu\n\n### Feed ID (required)\n\nSD\n\n### Feed Name\n\nHD\n\n### Main Feed\n\nTRUE\n\n### Broadcast Area\n\nc/BR\n\n### Timezones\n\nAfrica/Dakar;Africa/El_Aaiun\n\n### Languages\n\npor;spa\n\n### Format\n\n1080i\n\n### Notes\n\n_No response_',
|
||||
reactions: {
|
||||
url: 'https://api.github.com/repos/iptv-org/database/issues/7901/reactions',
|
||||
total_count: 0,
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
channel,id,name,is_main,broadcast_area,timezones,languages,video_format,launched,closed,replaced_by
|
||||
002RadioTV.do,SD,SD,TRUE,c/DO,America/Santo_Domingo,spa,480i,,,
|
||||
002RadioTV.do,SD,HD,FALSE,c/DO,America/Santo_Domingo,spa,1080i,,,
|
||||
channel,id,name,is_main,broadcast_area,timezones,languages,video_format
|
||||
002RadioTV.do,SD,SD,TRUE,c/DO,America/Santo_Domingo,spa,480i
|
||||
002RadioTV.do,SD,HD,FALSE,c/DO,America/Santo_Domingo,spa,1080i
|
|
|
@ -1,2 +1,4 @@
|
|||
id,name,alt_names,network,owners,country,subdivision,city,broadcast_area,languages,categories,is_nsfw,launched,closed,replaced_by,website,logo
|
||||
002RadioTV.do,002 Radio TV,,,,DO,,,c/DO,spa,,FALSE,,,002RadioTV.do@4K,ttps://www.002radio.com/,https://i.imgur.com/7oNe8xj.png
|
||||
002RadioTV.do,002 Radio TV,,,,DO,,,c/DO,spa,,FALSE,,,002RadioTV.do@4K,ttps://www.002radio.com/,https://i.imgur.com/7oNe8xj.png
|
||||
10Channel.do,10 Channel,,,,DO,,,c/DO,spa,,FALSE,,,,,https://i.ibb.co/0XMM4gn/download-7.png
|
||||
24B.do,24B,,,,DO,,,c/DO,spa,,FALSE,,,,,https://i.imgur.com/8LgdPst.png
|
|
|
@ -1,4 +1,5 @@
|
|||
channel,id,name,is_main,broadcast_area,timezones,languages,video_format,launched,closed,replaced_by
|
||||
0TV.dk,SD,SD,TRUE,c/DK,Europe/Copenhagen,dan,576I,,,M5.hu@HD
|
||||
002RadioTV.do,SD,SD,TRUE,c/DK,Africa/Accra,dan,576i,,,
|
||||
002RadioTV.do,HD,HD,TRUE,c/DK,Africa/Accra,dan,576i,,,
|
||||
channel,id,name,is_main,broadcast_area,timezones,languages,video_format
|
||||
0TV.dk,SD,SD,TRUE,c/DK,Europe/Copenhagen,dan,576I
|
||||
002RadioTV.do,SD,SD,TRUE,c/DK,Africa/Accra,dan,576i
|
||||
002RadioTV.do,HD,HD,TRUE,c/DK,Africa/Accra,dan,576i
|
||||
24B.do,SD,SD,FALSE,c/DK,Africa/Accra,dan,576i
|
|
|
@ -1,5 +1,5 @@
|
|||
channel,id,name,is_main,broadcast_area,timezones,languages,video_format,launched,closed,replaced_by
|
||||
KSTVKids.ua,HD,HD,TRUE,c/UA,America/Santo_Domingo,ukr,480i,,,
|
||||
PeoplesWeather.do,SD,SD,TRUE,c/DO,America/Santo_Domingo,spa,480i,,,
|
||||
PeoplesWeather.do,HD,HD,FALSE,c/DO,America/Santo_Domingo,spa,1080i,,,KSTVKids.ua@HD
|
||||
PeoplesWeather.do,West,West,FALSE,c/DO,America/Santo_Domingo,spa,1080i,,,
|
||||
channel,id,name,is_main,broadcast_area,timezones,languages,video_format
|
||||
KSTVKids.ua,HD,HD,TRUE,c/UA,America/Santo_Domingo,ukr,480i
|
||||
PeoplesWeather.do,SD,SD,TRUE,c/DO,America/Santo_Domingo,spa,480i
|
||||
PeoplesWeather.do,HD,HD,FALSE,c/DO,America/Santo_Domingo,spa,1080i
|
||||
PeoplesWeather.do,West,West,FALSE,c/DO,America/Santo_Domingo,spa,1080i
|
|
|
@ -15,7 +15,7 @@ it('can update db with data from issues', () => {
|
|||
expect(content('output/data/channels.csv')).toEqual(content('expected/data/channels.csv'))
|
||||
expect(content('output/data/feeds.csv')).toEqual(content('expected/data/feeds.csv'))
|
||||
expect(stdout).toEqual(
|
||||
'OUTPUT=closes #6871, closes #5871, closes #7901, closes #5901, closes #5701, closes #8900, closes #5900, closes #5899, closes #5898, closes #5897, closes #5891'
|
||||
'OUTPUT=closes #6871, closes #5871, closes #7901, closes #5901, closes #5902, closes #5903, closes #5701, closes #8900, closes #5900, closes #5899, closes #5898, closes #5897, closes #5891'
|
||||
)
|
||||
})
|
||||
|
||||
|
|
|
@ -64,6 +64,10 @@ describe('db:validate', () => {
|
|||
expect((error as ExecError).stdout).toContain(
|
||||
'"002RadioTV.do" has an invalid replaced_by "002RadioTV.do@4K"'
|
||||
)
|
||||
expect((error as ExecError).stdout).toContain(
|
||||
'"10Channel.do" channel does not have a main feed'
|
||||
)
|
||||
expect((error as ExecError).stdout).toContain('"24B.do" channel does not have a main feed')
|
||||
expect((error as ExecError).stdout).toContain(
|
||||
'002RadioTV.do: "website" must be a valid uri with a scheme matching the http|https pattern'
|
||||
)
|
||||
|
@ -71,14 +75,13 @@ describe('db:validate', () => {
|
|||
'entry with the channel "002RadioTV.do" and is_main "true" already exists'
|
||||
)
|
||||
expect((error as ExecError).stdout).toContain('"0TV.dk" is missing in the channels.csv')
|
||||
expect((error as ExecError).stdout).toContain('"SD" has an invalid replaced_by "M5.hu@HD"')
|
||||
expect((error as ExecError).stdout).toContain(
|
||||
'"0TV.dk@SD" has the wrong timezone "Europe/Copenhagen"'
|
||||
)
|
||||
expect((error as ExecError).stdout).toContain(
|
||||
'SD: "video_format" with value "576I" fails to match the required pattern'
|
||||
)
|
||||
expect((error as ExecError).stdout).toContain('8 error(s)')
|
||||
expect((error as ExecError).stdout).toContain('9 error(s)')
|
||||
}
|
||||
})
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue