Bond_009 4 лет назад
Родитель
Сommit
aa76957338

+ 1 - 1
Emby.Dlna/ConnectionManager/ControlHandler.cs

@@ -31,7 +31,7 @@ namespace Emby.Dlna.ConnectionManager
         }
         }
 
 
         /// <inheritdoc />
         /// <inheritdoc />
-        protected override void WriteResult(string methodName, IDictionary<string, string> methodParams, XmlWriter xmlWriter)
+        protected override void WriteResult(string methodName, IReadOnlyDictionary<string, string> methodParams, XmlWriter xmlWriter)
         {
         {
             if (string.Equals(methodName, "GetProtocolInfo", StringComparison.OrdinalIgnoreCase))
             if (string.Equals(methodName, "GetProtocolInfo", StringComparison.OrdinalIgnoreCase))
             {
             {

+ 14 - 31
Emby.Dlna/ContentDirectory/ControlHandler.cs

@@ -121,7 +121,7 @@ namespace Emby.Dlna.ContentDirectory
         }
         }
 
 
         /// <inheritdoc />
         /// <inheritdoc />
-        protected override void WriteResult(string methodName, IDictionary<string, string> methodParams, XmlWriter xmlWriter)
+        protected override void WriteResult(string methodName, IReadOnlyDictionary<string, string> methodParams, XmlWriter xmlWriter)
         {
         {
             if (xmlWriter == null)
             if (xmlWriter == null)
             {
             {
@@ -201,8 +201,8 @@ namespace Emby.Dlna.ContentDirectory
         /// <summary>
         /// <summary>
         /// Adds a "XSetBookmark" element to the xml document.
         /// Adds a "XSetBookmark" element to the xml document.
         /// </summary>
         /// </summary>
-        /// <param name="sparams">The <see cref="IDictionary"/>.</param>
-        private void HandleXSetBookmark(IDictionary<string, string> sparams)
+        /// <param name="sparams">The method parameters.</param>
+        private void HandleXSetBookmark(IReadOnlyDictionary<string, string> sparams)
         {
         {
             var id = sparams["ObjectID"];
             var id = sparams["ObjectID"];
 
 
@@ -305,35 +305,18 @@ namespace Emby.Dlna.ContentDirectory
             return builder.ToString();
             return builder.ToString();
         }
         }
 
 
-        /// <summary>
-        /// Returns the value in the key of the dictionary, or defaultValue if it doesn't exist.
-        /// </summary>
-        /// <param name="sparams">The <see cref="IDictionary"/>.</param>
-        /// <param name="key">The key.</param>
-        /// <param name="defaultValue">The defaultValue.</param>
-        /// <returns>The <see cref="string"/>.</returns>
-        public static string GetValueOrDefault(IDictionary<string, string> sparams, string key, string defaultValue)
-        {
-            if (sparams != null && sparams.TryGetValue(key, out string val))
-            {
-                return val;
-            }
-
-            return defaultValue;
-        }
-
         /// <summary>
         /// <summary>
         /// Builds the "Browse" xml response.
         /// Builds the "Browse" xml response.
         /// </summary>
         /// </summary>
         /// <param name="xmlWriter">The <see cref="XmlWriter"/>.</param>
         /// <param name="xmlWriter">The <see cref="XmlWriter"/>.</param>
-        /// <param name="sparams">The <see cref="IDictionary"/>.</param>
+        /// <param name="sparams">The method parameters.</param>
         /// <param name="deviceId">The device Id to use.</param>
         /// <param name="deviceId">The device Id to use.</param>
-        private void HandleBrowse(XmlWriter xmlWriter, IDictionary<string, string> sparams, string deviceId)
+        private void HandleBrowse(XmlWriter xmlWriter, IReadOnlyDictionary<string, string> sparams, string deviceId)
         {
         {
             var id = sparams["ObjectID"];
             var id = sparams["ObjectID"];
             var flag = sparams["BrowseFlag"];
             var flag = sparams["BrowseFlag"];
-            var filter = new Filter(GetValueOrDefault(sparams, "Filter", "*"));
-            var sortCriteria = new SortCriteria(GetValueOrDefault(sparams, "SortCriteria", string.Empty));
+            var filter = new Filter(sparams.GetValueOrDefault("Filter", "*"));
+            var sortCriteria = new SortCriteria(sparams.GetValueOrDefault("SortCriteria", string.Empty));
 
 
             var provided = 0;
             var provided = 0;
 
 
@@ -435,9 +418,9 @@ namespace Emby.Dlna.ContentDirectory
         /// Builds the response to the "X_BrowseByLetter request.
         /// Builds the response to the "X_BrowseByLetter request.
         /// </summary>
         /// </summary>
         /// <param name="xmlWriter">The <see cref="XmlWriter"/>.</param>
         /// <param name="xmlWriter">The <see cref="XmlWriter"/>.</param>
-        /// <param name="sparams">The <see cref="IDictionary"/>.</param>
+        /// <param name="sparams">The method parameters.</param>
         /// <param name="deviceId">The device id.</param>
         /// <param name="deviceId">The device id.</param>
-        private void HandleXBrowseByLetter(XmlWriter xmlWriter, IDictionary<string, string> sparams, string deviceId)
+        private void HandleXBrowseByLetter(XmlWriter xmlWriter, IReadOnlyDictionary<string, string> sparams, string deviceId)
         {
         {
             // TODO: Implement this method
             // TODO: Implement this method
             HandleSearch(xmlWriter, sparams, deviceId);
             HandleSearch(xmlWriter, sparams, deviceId);
@@ -447,13 +430,13 @@ namespace Emby.Dlna.ContentDirectory
         /// Builds a response to the "Search" request.
         /// Builds a response to the "Search" request.
         /// </summary>
         /// </summary>
         /// <param name="xmlWriter">The xmlWriter<see cref="XmlWriter"/>.</param>
         /// <param name="xmlWriter">The xmlWriter<see cref="XmlWriter"/>.</param>
-        /// <param name="sparams">The sparams<see cref="IDictionary"/>.</param>
+        /// <param name="sparams">The method parameters.</param>
         /// <param name="deviceId">The deviceId<see cref="string"/>.</param>
         /// <param name="deviceId">The deviceId<see cref="string"/>.</param>
-        private void HandleSearch(XmlWriter xmlWriter, IDictionary<string, string> sparams, string deviceId)
+        private void HandleSearch(XmlWriter xmlWriter, IReadOnlyDictionary<string, string> sparams, string deviceId)
         {
         {
-            var searchCriteria = new SearchCriteria(GetValueOrDefault(sparams, "SearchCriteria", string.Empty));
-            var sortCriteria = new SortCriteria(GetValueOrDefault(sparams, "SortCriteria", string.Empty));
-            var filter = new Filter(GetValueOrDefault(sparams, "Filter", "*"));
+            var searchCriteria = new SearchCriteria(sparams.GetValueOrDefault("SearchCriteria", string.Empty));
+            var sortCriteria = new SortCriteria(sparams.GetValueOrDefault("SortCriteria", string.Empty));
+            var filter = new Filter(sparams.GetValueOrDefault("Filter", "*"));
 
 
             // sort example: dc:title, dc:date
             // sort example: dc:title, dc:date
 
 

+ 1 - 1
Emby.Dlna/MediaReceiverRegistrar/ControlHandler.cs

@@ -24,7 +24,7 @@ namespace Emby.Dlna.MediaReceiverRegistrar
         }
         }
 
 
         /// <inheritdoc />
         /// <inheritdoc />
-        protected override void WriteResult(string methodName, IDictionary<string, string> methodParams, XmlWriter xmlWriter)
+        protected override void WriteResult(string methodName, IReadOnlyDictionary<string, string> methodParams, XmlWriter xmlWriter)
         {
         {
             if (string.Equals(methodName, "IsAuthorized", StringComparison.OrdinalIgnoreCase))
             if (string.Equals(methodName, "IsAuthorized", StringComparison.OrdinalIgnoreCase))
             {
             {

+ 1 - 1
Emby.Dlna/Service/BaseControlHandler.cs

@@ -210,7 +210,7 @@ namespace Emby.Dlna.Service
             }
             }
         }
         }
 
 
-        protected abstract void WriteResult(string methodName, IDictionary<string, string> methodParams, XmlWriter xmlWriter);
+        protected abstract void WriteResult(string methodName, IReadOnlyDictionary<string, string> methodParams, XmlWriter xmlWriter);
 
 
         private void LogRequest(ControlRequest request)
         private void LogRequest(ControlRequest request)
         {
         {

+ 2 - 20
Emby.Server.Implementations/Library/Resolvers/TV/SeriesResolver.cs

@@ -127,7 +127,7 @@ namespace Emby.Server.Implementations.Library.Resolvers.TV
             {
             {
                 if (child.IsDirectory)
                 if (child.IsDirectory)
                 {
                 {
-                    if (IsSeasonFolder(child.FullName, isTvContentType, libraryManager))
+                    if (IsSeasonFolder(child.FullName, isTvContentType))
                     {
                     {
                         logger.LogDebug("{Path} is a series because of season folder {Dir}.", path, child.FullName);
                         logger.LogDebug("{Path} is a series because of season folder {Dir}.", path, child.FullName);
                         return true;
                         return true;
@@ -160,24 +160,6 @@ namespace Emby.Server.Implementations.Library.Resolvers.TV
             return false;
             return false;
         }
         }
 
 
-        /// <summary>
-        /// Determines whether [is place holder] [the specified path].
-        /// </summary>
-        /// <param name="path">The path.</param>
-        /// <returns><c>true</c> if [is place holder] [the specified path]; otherwise, <c>false</c>.</returns>
-        /// <exception cref="ArgumentNullException">path</exception>
-        private static bool IsVideoPlaceHolder(string path)
-        {
-            if (string.IsNullOrEmpty(path))
-            {
-                throw new ArgumentNullException(nameof(path));
-            }
-
-            var extension = Path.GetExtension(path);
-
-            return string.Equals(extension, ".disc", StringComparison.OrdinalIgnoreCase);
-        }
-
         /// <summary>
         /// <summary>
         /// Determines whether [is season folder] [the specified path].
         /// Determines whether [is season folder] [the specified path].
         /// </summary>
         /// </summary>
@@ -185,7 +167,7 @@ namespace Emby.Server.Implementations.Library.Resolvers.TV
         /// <param name="isTvContentType">if set to <c>true</c> [is tv content type].</param>
         /// <param name="isTvContentType">if set to <c>true</c> [is tv content type].</param>
         /// <param name="libraryManager">The library manager.</param>
         /// <param name="libraryManager">The library manager.</param>
         /// <returns><c>true</c> if [is season folder] [the specified path]; otherwise, <c>false</c>.</returns>
         /// <returns><c>true</c> if [is season folder] [the specified path]; otherwise, <c>false</c>.</returns>
-        private static bool IsSeasonFolder(string path, bool isTvContentType, ILibraryManager libraryManager)
+        private static bool IsSeasonFolder(string path, bool isTvContentType)
         {
         {
             var seasonNumber = SeasonPathParser.Parse(path, isTvContentType, isTvContentType).SeasonNumber;
             var seasonNumber = SeasonPathParser.Parse(path, isTvContentType, isTvContentType).SeasonNumber;
 
 

+ 16 - 27
Emby.Server.Implementations/LiveTv/EmbyTV/EpgChannelData.cs

@@ -9,55 +9,44 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV
 
 
     internal class EpgChannelData
     internal class EpgChannelData
     {
     {
+
+        private readonly Dictionary<string, ChannelInfo> _channelsById;
+
+        private readonly Dictionary<string, ChannelInfo> _channelsByNumber;
+
+        private readonly Dictionary<string, ChannelInfo> _channelsByName;
+
         public EpgChannelData(IEnumerable<ChannelInfo> channels)
         public EpgChannelData(IEnumerable<ChannelInfo> channels)
         {
         {
-            ChannelsById = new Dictionary<string, ChannelInfo>(StringComparer.OrdinalIgnoreCase);
-            ChannelsByNumber = new Dictionary<string, ChannelInfo>(StringComparer.OrdinalIgnoreCase);
-            ChannelsByName = new Dictionary<string, ChannelInfo>(StringComparer.OrdinalIgnoreCase);
+            _channelsById = new Dictionary<string, ChannelInfo>(StringComparer.OrdinalIgnoreCase);
+            _channelsByNumber = new Dictionary<string, ChannelInfo>(StringComparer.OrdinalIgnoreCase);
+            _channelsByName = new Dictionary<string, ChannelInfo>(StringComparer.OrdinalIgnoreCase);
 
 
             foreach (var channel in channels)
             foreach (var channel in channels)
             {
             {
-                ChannelsById[channel.Id] = channel;
+                _channelsById[channel.Id] = channel;
 
 
                 if (!string.IsNullOrEmpty(channel.Number))
                 if (!string.IsNullOrEmpty(channel.Number))
                 {
                 {
-                    ChannelsByNumber[channel.Number] = channel;
+                    _channelsByNumber[channel.Number] = channel;
                 }
                 }
 
 
                 var normalizedName = NormalizeName(channel.Name ?? string.Empty);
                 var normalizedName = NormalizeName(channel.Name ?? string.Empty);
                 if (!string.IsNullOrWhiteSpace(normalizedName))
                 if (!string.IsNullOrWhiteSpace(normalizedName))
                 {
                 {
-                    ChannelsByName[normalizedName] = channel;
+                    _channelsByName[normalizedName] = channel;
                 }
                 }
             }
             }
         }
         }
 
 
-        private Dictionary<string, ChannelInfo> ChannelsById { get; set; }
-
-        private Dictionary<string, ChannelInfo> ChannelsByNumber { get; set; }
-
-        private Dictionary<string, ChannelInfo> ChannelsByName { get; set; }
-
         public ChannelInfo GetChannelById(string id)
         public ChannelInfo GetChannelById(string id)
-        {
-            ChannelsById.TryGetValue(id, out var result);
-
-            return result;
-        }
+            => _channelsById.GetValueOrDefault(id);
 
 
         public ChannelInfo GetChannelByNumber(string number)
         public ChannelInfo GetChannelByNumber(string number)
-        {
-            ChannelsByNumber.TryGetValue(number, out var result);
-
-            return result;
-        }
+            => _channelsByNumber.GetValueOrDefault(number);
 
 
         public ChannelInfo GetChannelByName(string name)
         public ChannelInfo GetChannelByName(string name)
-        {
-            ChannelsByName.TryGetValue(name, out var result);
-
-            return result;
-        }
+            => _channelsByName.GetValueOrDefault(name);
 
 
         public static string NormalizeName(string value)
         public static string NormalizeName(string value)
         {
         {