From 9d69352fcfe7320bb6fa4c3297fd4f993f3c8de8 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Wed, 20 Sep 2017 02:29:38 -0400 Subject: [PATCH 1/3] fixes #2891 - New Season ... popups repeatedly --- Emby.Server.Implementations/Data/SqliteItemRepository.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Emby.Server.Implementations/Data/SqliteItemRepository.cs b/Emby.Server.Implementations/Data/SqliteItemRepository.cs index 2186982d3e..89ffb0fce3 100644 --- a/Emby.Server.Implementations/Data/SqliteItemRepository.cs +++ b/Emby.Server.Implementations/Data/SqliteItemRepository.cs @@ -4410,7 +4410,7 @@ namespace Emby.Server.Implementations.Data index++; } - whereClauses.Add(string.Join(" OR ", includeIds.ToArray())); + whereClauses.Add("(" + string.Join(" OR ", includeIds.ToArray()) + ")"); } if (query.ExcludeItemIds.Length > 0) { From 7cebc1f007df16305643887a2af07bfb247f8f91 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Wed, 20 Sep 2017 02:58:08 -0400 Subject: [PATCH 2/3] fixes #2376 - Movieset format changed in Kodi v16 - Emby fails on importing nfos with this tags --- .../Parsers/MovieNfoParser.cs | 73 ++++++++++++++++++- 1 file changed, 72 insertions(+), 1 deletion(-) diff --git a/MediaBrowser.XbmcMetadata/Parsers/MovieNfoParser.cs b/MediaBrowser.XbmcMetadata/Parsers/MovieNfoParser.cs index 85f9f92baa..0283e4a7b7 100644 --- a/MediaBrowser.XbmcMetadata/Parsers/MovieNfoParser.cs +++ b/MediaBrowser.XbmcMetadata/Parsers/MovieNfoParser.cs @@ -1,4 +1,7 @@ -using System.Linq; +using System; +using System.IO; +using System.Linq; +using System.Text; using MediaBrowser.Common.Configuration; using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Entities.Movies; @@ -70,6 +73,17 @@ namespace MediaBrowser.XbmcMetadata.Parsers { movie.CollectionName = val; } + else + { + try + { + ParseSetXml(val, movie); + } + catch (Exception ex) + { + Logger.ErrorException("Error parsing set node", ex); + } + } } break; @@ -109,6 +123,63 @@ namespace MediaBrowser.XbmcMetadata.Parsers } } + private void ParseSetXml(string xml, Movie movie) + { + using (var ms = new MemoryStream()) + { + //xml = xml.Substring(xml.IndexOf('<')); + //xml = xml.Substring(0, xml.LastIndexOf('>')); + xml = "" + xml + ""; + + var bytes = Encoding.UTF8.GetBytes(xml); + + ms.Write(bytes, 0, bytes.Length); + ms.Position = 0; + + // These are not going to be valid xml so no sense in causing the provider to fail and spamming the log with exceptions + try + { + var settings = XmlReaderSettingsFactory.Create(false); + + settings.CheckCharacters = false; + settings.IgnoreProcessingInstructions = true; + settings.IgnoreComments = true; + + // Use XmlReader for best performance + using (var reader = XmlReader.Create(ms, settings)) + { + reader.MoveToContent(); + reader.Read(); + + // Loop through each element + while (!reader.EOF && reader.ReadState == ReadState.Interactive) + { + if (reader.NodeType == XmlNodeType.Element) + { + switch (reader.Name) + { + case "name": + movie.CollectionName = reader.ReadElementContentAsString(); + break; + default: + reader.Skip(); + break; + } + } + else + { + reader.Read(); + } + } + } + } + catch (XmlException) + { + + } + } + } + public MovieNfoParser(ILogger logger, IConfigurationManager config, IProviderManager providerManager, IFileSystem fileSystem, IXmlReaderSettingsFactory xmlReaderSettingsFactory) : base(logger, config, providerManager, fileSystem, xmlReaderSettingsFactory) { } From 07751895a18380b48e6cdfb2ad5b1bfc14cb5b5b Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Wed, 20 Sep 2017 03:13:06 -0400 Subject: [PATCH 3/3] 3.2.30.27 --- Emby.Server.Implementations/ApplicationHost.cs | 14 ++++++++------ MediaBrowser.Controller/LiveTv/LiveTvProgram.cs | 4 +++- SharedVersion.cs | 2 +- 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/Emby.Server.Implementations/ApplicationHost.cs b/Emby.Server.Implementations/ApplicationHost.cs index 59f521eb58..713ece4211 100644 --- a/Emby.Server.Implementations/ApplicationHost.cs +++ b/Emby.Server.Implementations/ApplicationHost.cs @@ -2206,17 +2206,19 @@ namespace Emby.Server.Implementations /// Task{CheckForUpdateResult}. public async Task CheckForApplicationUpdate(CancellationToken cancellationToken, IProgress progress) { - var cacheLength = TimeSpan.FromMinutes(5); var updateLevel = SystemUpdateLevel; + var cacheLength = updateLevel == PackageVersionClass.Release ? + TimeSpan.FromHours(4) : + TimeSpan.FromMinutes(5); - var result = await new GithubUpdater(HttpClient, JsonSerializer).CheckForUpdateResult("MediaBrowser", - "Emby", - ApplicationVersion, + var result = await new GithubUpdater(HttpClient, JsonSerializer).CheckForUpdateResult("MediaBrowser", + "Emby", + ApplicationVersion, updateLevel, ReleaseAssetFilename, "MBServer", - UpdateTargetFileName, - cacheLength, + UpdateTargetFileName, + cacheLength, cancellationToken).ConfigureAwait(false); HasUpdateAvailable = result.IsUpdateAvailable; diff --git a/MediaBrowser.Controller/LiveTv/LiveTvProgram.cs b/MediaBrowser.Controller/LiveTv/LiveTvProgram.cs index 5449e59a2e..1c16373306 100644 --- a/MediaBrowser.Controller/LiveTv/LiveTvProgram.cs +++ b/MediaBrowser.Controller/LiveTv/LiveTvProgram.cs @@ -50,7 +50,9 @@ namespace MediaBrowser.Controller.LiveTv public static double? GetDefaultPrimaryImageAspectRatio(IHasProgramAttributes item) { var serviceName = item.ServiceName; - if (!item.IsMovie && !string.Equals(serviceName, EmbyServiceName, StringComparison.OrdinalIgnoreCase)) + if (!item.IsMovie + && !string.Equals(serviceName, EmbyServiceName, StringComparison.OrdinalIgnoreCase) + && !string.Equals(serviceName, "Next Pvr", StringComparison.OrdinalIgnoreCase)) { double value = 16; value /= 9; diff --git a/SharedVersion.cs b/SharedVersion.cs index 016e036f84..841d2968c3 100644 --- a/SharedVersion.cs +++ b/SharedVersion.cs @@ -1,3 +1,3 @@ using System.Reflection; -[assembly: AssemblyVersion("3.2.30.26")] +[assembly: AssemblyVersion("3.2.30.27")]