aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/Resolvers/EntityResolutionHelper.cs
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2014-08-26 23:25:39 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2014-08-26 23:25:39 -0400
commit809e4629c09821e7373bff79e0d0be86df11ce2c (patch)
treeed735029b8cecc448df9e553b0d40e9c84d4c2de /MediaBrowser.Controller/Resolvers/EntityResolutionHelper.cs
parent6780e146a0bbea7065f478f957642a8ce50a6643 (diff)
update translations
Diffstat (limited to 'MediaBrowser.Controller/Resolvers/EntityResolutionHelper.cs')
-rw-r--r--MediaBrowser.Controller/Resolvers/EntityResolutionHelper.cs41
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>