add sat ini mappings

This commit is contained in:
Luke Pulverenti
2016-03-17 14:19:39 -04:00
parent 86a8c0805f
commit 14b9f94e0a
5 changed files with 57 additions and 0 deletions

View File

@@ -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<NameValuePair> 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)
};
}
}
}
}
}