Merge pull request #230 from iptv-org/update-dsmart-com

Update dsmart.com
This commit is contained in:
Aleksandr Statciuk 2021-11-11 16:39:58 +03:00 committed by GitHub
commit 9e88c0f89e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 127 additions and 125 deletions

1
scripts/.gitignore vendored Normal file
View file

@ -0,0 +1 @@
edit.js

View file

@ -9,21 +9,21 @@ module.exports = {
}, },
site: 'dsmart.com.tr', site: 'dsmart.com.tr',
url({ date, channel }) { url({ date, channel }) {
return `https://www.dsmart.com.tr/api/v1/public/epg/schedules?page=${ const [page] = channel.site_id.split('#')
channel.site_id
}&limit=1&day=${date.format('YYYY-MM-DD')}`
},
logo({ content }) {
const data = JSON.parse(content)
if (!data || !data.data.channels.length) return null
const logoId = data.data.channels[0].logo
return logoId ? `https://www.dsmart.com.tr/epg/images/0x50/${logoId}` : null return `https://www.dsmart.com.tr/api/v1/public/epg/schedules?page=${page}&limit=1&day=${date.format(
'YYYY-MM-DD'
)}`
},
logo({ content, channel }) {
const data = parseContent(content, channel)
return data && data.logo ? `https://www.dsmart.com.tr/epg/images/0x50/${data.logo}` : null
}, },
parser: function ({ content, channel, date }) { parser: function ({ content, channel, date }) {
let offset = -1 let offset = -1
let programs = [] let programs = []
const items = parseItems(content) const items = parseItems(content, channel)
items.forEach(item => { items.forEach(item => {
let start = parseStart(item, date) let start = parseStart(item, date)
if (offset === -1 && start.hour() > 18) start = start.subtract(1, 'd') if (offset === -1 && start.hour() > 18) start = start.subtract(1, 'd')
@ -52,9 +52,16 @@ function parseStop(item, date) {
return dayjs.utc(item.end_date).set('date', date.get('date')) return dayjs.utc(item.end_date).set('date', date.get('date'))
} }
function parseItems(content) { function parseContent(content, channel) {
const data = JSON.parse(content) const data = JSON.parse(content)
if (!data || !data.data.channels.length) return [] if (!data || !data.data || !Array.isArray(data.data.channels)) return null
const [_, channelId] = channel.site_id.split('#')
return data.data.channels[0].schedule return data.data.channels.find(i => i.ch_no == channelId)
}
function parseItems(content, channel) {
const data = parseContent(content, channel)
return data ? data.schedule : []
} }

View file

@ -9,21 +9,21 @@ dayjs.extend(utc)
const date = dayjs.utc('2021-11-06', 'YYYY-MM-DD').startOf('d') const date = dayjs.utc('2021-11-06', 'YYYY-MM-DD').startOf('d')
const channel = { const channel = {
site_id: '1', site_id: '1#1',
xmltv_id: 'MovieSmartPremium.tr' xmltv_id: 'MovieSmartPremium.tr'
} }
const content = `{"meta": {"code": 200, "message": "OK"}, "data": {"total": 200, "channels": [{"rating": 3, "ch_id": 805, "logo": "59f97253cfef0b75f4723ded", "ch_no": 1, "is_hd": true, "genre": [1, 2], "packages": ["58cfc9c7e138237a591f9a61", "58cfc9c7e138237a591f9a62", "58cfc9c7e138237a591f9a5f", "58cfc9c7e138237a591f9a60"], "slug": "moviesmart-premium", "hd": true, "_id": "58d29bb0eefad3db9c606290", "order": 1, "channel_name": "MovieSmart Premium", "description": "", "schedule": [{"actor": "", "year": "2015", "id": "60488f69cfef0b15935d70d7", "subject": "Goosebumps: Canavarlar Firarda (Goosebumps) T\\u00fcr: Komedi - Macera Y\\u00f6netmen: Rob Letterman Oyuncular: Jack Black, Dylan Minnette, Odeya Rush", "audio_subtitles": 3, "start_date": "2021-11-03T21:15:00Z", "channel": "58d29bb0eefad3db9c606290", "description": "B\\u00fcy\\u00fck \\u015fehirden k\\u00fc\\u00e7\\u00fck bir kasabaya ta\\u015f\\u0131nd\\u0131\\u011f\\u0131 i\\u00e7in mutsuz olan Zach Cooper, ta\\u015f\\u0131nd\\u0131klar\\u0131 evin tam yan\\u0131ndaki evde ya\\u015fayan g\\u00fczel k\\u0131z Hannah ile kar\\u015f\\u0131la\\u015f\\u0131p, Champ ile de k\\u0131sa s\\u00fcrede arkada\\u015f olunca yeni bir hayat i\\u00e7in umutlan\\u0131r. Ancak Zach, Hannah'n\\u0131n gizemli babas\\u0131n\\u0131n Goosebumps kitaplar\\u0131n\\u0131n yazar\\u0131, R.L. Stine oldu\\u011funu \\u00f6\\u011frendi\\u011finde, olaylar\\u0131n normal gitmeyece\\u011fini anlar. (Dil:T\\u00fcrk\\u00e7e/Orijinal - Altyaz\\u0131:T\\u00fcrk\\u00e7e/\\u0130ngilizce)", "director": "", "end_date": "2021-11-03T23:55:00Z", "genre": "sinema/genel", "program_name": "Goosebumps: Canavarlar Firarda", "day": "2021-11-05T21:00:00Z", "episode": "", "screen_violence": 4, "_id": "6185a3f6cfef0b1593e44e63", "duration": "1:40:00"},{"actor": "", "year": "2015", "id": "60488f69cfef0b15935d70d7", "subject": "Goosebumps: Canavarlar Firarda (Goosebumps) T\\u00fcr: Komedi - Macera Y\\u00f6netmen: Rob Letterman Oyuncular: Jack Black, Dylan Minnette, Odeya Rush", "audio_subtitles": 3, "start_date": "2021-11-03T23:55:00Z", "channel": "58d29bb0eefad3db9c606290", "description": "B\\u00fcy\\u00fck \\u015fehirden k\\u00fc\\u00e7\\u00fck bir kasabaya ta\\u015f\\u0131nd\\u0131\\u011f\\u0131 i\\u00e7in mutsuz olan Zach Cooper, ta\\u015f\\u0131nd\\u0131klar\\u0131 evin tam yan\\u0131ndaki evde ya\\u015fayan g\\u00fczel k\\u0131z Hannah ile kar\\u015f\\u0131la\\u015f\\u0131p, Champ ile de k\\u0131sa s\\u00fcrede arkada\\u015f olunca yeni bir hayat i\\u00e7in umutlan\\u0131r. Ancak Zach, Hannah'n\\u0131n gizemli babas\\u0131n\\u0131n Goosebumps kitaplar\\u0131n\\u0131n yazar\\u0131, R.L. Stine oldu\\u011funu \\u00f6\\u011frendi\\u011finde, olaylar\\u0131n normal gitmeyece\\u011fini anlar. (Dil:T\\u00fcrk\\u00e7e/Orijinal - Altyaz\\u0131:T\\u00fcrk\\u00e7e/\\u0130ngilizce)", "director": "", "end_date": "2021-11-03T01:55:00Z", "genre": "sinema/genel", "program_name": "Goosebumps: Canavarlar Firarda", "day": "2021-11-05T21:00:00Z", "episode": "", "screen_violence": 4, "_id": "6185a3f6cfef0b1593e44e63", "duration": "1:40:00"}]}]}}` const content = `{"meta": {"code": 200, "message": "OK"}, "data": {"total": 200, "channels": [{"rating": 3, "ch_id": 805, "logo": "59f97253cfef0b75f4723ded", "ch_no": 1, "is_hd": true, "genre": [1, 2], "packages": ["58cfc9c7e138237a591f9a61", "58cfc9c7e138237a591f9a62", "58cfc9c7e138237a591f9a5f", "58cfc9c7e138237a591f9a60"], "slug": "moviesmart-premium", "hd": true, "_id": "58d29bb0eefad3db9c606290", "order": 1, "channel_name": "MovieSmart Premium", "description": "", "schedule": [{"actor": "", "year": "2015", "id": "60488f69cfef0b15935d70d7", "subject": "Goosebumps: Canavarlar Firarda (Goosebumps) T\\u00fcr: Komedi - Macera Y\\u00f6netmen: Rob Letterman Oyuncular: Jack Black, Dylan Minnette, Odeya Rush", "audio_subtitles": 3, "start_date": "2021-11-03T21:15:00Z", "channel": "58d29bb0eefad3db9c606290", "description": "B\\u00fcy\\u00fck \\u015fehirden k\\u00fc\\u00e7\\u00fck bir kasabaya ta\\u015f\\u0131nd\\u0131\\u011f\\u0131 i\\u00e7in mutsuz olan Zach Cooper, ta\\u015f\\u0131nd\\u0131klar\\u0131 evin tam yan\\u0131ndaki evde ya\\u015fayan g\\u00fczel k\\u0131z Hannah ile kar\\u015f\\u0131la\\u015f\\u0131p, Champ ile de k\\u0131sa s\\u00fcrede arkada\\u015f olunca yeni bir hayat i\\u00e7in umutlan\\u0131r. Ancak Zach, Hannah'n\\u0131n gizemli babas\\u0131n\\u0131n Goosebumps kitaplar\\u0131n\\u0131n yazar\\u0131, R.L. Stine oldu\\u011funu \\u00f6\\u011frendi\\u011finde, olaylar\\u0131n normal gitmeyece\\u011fini anlar. (Dil:T\\u00fcrk\\u00e7e/Orijinal - Altyaz\\u0131:T\\u00fcrk\\u00e7e/\\u0130ngilizce)", "director": "", "end_date": "2021-11-03T23:55:00Z", "genre": "sinema/genel", "program_name": "Goosebumps: Canavarlar Firarda", "day": "2021-11-05T21:00:00Z", "episode": "", "screen_violence": 4, "_id": "6185a3f6cfef0b1593e44e63", "duration": "1:40:00"},{"actor": "", "year": "2015", "id": "60488f69cfef0b15935d70d7", "subject": "Goosebumps: Canavarlar Firarda (Goosebumps) T\\u00fcr: Komedi - Macera Y\\u00f6netmen: Rob Letterman Oyuncular: Jack Black, Dylan Minnette, Odeya Rush", "audio_subtitles": 3, "start_date": "2021-11-03T23:55:00Z", "channel": "58d29bb0eefad3db9c606290", "description": "B\\u00fcy\\u00fck \\u015fehirden k\\u00fc\\u00e7\\u00fck bir kasabaya ta\\u015f\\u0131nd\\u0131\\u011f\\u0131 i\\u00e7in mutsuz olan Zach Cooper, ta\\u015f\\u0131nd\\u0131klar\\u0131 evin tam yan\\u0131ndaki evde ya\\u015fayan g\\u00fczel k\\u0131z Hannah ile kar\\u015f\\u0131la\\u015f\\u0131p, Champ ile de k\\u0131sa s\\u00fcrede arkada\\u015f olunca yeni bir hayat i\\u00e7in umutlan\\u0131r. Ancak Zach, Hannah'n\\u0131n gizemli babas\\u0131n\\u0131n Goosebumps kitaplar\\u0131n\\u0131n yazar\\u0131, R.L. Stine oldu\\u011funu \\u00f6\\u011frendi\\u011finde, olaylar\\u0131n normal gitmeyece\\u011fini anlar. (Dil:T\\u00fcrk\\u00e7e/Orijinal - Altyaz\\u0131:T\\u00fcrk\\u00e7e/\\u0130ngilizce)", "director": "", "end_date": "2021-11-03T01:55:00Z", "genre": "sinema/genel", "program_name": "Goosebumps: Canavarlar Firarda", "day": "2021-11-05T21:00:00Z", "episode": "", "screen_violence": 4, "_id": "6185a3f6cfef0b1593e44e63", "duration": "1:40:00"}]}]}}`
it('can generate valid url', () => { it('can generate valid url', () => {
const result = url({ date, channel }) expect(url({ date, channel })).toBe(
expect(result).toBe(
'https://www.dsmart.com.tr/api/v1/public/epg/schedules?page=1&limit=1&day=2021-11-06' 'https://www.dsmart.com.tr/api/v1/public/epg/schedules?page=1&limit=1&day=2021-11-06'
) )
}) })
it('can get logo url', () => { it('can get logo url', () => {
const result = logo({ content }) expect(logo({ content, channel })).toBe(
expect(result).toBe('https://www.dsmart.com.tr/epg/images/0x50/59f97253cfef0b75f4723ded') 'https://www.dsmart.com.tr/epg/images/0x50/59f97253cfef0b75f4723ded'
)
}) })
it('can parse response', () => { it('can parse response', () => {

View file

@ -1,105 +1,100 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<site site="dsmart.com.tr"> <site site="dsmart.com.tr">
<channels> <channels>
<channel lang="tr" xmltv_id="24KitchenTurkiye.us" site_id="52">24 Kitchen Türkiye</channel> <channel lang="tr" xmltv_id="24KitchenTurkiye.us" site_id="52#54">24 Kitchen Türkiye</channel>
<channel lang="tr" xmltv_id="24TV.tr" site_id="33">24 TV</channel> <channel lang="tr" xmltv_id="24TV.tr" site_id="33#34">24 TV</channel>
<channel lang="tr" xmltv_id="360.tr" site_id="42">360</channel> <channel lang="tr" xmltv_id="360.tr" site_id="42#43">360</channel>
<channel lang="tr" xmltv_id="AHaber.tr" site_id="34">A Haber</channel> <channel lang="tr" xmltv_id="AHaber.tr" site_id="34#35">A Haber</channel>
<channel lang="tr" xmltv_id="ANews.tr" site_id="168">A News</channel> <channel lang="tr" xmltv_id="ASpor.tr" site_id="76#80">A Spor</channel>
<channel lang="tr" xmltv_id="ASpor.tr" site_id="76">A Spor</channel> <channel lang="tr" xmltv_id="ATVTurkiye.tr" site_id="24#25">ATV Türkiye</channel>
<channel lang="tr" xmltv_id="ATVTurkiye.tr" site_id="24">ATV Türkiye</channel> <channel lang="tr" xmltv_id="BabyTVEurope.uk" site_id="107#123">Baby TV Europe</channel>
<channel lang="tr" xmltv_id="BabyTVEurope.uk" site_id="107">Baby TV Europe</channel> <channel lang="tr" xmltv_id="BBCEarthTurkiye.uk" site_id="54#56">BBC Earth Türkiye</channel>
<channel lang="tr" xmltv_id="BBCEarthTurkiye.uk" site_id="54">BBC Earth Türkiye</channel> <channel lang="tr" xmltv_id="BBCWorldNewsEurope.uk" site_id="50#51">BBC World News Europe</channel>
<channel lang="tr" xmltv_id="BBCWorldNewsEurope.uk" site_id="50">BBC World News Europe</channel> <channel lang="tr" xmltv_id="BBNTurk.tr" site_id="37#38">BBN Türk</channel>
<channel lang="tr" xmltv_id="BBNTurk.tr" site_id="37">BBN Türk</channel> <channel lang="tr" xmltv_id="BeyazTV.tr" site_id="39#40">Beyaz TV</channel>
<channel lang="tr" xmltv_id="BeyazTV.tr" site_id="39">Beyaz TV</channel> <channel lang="tr" xmltv_id="BloombergHT.us" site_id="43#44">Bloomberg HT</channel>
<channel lang="tr" xmltv_id="BloombergHT.us" site_id="43">Bloomberg HT</channel> <channel lang="tr" xmltv_id="BoomerangTurkiye.us" site_id="106#122">Boomerang Türkiye</channel>
<channel lang="tr" xmltv_id="BoomerangTurkiye.us" site_id="106">Boomerang Türkiye</channel> <channel lang="tr" xmltv_id="CartoonNetworkTurkiye.us" site_id="104#120">Cartoon Network Türkiye</channel>
<channel lang="tr" xmltv_id="CartoonNetworkTurkiye.us" site_id="104">Cartoon Network Türkiye</channel> <channel lang="tr" xmltv_id="CNNInternationalEurope.us" site_id="49#50">CNN International Europe</channel>
<channel lang="tr" xmltv_id="CNNInternationalEurope.us" site_id="49">CNN International Europe</channel> <channel lang="tr" xmltv_id="CocukSmart.tr" site_id="105#121">Çocuk Smart</channel>
<channel lang="tr" xmltv_id="CNNTurk.us" site_id="200">CNN Türk</channel> <channel lang="tr" xmltv_id="DaVinci.de" site_id="110#127">Da Vinci</channel>
<channel lang="tr" xmltv_id="CocukSmart.tr" site_id="105">Çocuk Smart</channel> <channel lang="tr" xmltv_id="DiscoveryChannelTurkiye.us" site_id="57#59">Discovery Channel Türkiye</channel>
<channel lang="tr" xmltv_id="DaVinci.de" site_id="110">Da Vinci</channel> <channel lang="tr" xmltv_id="DiscoveryScienceTurkiye.us" site_id="58#61">Discovery Science Türkiye</channel>
<channel lang="tr" xmltv_id="DiscoveryChannelTurkiye.us" site_id="57">Discovery Channel Türkiye</channel> <channel lang="tr" xmltv_id="DisneyChannelTurkiye.us" site_id="112#130">Disney Channel Türkiye</channel>
<channel lang="tr" xmltv_id="DiscoveryScienceTurkiye.us" site_id="58">Discovery Science Türkiye</channel> <channel lang="tr" xmltv_id="DisneyJuniorTurkiyePolska.us" site_id="111#129">Disney Junior Türkiye &amp; Polska</channel>
<channel lang="tr" xmltv_id="DisneyChannelTurkiye.us" site_id="112">Disney Channel Türkiye</channel> <channel lang="tr" xmltv_id="DiyanetTV.tr" site_id="90#104">Diyanet TV</channel>
<channel lang="tr" xmltv_id="DisneyJuniorTurkiyePolska.us" site_id="111">Disney Junior Türkiye &amp; Polska</channel> <channel lang="tr" xmltv_id="DiziSmartMax.tr" site_id="19#20">DiziSmart Max</channel>
<channel lang="tr" xmltv_id="DiyanetTV.tr" site_id="90">Diyanet TV</channel> <channel lang="tr" xmltv_id="DiziSmartPremium.tr" site_id="16#16">DiziSmart Premium</channel>
<channel lang="tr" xmltv_id="DiziSmartMax.tr" site_id="19">DiziSmart Max</channel> <channel lang="tr" xmltv_id="DMAXTurkiye.us" site_id="45#46">DMAX Türkiye</channel>
<channel lang="tr" xmltv_id="DiziSmartPremium.tr" site_id="16">DiziSmart Premium</channel> <channel lang="tr" xmltv_id="DocuBoxHD.us" site_id="56#58">DocuBox HD</channel>
<channel lang="tr" xmltv_id="DMAXTurkiye.us" site_id="45">DMAX Türkiye</channel> <channel lang="tr" xmltv_id="Eurosport1.fr" site_id="71#75">Eurosport 1</channel>
<channel lang="tr" xmltv_id="DocuBoxHD.us" site_id="56">DocuBox HD</channel> <channel lang="tr" xmltv_id="Eurosport2.fr" site_id="72#76">Eurosport 2</channel>
<channel lang="tr" xmltv_id="EuroD.tr" site_id="170">Euro D</channel> <channel lang="tr" xmltv_id="FashionTVHDEurope.fr" site_id="65#69">FashionTV HD Europe</channel>
<channel lang="tr" xmltv_id="Eurosport1.fr" site_id="71">Eurosport 1</channel> <channel lang="tr" xmltv_id="FastFunBoxHD.us" site_id="67#71">Fast &amp; FunBox HD</channel>
<channel lang="tr" xmltv_id="Eurosport2.fr" site_id="72">Eurosport 2</channel> <channel lang="tr" xmltv_id="FBTV.tr" site_id="79#83">FB TV</channel>
<channel lang="tr" xmltv_id="FashionTVHDEurope.fr" site_id="65">FashionTV HD Europe</channel> <channel lang="tr" xmltv_id="FightBoxHD.us" site_id="77#81">FightBox HD</channel>
<channel lang="tr" xmltv_id="FastFunBoxHD.us" site_id="67">Fast &amp; FunBox HD</channel> <channel lang="tr" xmltv_id="FilmBoxTurkiye.us" site_id="13#13">FilmBox Türkiye</channel>
<channel lang="tr" xmltv_id="FBTV.tr" site_id="79">FB TV</channel> <channel lang="tr" xmltv_id="FlashTV.tr" site_id="155#273">Flash TV</channel>
<channel lang="tr" xmltv_id="FightBoxHD.us" site_id="77">FightBox HD</channel> <channel lang="tr" xmltv_id="FoxCrimeTurkiye.us" site_id="18#19">Fox Crime Türkiye</channel>
<channel lang="tr" xmltv_id="FilmBoxTurkiye.us" site_id="13">FilmBox Türkiye</channel> <channel lang="tr" xmltv_id="FoxTurkiye.us" site_id="28#29">Fox Türkiye</channel>
<channel lang="tr" xmltv_id="FlashTV.tr" site_id="155">Flash TV</channel> <channel lang="tr" xmltv_id="FXTurkiye.us" site_id="17#18">FX Türkiye</channel>
<channel lang="tr" xmltv_id="FoxCrimeTurkiye.us" site_id="18">Fox Crime Türkiye</channel> <channel lang="tr" xmltv_id="HaberGlobal.tr" site_id="41#42">Haber Global</channel>
<channel lang="tr" xmltv_id="FoxTurkiye.us" site_id="28">Fox Türkiye</channel> <channel lang="tr" xmltv_id="Haberturk.tr" site_id="32#33">Habertürk</channel>
<channel lang="tr" xmltv_id="FXTurkiye.us" site_id="17">FX Türkiye</channel> <channel lang="tr" xmltv_id="InsightHD.nl" site_id="64#68">Insight HD</channel>
<channel lang="tr" xmltv_id="HaberGlobal.tr" site_id="41">Haber Global</channel> <channel lang="tr" xmltv_id="Kanal7.tr" site_id="26#27">Kanal 7</channel>
<channel lang="tr" xmltv_id="Haberturk.tr" site_id="32">Habertürk</channel> <channel lang="tr" xmltv_id="KanalD.tr" site_id="21#22">Kanal D</channel>
<channel lang="tr" xmltv_id="InsightHD.nl" site_id="64">Insight HD</channel> <channel lang="tr" xmltv_id="LoveNature.ca" site_id="69#73">Love Nature</channel>
<channel lang="tr" xmltv_id="Kanal7.tr" site_id="26">Kanal 7</channel> <channel lang="tr" xmltv_id="MovieSmartClassic.tr" site_id="14#14">MovieSmart Classic</channel>
<channel lang="tr" xmltv_id="KanalD.tr" site_id="21">Kanal D</channel> <channel lang="tr" xmltv_id="MovieSmartPremium.tr" site_id="1#1">MovieSmart Premium</channel>
<channel lang="tr" xmltv_id="LoveNature.ca" site_id="69">Love Nature</channel> <channel lang="tr" xmltv_id="MovieSmartPremium2.tr" site_id="2#2">MovieSmart Premium 2</channel>
<channel lang="tr" xmltv_id="MovieSmartClassic.tr" site_id="14">MovieSmart Classic</channel> <channel lang="tr" xmltv_id="MovieSmartTurk.tr" site_id="15#15">MovieSmart Türk</channel>
<channel lang="tr" xmltv_id="MovieSmartPremium.tr" site_id="1">MovieSmart Premium</channel> <channel lang="tr" xmltv_id="NationalGeographicTurkiye.us" site_id="60#63">National Geographic Türkiye</channel>
<channel lang="tr" xmltv_id="MovieSmartPremium2.tr" site_id="2">MovieSmart Premium 2</channel> <channel lang="tr" xmltv_id="NationalGeographicWildTurkiye.us" site_id="61#64">National Geographic Wild Türkiye</channel>
<channel lang="tr" xmltv_id="MovieSmartTurk.tr" site_id="15">MovieSmart Türk</channel> <channel lang="tr" xmltv_id="NBATV.us" site_id="68#72">NBA TV</channel>
<channel lang="tr" xmltv_id="NationalGeographicTurkiye.us" site_id="60">National Geographic Türkiye</channel> <channel lang="tr" xmltv_id="NTV.tr" site_id="30#31">NTV</channel>
<channel lang="tr" xmltv_id="NationalGeographicWildTurkiye.us" site_id="61">National Geographic Wild Türkiye</channel> <channel lang="tr" xmltv_id="Number1Turk.tr" site_id="99#115">Number 1 Türk</channel>
<channel lang="tr" xmltv_id="NBATV.us" site_id="68">NBA TV</channel> <channel lang="tr" xmltv_id="Number1TV.tr" site_id="98#114">Number 1 TV</channel>
<channel lang="tr" xmltv_id="NTV.tr" site_id="30">NTV</channel> <channel lang="tr" xmltv_id="PowerTV.tr" site_id="103#119">Power TV</channel>
<channel lang="tr" xmltv_id="Number1Turk.tr" site_id="99">Number 1 Türk</channel> <channel lang="tr" xmltv_id="ShowTV.tr" site_id="22#23">Show TV</channel>
<channel lang="tr" xmltv_id="Number1TV.tr" site_id="98">Number 1 TV</channel> <channel lang="tr" xmltv_id="Sinema2.tr" site_id="4#4">Sinema 2</channel>
<channel lang="tr" xmltv_id="PowerTV.tr" site_id="103">Power TV</channel> <channel lang="tr" xmltv_id="Sinema1001.tr" site_id="11#11">Sinema 1001</channel>
<channel lang="tr" xmltv_id="ShowTV.tr" site_id="22">Show TV</channel> <channel lang="tr" xmltv_id="Sinema1002.tr" site_id="12#12">Sinema 1002</channel>
<channel lang="tr" xmltv_id="Sinema2.tr" site_id="4">Sinema 2</channel> <channel lang="tr" xmltv_id="SinemaAile.tr" site_id="7#7">Sinema Aile</channel>
<channel lang="tr" xmltv_id="Sinema1001.tr" site_id="11">Sinema 1001</channel> <channel lang="tr" xmltv_id="SinemaAile2.tr" site_id="8#8">Sinema Aile 2</channel>
<channel lang="tr" xmltv_id="Sinema1002.tr" site_id="12">Sinema 1002</channel> <channel lang="tr" xmltv_id="SinemaAksiyon.tr" site_id="5#5">Sinema Aksiyon</channel>
<channel lang="tr" xmltv_id="SinemaAile.tr" site_id="7">Sinema Aile</channel> <channel lang="tr" xmltv_id="SinemaAksiyon2.tr" site_id="6#6">Sinema Aksiyon 2</channel>
<channel lang="tr" xmltv_id="SinemaAile2.tr" site_id="8">Sinema Aile 2</channel> <channel lang="tr" xmltv_id="SinemaKomedi.tr" site_id="9#9">Sinema Komedi</channel>
<channel lang="tr" xmltv_id="SinemaAksiyon.tr" site_id="5">Sinema Aksiyon</channel> <channel lang="tr" xmltv_id="SinemaKomedi2.tr" site_id="10#10">Sinema Komedi 2</channel>
<channel lang="tr" xmltv_id="SinemaAksiyon2.tr" site_id="6">Sinema Aksiyon 2</channel> <channel lang="tr" xmltv_id="SinemaTV.tr" site_id="3#3">Sinema TV</channel>
<channel lang="tr" xmltv_id="SinemaKomedi.tr" site_id="9">Sinema Komedi</channel> <channel lang="tr" xmltv_id="SporSmart.tr" site_id="73#77">Spor Smart</channel>
<channel lang="tr" xmltv_id="SinemaKomedi2.tr" site_id="10">Sinema Komedi 2</channel> <channel lang="tr" xmltv_id="SporSmart2.tr" site_id="78#82">Spor Smart 2</channel>
<channel lang="tr" xmltv_id="SinemaTV.tr" site_id="3">Sinema TV</channel> <channel lang="tr" xmltv_id="SportsTV.tr" site_id="80#84">Sports TV</channel>
<channel lang="tr" xmltv_id="SporSmart.tr" site_id="73">Spor Smart</channel> <channel lang="tr" xmltv_id="SSport.tr" site_id="74#78">S Sport</channel>
<channel lang="tr" xmltv_id="SporSmart2.tr" site_id="78">Spor Smart 2</channel> <channel lang="tr" xmltv_id="SSport2.tr" site_id="75#79">S Sport 2</channel>
<channel lang="tr" xmltv_id="SportsTV.tr" site_id="80">Sports TV</channel> <channel lang="tr" xmltv_id="StarTV.tr" site_id="23#24">Star TV</channel>
<channel lang="tr" xmltv_id="SSport.tr" site_id="74">S Sport</channel> <channel lang="tr" xmltv_id="StingrayNaturescape.ca" site_id="62#66">Stingray Naturescape</channel>
<channel lang="tr" xmltv_id="SSport2.tr" site_id="75">S Sport 2</channel> <channel lang="tr" xmltv_id="Tele1.tr" site_id="154#272">Tele 1</channel>
<channel lang="tr" xmltv_id="StarTV.tr" site_id="23">Star TV</channel> <channel lang="tr" xmltv_id="Teve2.tr" site_id="20#21">Teve 2</channel>
<channel lang="tr" xmltv_id="StingrayNaturescape.ca" site_id="62">Stingray Naturescape</channel> <channel lang="tr" xmltv_id="TGRTHaber.tr" site_id="44#45">TGRT Haber</channel>
<channel lang="tr" xmltv_id="Tele1.tr" site_id="154">Tele 1</channel> <channel lang="tr" xmltv_id="TheHistoryChannelTurkey.us" site_id="59#62">The History Channel Turkey</channel>
<channel lang="tr" xmltv_id="Teve2.tr" site_id="20">Teve 2</channel> <channel lang="tr" xmltv_id="TLCTurkiye.us" site_id="35#36">TLC Türkiye</channel>
<channel lang="tr" xmltv_id="TGRTHaber.tr" site_id="44">TGRT Haber</channel> <channel lang="tr" xmltv_id="TraceUrban.fr" site_id="66#70">Trace Urban</channel>
<channel lang="tr" xmltv_id="TheHistoryChannelTurkey.us" site_id="59">The History Channel Turkey</channel> <channel lang="tr" xmltv_id="TRT1.tr" site_id="25#26">TRT 1</channel>
<channel lang="tr" xmltv_id="TLCTurkiye.us" site_id="35">TLC Türkiye</channel> <channel lang="tr" xmltv_id="TRT2.tr" site_id="91#105">TRT 2</channel>
<channel lang="tr" xmltv_id="TraceUrban.fr" site_id="66">Trace Urban</channel> <channel lang="tr" xmltv_id="TRTAvaz.tr" site_id="163#283">TRT Avaz</channel>
<channel lang="tr" xmltv_id="TRT1.tr" site_id="25">TRT 1</channel> <channel lang="tr" xmltv_id="TRTBelgesel.tr" site_id="63#67">TRT Belgesel</channel>
<channel lang="tr" xmltv_id="TRT2.tr" site_id="91">TRT 2</channel> <channel lang="tr" xmltv_id="TRTHaber.tr" site_id="31#32">TRT Haber</channel>
<channel lang="tr" xmltv_id="TRT4K.tr" site_id="165">TRT 4K</channel> <channel lang="tr" xmltv_id="TRTMuzik.tr" site_id="94#110">TRT Müzik</channel>
<channel lang="tr" xmltv_id="TRTAvaz.tr" site_id="163">TRT Avaz</channel> <channel lang="tr" xmltv_id="TRTSporYildiz.tr" site_id="82#86">TRT Spor Yildiz</channel>
<channel lang="tr" xmltv_id="TRTBelgesel.tr" site_id="63">TRT Belgesel</channel> <channel lang="tr" xmltv_id="TRTTurk.tr" site_id="92#106">TRT Türk</channel>
<channel lang="tr" xmltv_id="TRTHaber.tr" site_id="31">TRT Haber</channel> <channel lang="tr" xmltv_id="TV4.tr" site_id="83#87">TV 4</channel>
<channel lang="tr" xmltv_id="TRTKurdi.tr" site_id="162">TRT Kurdî</channel> <channel lang="tr" xmltv_id="TV8.tr" site_id="27#28">TV 8</channel>
<channel lang="tr" xmltv_id="TRTMuzik.tr" site_id="94">TRT Müzik</channel> <channel lang="tr" xmltv_id="TV85.tr" site_id="46#47">TV 8.5</channel>
<channel lang="tr" xmltv_id="TRTSporYildiz.tr" site_id="82">TRT Spor Yildiz</channel> <channel lang="tr" xmltv_id="TV100.tr" site_id="36#37">TV 100</channel>
<channel lang="tr" xmltv_id="TRTTurk.tr" site_id="92">TRT Türk</channel> <channel lang="tr" xmltv_id="TVNet.tr" site_id="40#41">TV Net</channel>
<channel lang="tr" xmltv_id="TV4.tr" site_id="83">TV 4</channel> <channel lang="tr" xmltv_id="UcanKusTV.tr" site_id="38#39">UçanKus TV</channel>
<channel lang="tr" xmltv_id="TV8.tr" site_id="27">TV 8</channel> <channel lang="tr" xmltv_id="UlkeTV.tr" site_id="48#49">Ülke TV</channel>
<channel lang="tr" xmltv_id="TV85.tr" site_id="46">TV 8.5</channel> <channel lang="tr" xmltv_id="VavTV.tr" site_id="53#55">Vav TV</channel>
<channel lang="tr" xmltv_id="TV100.tr" site_id="36">TV 100</channel> <channel lang="tr" xmltv_id="ViasatHistoryHD.se" site_id="55#57">Viasat History HD</channel>
<channel lang="tr" xmltv_id="TVNet.tr" site_id="40">TV Net</channel> </channels>
<channel lang="tr" xmltv_id="UcanKusTV.tr" site_id="38">UçanKus TV</channel> </site>
<channel lang="tr" xmltv_id="UlkeTV.tr" site_id="48">Ülke TV</channel>
<channel lang="tr" xmltv_id="VavTV.tr" site_id="53">Vav TV</channel>
<channel lang="tr" xmltv_id="ViasatHistoryHD.se" site_id="55">Viasat History HD</channel>
</channels>
</site>

View file

@ -1,2 +1 @@
*.crawler.js *.crawler.js
*.update.js