diff --git a/README.md b/README.md index aa35d1e..6cade69 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@

-Current version: **2.0.18** +Current version: **2.0.19** # About This takes ESPN/ESPN+, FOX Sports, 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), [Channels](https://getchannels.com), or [xTeVe](https://github.com/xteve-project/xTeVe). diff --git a/package-lock.json b/package-lock.json index b40c62f..10a9e5b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "eplustv", - "version": "2.0.18", + "version": "2.0.19", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "eplustv", - "version": "2.0.18", + "version": "2.0.19", "license": "MIT", "dependencies": { "axios": "^1.2.2", diff --git a/package.json b/package.json index 7adadfd..80c1508 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "eplustv", - "version": "2.0.18", + "version": "2.0.19", "description": "", "scripts": { "start": "ts-node index.ts", diff --git a/services/espn-handler.ts b/services/espn-handler.ts index ca233ce..23c54d8 100644 --- a/services/espn-handler.ts +++ b/services/espn-handler.ts @@ -266,6 +266,7 @@ const parseAirings = async events => { const entryExists = await db.entries.findOne({id: event.id}); if (!entryExists) { + const start = moment(event.startDateTime); const end = moment(event.startDateTime).add(event.duration, 'seconds').add(1, 'hour'); if (end.isBefore(now)) { @@ -276,7 +277,7 @@ const parseAirings = async events => { await db.entries.insert({ categories: parseCategories(event), - duration: event.duration, + duration: end.diff(start, 'seconds'), end: end.valueOf(), feed: event.feedName, from: 'espn', @@ -285,7 +286,7 @@ const parseAirings = async events => { name: event.name, network: event.network?.name || 'ESPN+', sport: event.subcategory?.name, - start: new Date(event.startDateTime).valueOf(), + start: start.valueOf(), url: event.source?.url, }); } diff --git a/services/fox-handler.ts b/services/fox-handler.ts index bdbae38..30f9fa4 100644 --- a/services/fox-handler.ts +++ b/services/fox-handler.ts @@ -112,6 +112,7 @@ const parseAirings = async (events: IFoxEvent[]) => { const entryExists = await db.entries.findOne({id: event.id}); if (!entryExists) { + const start = moment(event.startDate); const end = moment(event.endDate).add(1, 'hour'); if (end.isBefore(now)) { @@ -122,14 +123,14 @@ const parseAirings = async (events: IFoxEvent[]) => { await db.entries.insert({ categories: parseCategories(event), - duration: end.diff(moment(event.startDate), 'seconds'), + duration: end.diff(start, 'seconds'), end: end.valueOf(), from: 'foxsports', id: event.id, image: event.images.logo?.FHD || event.images.seriesDetail?.FHD, name: event.name, network: event.callSign, - start: new Date(event.startDate).valueOf(), + start: start.valueOf(), }); } } diff --git a/services/mlb-handler.ts b/services/mlb-handler.ts index 4b86847..1297030 100644 --- a/services/mlb-handler.ts +++ b/services/mlb-handler.ts @@ -200,6 +200,7 @@ const parseAirings = async (events: IGame[]) => { continue; } + const start = moment(event.gameDate); const end = moment(event.gameDate).add(5, 'hours'); if (end.isBefore(now)) { @@ -212,14 +213,15 @@ const parseAirings = async (events: IGame[]) => { await db.entries.insert({ categories: ['Baseball', 'MLB', event.teams.home.team.name, event.teams.away.team.name], - duration: 60 * 60 * 5, + duration: end.diff(start, 'seconds'), end: end.valueOf(), from: 'mlbtv', id: item.contentId, image: generateThumb(event.teams.home, event.teams.away), name: gameName, network: item.callLetters, - start: new Date(event.gameDate).valueOf(), + sport: 'MLB', + start: start.valueOf(), }); } }