aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2017-01-13 23:31:43 -0500
committerLuke Pulverenti <luke.pulverenti@gmail.com>2017-01-13 23:31:43 -0500
commit4a73875ef3e5f754c27e2682548f0249fc88e480 (patch)
treea236289699da9e90815789db46f115bc3689f940
parent4ad2f541936d8795eff0a990c2dc6ba9c61d8c4d (diff)
update m3u parser
-rw-r--r--Emby.Server.Implementations/LiveTv/TunerHosts/M3uParser.cs25
1 files changed, 16 insertions, 9 deletions
diff --git a/Emby.Server.Implementations/LiveTv/TunerHosts/M3uParser.cs b/Emby.Server.Implementations/LiveTv/TunerHosts/M3uParser.cs
index 9351922a4..5be94b507 100644
--- a/Emby.Server.Implementations/LiveTv/TunerHosts/M3uParser.cs
+++ b/Emby.Server.Implementations/LiveTv/TunerHosts/M3uParser.cs
@@ -135,17 +135,20 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts
string numberString = null;
- //Check for channel number with the format from SatIp
+ // Check for channel number with the format from SatIp
// #EXTINF:0,84. VOX Schweiz
+ // #EXTINF:0,84.0 - VOX Schweiz
if (!string.IsNullOrWhiteSpace(nameInExtInf))
{
- var numberIndex = nameInExtInf.IndexOf('.');
+ var numberIndex = nameInExtInf.IndexOf(' ');
if (numberIndex > 0)
{
+ var numberPart = nameInExtInf.Substring(0, numberIndex).Trim(new[] { ' ', '.' });
+
double number;
- if (double.TryParse(nameInExtInf.Substring(0, numberIndex), NumberStyles.AllowCurrencySymbol, CultureInfo.InvariantCulture, out number))
+ if (double.TryParse(numberPart, NumberStyles.Any, CultureInfo.InvariantCulture, out number))
{
- numberString = number.ToString();
+ numberString = numberPart;
}
}
}
@@ -163,7 +166,7 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts
if (attributes.TryGetValue("tvg-id", out value))
{
double doubleValue;
- if (double.TryParse(value, NumberStyles.AllowCurrencySymbol, CultureInfo.InvariantCulture, out doubleValue))
+ if (double.TryParse(value, NumberStyles.Any, CultureInfo.InvariantCulture, out doubleValue))
{
numberString = value;
}
@@ -224,17 +227,21 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts
var nameParts = extInf.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
var nameInExtInf = nameParts.Length > 1 ? nameParts.Last().Trim() : null;
- //Check for channel number with the format from SatIp
+ // Check for channel number with the format from SatIp
+ // #EXTINF:0,84. VOX Schweiz
+ // #EXTINF:0,84.0 - VOX Schweiz
if (!string.IsNullOrWhiteSpace(nameInExtInf))
{
- var numberIndex = nameInExtInf.IndexOf('.');
+ var numberIndex = nameInExtInf.IndexOf(' ');
if (numberIndex > 0)
{
+ var numberPart = nameInExtInf.Substring(0, numberIndex).Trim(new[] { ' ', '.' });
+
double number;
- if (double.TryParse(nameInExtInf.Substring(0, numberIndex), NumberStyles.AllowCurrencySymbol, CultureInfo.InvariantCulture, out number))
+ if (double.TryParse(numberPart, NumberStyles.Any, CultureInfo.InvariantCulture, out number))
{
//channel.Number = number.ToString();
- nameInExtInf = nameInExtInf.Substring(numberIndex + 1).Trim();
+ nameInExtInf = nameInExtInf.Substring(numberIndex + 1).Trim(new[] { ' ', '-' });
}
}
}