aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/LiveTv/LiveTvProgram.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Controller/LiveTv/LiveTvProgram.cs')
-rw-r--r--MediaBrowser.Controller/LiveTv/LiveTvProgram.cs39
1 files changed, 38 insertions, 1 deletions
diff --git a/MediaBrowser.Controller/LiveTv/LiveTvProgram.cs b/MediaBrowser.Controller/LiveTv/LiveTvProgram.cs
index c7f47b825..ffb6a7555 100644
--- a/MediaBrowser.Controller/LiveTv/LiveTvProgram.cs
+++ b/MediaBrowser.Controller/LiveTv/LiveTvProgram.cs
@@ -4,9 +4,12 @@ using MediaBrowser.Model.Configuration;
using MediaBrowser.Model.LiveTv;
using System;
using System.Collections.Generic;
-using System.Runtime.Serialization;
+using System.Linq;
+using MediaBrowser.Common.Configuration;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Providers;
+using MediaBrowser.Model.Serialization;
+using MediaBrowser.Model.Extensions;
namespace MediaBrowser.Controller.LiveTv
{
@@ -236,6 +239,40 @@ namespace MediaBrowser.Controller.LiveTv
}
}
+ private LiveTvOptions GetConfiguration()
+ {
+ return ConfigurationManager.GetConfiguration<LiveTvOptions>("livetv");
+ }
+
+ private ListingsProviderInfo GetListingsProviderInfo()
+ {
+ if (string.Equals(ServiceName, "Emby", StringComparison.OrdinalIgnoreCase))
+ {
+ var config = GetConfiguration();
+
+ return config.ListingProviders.FirstOrDefault(i => !string.IsNullOrWhiteSpace(i.MoviePrefix));
+ }
+
+ return null;
+ }
+
+ protected override string GetNameForMetadataLookup()
+ {
+ var name = base.GetNameForMetadataLookup();
+
+ var listings = GetListingsProviderInfo();
+
+ if (listings != null)
+ {
+ if (!string.IsNullOrWhiteSpace(listings.MoviePrefix) && name.StartsWith(listings.MoviePrefix, StringComparison.OrdinalIgnoreCase))
+ {
+ name = name.Substring(listings.MoviePrefix.Length).Trim();
+ }
+ }
+
+ return name;
+ }
+
public override List<ExternalUrl> GetRelatedUrls()
{
var list = base.GetRelatedUrls();