diff --git a/sites/distro.tv/distro.tv.config.js b/sites/distro.tv/distro.tv.config.js index 2df68113..0d84df6f 100644 --- a/sites/distro.tv/distro.tv.config.js +++ b/sites/distro.tv/distro.tv.config.js @@ -14,14 +14,24 @@ dayjs.extend(customParseFormat) module.exports = { site: 'distro.tv', - days: 2, + days: 3, request: { - headers: HEADERS + headers: HEADERS, + timeout: 60000 }, - url({ channel }) { - const days = module.exports.days || 2 - const hours = days * 24 - return `https://tv.jsrdn.com/epg/query.php?range=now,${hours}h&id=${channel.site_id},` + url({ channel, date }) { + const diff = date.diff(dayjs.utc().startOf('d'), 'd') + let range + + if (diff <= 0) { + range = 'now,24h' + } else { + const start = diff * 24 + const end = (diff + 1) * 24 + range = `${start}h,${end}h` + } + + return `https://tv.jsrdn.com/epg/query.php?range=${range}&id=${channel.site_id},` }, parser({ content, channel }) { if (!content || !channel) return [] diff --git a/sites/distro.tv/distro.tv.test.js b/sites/distro.tv/distro.tv.test.js index d8f7a018..45148b71 100644 --- a/sites/distro.tv/distro.tv.test.js +++ b/sites/distro.tv/distro.tv.test.js @@ -10,14 +10,14 @@ dayjs.extend(utc) const axios = require('axios') jest.mock('axios') -const date = dayjs.utc('2026-02-10', 'YYYY-MM-DD').startOf('d') +const date = dayjs.utc().add(1, 'd').startOf('d') const channel = { site_id: '45143' } it('can generate valid url', () => { expect(url({ channel, date })).toBe( - 'https://tv.jsrdn.com/epg/query.php?range=now,48h&id=45143,' + 'https://tv.jsrdn.com/epg/query.php?range=24h,48h&id=45143,' ) })