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(),
});
}
}