From 920b772000ba82a0f712220d42720cfb44147181 Mon Sep 17 00:00:00 2001 From: Joe Ipson Date: Tue, 16 Jan 2024 09:19:22 -0700 Subject: [PATCH] Added Pre-Game events for MSG+ --- README.md | 2 +- package-lock.json | 4 ++-- package.json | 2 +- services/msg-handler.ts | 9 +++++++-- 4 files changed, 11 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 4736669..b55a472 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@

-Current version: **2.1.4** +Current version: **2.1.5** # About This takes ESPN/ESPN+, FOX Sports, Paramount+, MSG+, and MLB.tv programming and transforms it into a "live TV" experience with virtual linear channels. It will discover what is on, and generate a schedule of channels that will give you M3U and XMLTV files that you can import into something like [Jellyfin](https://jellyfin.org) or [Channels](https://getchannels.com). diff --git a/package-lock.json b/package-lock.json index 2bdd4da..04b3523 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "eplustv", - "version": "2.1.4", + "version": "2.1.5", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "eplustv", - "version": "2.1.4", + "version": "2.1.5", "license": "MIT", "dependencies": { "axios": "^1.2.2", diff --git a/package.json b/package.json index f6152c4..f3fc8de 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "eplustv", - "version": "2.1.4", + "version": "2.1.5", "description": "", "scripts": { "start": "ts-node index.ts", diff --git a/services/msg-handler.ts b/services/msg-handler.ts index b55d327..f64d8bf 100644 --- a/services/msg-handler.ts +++ b/services/msg-handler.ts @@ -109,7 +109,12 @@ const parseAirings = async (events: any[]) => { if (!entryExists) { const start = moment(event.start); - const end = moment(event.end).add(1, 'hour'); + let end: moment.Moment = moment(event.end); + + // Don't extend pre-game shows by an hour + if (!(event.title as string).endsWith(' Pre Game')) { + end = moment(event.end).add(1, 'hour'); + } if (end.isBefore(now) || start.isAfter(inTwoDays)) { continue; @@ -237,7 +242,7 @@ class MSGHandler { (data.data || []).forEach(channel => { (channel.airing || []).forEach(airing => { - if (airing.ev_live === 'true' && airing.ca_ty === 'game') { + if (airing.ev_live === 'true' && (airing.ca_ty === 'game' || airing.ca_ty === 'pregame')) { entries.push({ artwork: `https://image-resizer-cloud-cdn.api.msgncms.quickplay.com/image/${airing.cid}/3-16x9.png?width=400`, categories: ['MSG', 'MSG+', 'HD', 'Sports', airing?.pgm?.spt_lg, airing?.pgm?.spt_ty],