diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-10-20 23:41:11 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-10-20 23:41:11 -0400 |
| commit | a3d7849c268ad50f1553049124337be51fbc38a4 (patch) | |
| tree | 118f6531b07798ca57c881973daf32810ffc490c | |
| parent | df509dedb71c35d6503a46d0e87a40790d2401e6 (diff) | |
support url's after closing nfo tag
5 files changed, 58 insertions, 11 deletions
diff --git a/MediaBrowser.Common.Implementations/BaseApplicationHost.cs b/MediaBrowser.Common.Implementations/BaseApplicationHost.cs index 5a5d48ac2..a5b808226 100644 --- a/MediaBrowser.Common.Implementations/BaseApplicationHost.cs +++ b/MediaBrowser.Common.Implementations/BaseApplicationHost.cs @@ -296,6 +296,16 @@ namespace MediaBrowser.Common.Implementations logger.Info("64-Bit Process: {0}", Environment.Is64BitProcess); logger.Info("Program data path: {0}", appPaths.ProgramDataPath); + Type type = Type.GetType("Mono.Runtime"); + if (type != null) + { + MethodInfo displayName = type.GetMethod("GetDisplayName", BindingFlags.NonPublic | BindingFlags.Static); + if (displayName != null) + { + logger.Info("Mono: " + displayName.Invoke(null, null)); + } + } + logger.Info("Application Path: {0}", appPaths.ApplicationPath); logger.Info("*** When reporting issues please include the entire log file. ***".ToUpper()); diff --git a/MediaBrowser.Controller/Entities/MusicVideo.cs b/MediaBrowser.Controller/Entities/MusicVideo.cs index 307117fdd..015e4b4ae 100644 --- a/MediaBrowser.Controller/Entities/MusicVideo.cs +++ b/MediaBrowser.Controller/Entities/MusicVideo.cs @@ -47,6 +47,21 @@ namespace MediaBrowser.Controller.Entities } /// <summary> + /// TODO: Remove + /// </summary> + public string Artist + { + get { return Artists.FirstOrDefault(); } + set + { + if (!string.IsNullOrEmpty(value) && !Artists.Contains(value, StringComparer.OrdinalIgnoreCase)) + { + Artists.Add(value); + } + } + } + + /// <summary> /// Determines whether the specified name has artist. /// </summary> /// <param name="name">The name.</param> diff --git a/MediaBrowser.Dlna/DlnaManager.cs b/MediaBrowser.Dlna/DlnaManager.cs index b4519d02d..c4a79c22d 100644 --- a/MediaBrowser.Dlna/DlnaManager.cs +++ b/MediaBrowser.Dlna/DlnaManager.cs @@ -541,7 +541,6 @@ namespace MediaBrowser.Dlna public void Dispose() { - throw new NotImplementedException(); } } }
\ No newline at end of file diff --git a/MediaBrowser.Server.Implementations/Connect/ConnectEntryPoint.cs b/MediaBrowser.Server.Implementations/Connect/ConnectEntryPoint.cs index 4344ceb0a..75195c8c5 100644 --- a/MediaBrowser.Server.Implementations/Connect/ConnectEntryPoint.cs +++ b/MediaBrowser.Server.Implementations/Connect/ConnectEntryPoint.cs @@ -34,7 +34,7 @@ namespace MediaBrowser.Server.Implementations.Connect { LoadCachedAddress(); - _timer = new Timer(TimerCallback, null, TimeSpan.FromSeconds(30), TimeSpan.FromHours(12)); + _timer = new Timer(TimerCallback, null, TimeSpan.FromSeconds(10), TimeSpan.FromHours(12)); } private async void TimerCallback(object state) diff --git a/MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs b/MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs index 2f2973130..7c336f6d7 100644 --- a/MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs +++ b/MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs @@ -1,4 +1,6 @@ -using MediaBrowser.Common.Configuration; +using System.IO; +using System.Text; +using MediaBrowser.Common.Configuration; using MediaBrowser.Controller.Entities; using MediaBrowser.Model.Entities; using MediaBrowser.Model.Logging; @@ -79,21 +81,42 @@ namespace MediaBrowser.XbmcMetadata.Parsers { using (var streamReader = BaseNfoSaver.GetStreamReader(metadataFile)) { - // Use XmlReader for best performance - using (var reader = XmlReader.Create(streamReader, settings)) + // Need to handle a url after the xml data + // http://kodi.wiki/view/NFO_files/movies + + var xml = streamReader.ReadToEnd(); + + var index = xml.LastIndexOf('>'); + + if (index != -1) + { + xml = xml.Substring(0, index + 1); + } + + using (var ms = new MemoryStream()) { - reader.MoveToContent(); + var bytes = Encoding.UTF8.GetBytes(xml); - // Loop through each element - while (reader.Read()) + ms.Write(bytes, 0, bytes.Length); + ms.Position = 0; + + // Use XmlReader for best performance + using (var reader = XmlReader.Create(ms, settings)) { - cancellationToken.ThrowIfCancellationRequested(); + reader.MoveToContent(); - if (reader.NodeType == XmlNodeType.Element) + // Loop through each element + while (reader.Read()) { - FetchDataFromXmlNode(reader, item, userDataList); + cancellationToken.ThrowIfCancellationRequested(); + + if (reader.NodeType == XmlNodeType.Element) + { + FetchDataFromXmlNode(reader, item, userDataList); + } } } + } } } |
