From 14b9f94e0a8516f96cc2e115ed767cb67260aa17 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Thu, 17 Mar 2016 14:19:39 -0400 Subject: add sat ini mappings --- .../LiveTv/LiveTvManager.cs | 35 ++++++++++++++++++++++ .../MediaBrowser.Server.Implementations.csproj | 3 ++ .../packages.config | 1 + 3 files changed, 39 insertions(+) (limited to 'MediaBrowser.Server.Implementations') diff --git a/MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs b/MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs index 6b848d0f65..e54adc0c5c 100644 --- a/MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs +++ b/MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs @@ -30,6 +30,8 @@ using System.Linq; using System.Threading; using System.Threading.Tasks; using CommonIO; +using IniParser; +using IniParser.Model; namespace MediaBrowser.Server.Implementations.LiveTv { @@ -2488,5 +2490,38 @@ namespace MediaBrowser.Server.Implementations.LiveTv IsRegistered = true }); } + + public List GetSatIniMappings() + { + var names = GetType().Assembly.GetManifestResourceNames().Where(i => i.IndexOf("SatIp.ini.satellite", StringComparison.OrdinalIgnoreCase) != -1).ToList(); + + return names.Select(GetSatIniMappings).Where(i => i != null).DistinctBy(i => i.Value.Split('|')[0]).ToList(); + } + + public NameValuePair GetSatIniMappings(string resource) + { + using (var stream = GetType().Assembly.GetManifestResourceStream(resource)) + { + using (var reader = new StreamReader(stream)) + { + var parser = new StreamIniDataParser(); + IniData data = parser.ReadData(reader); + + var satType1 = data["SATTYPE"]["1"]; + var satType2 = data["SATTYPE"]["2"]; + + if (string.IsNullOrWhiteSpace(satType2)) + { + return null; + } + + return new NameValuePair + { + Name = satType1 + " " + satType2, + Value = satType2 + "|" + Path.GetFileName(resource) + }; + } + } + } } } \ No newline at end of file diff --git a/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj b/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj index b30fb58094..5cba98c5d4 100644 --- a/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj +++ b/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj @@ -49,6 +49,9 @@ False ..\packages\Emby.XmlTv.1.0.0.48\lib\net45\Emby.XmlTv.dll + + ..\packages\ini-parser.2.2.4\lib\net20\INIFileParser.dll + ..\packages\Interfaces.IO.1.0.0.5\lib\portable-net45+sl4+wp71+win8+wpa81\Interfaces.IO.dll diff --git a/MediaBrowser.Server.Implementations/packages.config b/MediaBrowser.Server.Implementations/packages.config index 0175a44b8c..7523ccd0a8 100644 --- a/MediaBrowser.Server.Implementations/packages.config +++ b/MediaBrowser.Server.Implementations/packages.config @@ -2,6 +2,7 @@ + -- cgit v1.2.3