diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-08-26 23:25:39 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-08-26 23:25:39 -0400 |
| commit | 809e4629c09821e7373bff79e0d0be86df11ce2c (patch) | |
| tree | ed735029b8cecc448df9e553b0d40e9c84d4c2de /MediaBrowser.Controller/Resolvers/EntityResolutionHelper.cs | |
| parent | 6780e146a0bbea7065f478f957642a8ce50a6643 (diff) | |
update translations
Diffstat (limited to 'MediaBrowser.Controller/Resolvers/EntityResolutionHelper.cs')
| -rw-r--r-- | MediaBrowser.Controller/Resolvers/EntityResolutionHelper.cs | 41 |
1 files changed, 40 insertions, 1 deletions
diff --git a/MediaBrowser.Controller/Resolvers/EntityResolutionHelper.cs b/MediaBrowser.Controller/Resolvers/EntityResolutionHelper.cs index ff94ceff3..7c68448e5 100644 --- a/MediaBrowser.Controller/Resolvers/EntityResolutionHelper.cs +++ b/MediaBrowser.Controller/Resolvers/EntityResolutionHelper.cs @@ -1,4 +1,5 @@ -using MediaBrowser.Common.IO; +using System.Globalization; +using MediaBrowser.Common.IO; using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Library; using System; @@ -189,6 +190,44 @@ namespace MediaBrowser.Controller.Resolvers } /// <summary> + /// Determines whether [is multi disc album folder] [the specified path]. + /// </summary> + /// <param name="path">The path.</param> + /// <returns><c>true</c> if [is multi disc album folder] [the specified path]; otherwise, <c>false</c>.</returns> + public static bool IsMultiDiscAlbumFolder(string path) + { + var filename = Path.GetFileName(path); + + if (string.IsNullOrWhiteSpace(filename)) + { + return false; + } + + // Normalize + // Remove whitespace + filename = filename.Replace("-", string.Empty); + filename = Regex.Replace(filename, @"\s+", ""); + + var prefixes = new[] { "disc", "cd", "disk" }; + + foreach (var prefix in prefixes) + { + if (filename.IndexOf(prefix, StringComparison.OrdinalIgnoreCase) == 0) + { + var tmp = filename.Substring(prefix.Length); + + int val; + if (int.TryParse(tmp, NumberStyles.Any, CultureInfo.InvariantCulture, out val)) + { + return true; + } + } + } + + return false; + } + + /// <summary> /// Ensures DateCreated and DateModified have values /// </summary> /// <param name="fileSystem">The file system.</param> |
