epg/sites/digiturk.com.tr/digiturk.com.tr.config.js
2023-01-10 12:40:01 +03:00

74 lines
1.6 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

const _ = require('lodash')
const dayjs = require('dayjs')
const utc = require('dayjs/plugin/utc')
const timezone = require('dayjs/plugin/timezone')
dayjs.extend(utc)
dayjs.extend(timezone)
module.exports = {
site: 'digiturk.com.tr',
days: 2,
url: function ({ date, channel }) {
return `https://www.digiturk.com.tr/yayin-akisi/api/program/kanal/${
channel.site_id
}/${date.format('YYYY-MM-DD')}/0`
},
parser: function ({ content, channel }) {
let programs = []
const items = parseItems(content, channel)
items.forEach(item => {
const start = parseStart(item)
const stop = start.add(item.BroadcastDuration, 's')
programs.push({
title: item.ProgramName,
description: item.LongDescription,
category: parseCategory(item),
start,
stop
})
})
programs = _.sortBy(programs, 'start')
return programs
}
}
function parseStart(item) {
return dayjs.tz(item.BroadcastStart, 'Europe/Istanbul')
}
function parseCategory(item) {
const categories = {
'00': 'Diğer',
E0: 'Romantik Komedi',
E1: 'Aksiyon',
E4: 'Macera',
E5: 'Dram',
E6: 'Fantastik',
E7: 'Komedi',
E8: 'Korku',
EB: 'Polisiye',
EF: 'Western',
FA: 'Macera',
FB: 'Yarışma',
FC: 'Eğlence',
F0: 'Reality-Show',
F2: 'Haberler',
F4: 'Belgesel',
F6: 'Eğitim',
F7: 'Sanat ve Kültür',
F9: 'Life Style'
}
return categories[item.Genre]
}
function parseItems(content, channel) {
const data = JSON.parse(content)
const items = data.listings[channel.site_id]
if (!Array.isArray(items)) return []
return items
}