aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--MediaBrowser.Common/Extensions/BaseExtensions.cs33
-rw-r--r--MediaBrowser.Controller/Entities/Folder.cs2
-rw-r--r--MediaBrowser.Providers/ImageFromMediaLocationProvider.cs6
-rw-r--r--MediaBrowser.Server.Implementations/Library/ResolverHelper.cs2
-rw-r--r--MediaBrowser.Server.Implementations/Library/Resolvers/Movies/MovieResolver.cs1
5 files changed, 34 insertions, 10 deletions
diff --git a/MediaBrowser.Common/Extensions/BaseExtensions.cs b/MediaBrowser.Common/Extensions/BaseExtensions.cs
index 4e2a475d9..0b63d7b31 100644
--- a/MediaBrowser.Common/Extensions/BaseExtensions.cs
+++ b/MediaBrowser.Common/Extensions/BaseExtensions.cs
@@ -40,17 +40,36 @@ namespace MediaBrowser.Common.Extensions
/// Gets the MB id.
/// </summary>
/// <param name="str">The STR.</param>
- /// <param name="aType">A type.</param>
+ /// <param name="type">The type.</param>
/// <returns>Guid.</returns>
- /// <exception cref="System.ArgumentNullException">aType</exception>
- public static Guid GetMBId(this string str, Type aType)
+ public static Guid GetMBId(this string str, Type type)
{
- if (aType == null)
+ return str.GetMBId(type, false);
+ }
+
+ /// <summary>
+ /// Gets the MB id.
+ /// </summary>
+ /// <param name="str">The STR.</param>
+ /// <param name="type">The type.</param>
+ /// <param name="isInMixedFolder">if set to <c>true</c> [is in mixed folder].</param>
+ /// <returns>Guid.</returns>
+ /// <exception cref="System.ArgumentNullException">type</exception>
+ public static Guid GetMBId(this string str, Type type, bool isInMixedFolder)
+ {
+ if (type == null)
{
- throw new ArgumentNullException("aType");
+ throw new ArgumentNullException("type");
}
-
- return (aType.FullName + str.ToLower()).GetMD5();
+
+ var key = type.FullName + str.ToLower();
+
+ if (isInMixedFolder)
+ {
+ key += "InMixedFolder";
+ }
+
+ return key.GetMD5();
}
/// <summary>
diff --git a/MediaBrowser.Controller/Entities/Folder.cs b/MediaBrowser.Controller/Entities/Folder.cs
index 3eda96d3d..a27f1fdd0 100644
--- a/MediaBrowser.Controller/Entities/Folder.cs
+++ b/MediaBrowser.Controller/Entities/Folder.cs
@@ -101,7 +101,7 @@ namespace MediaBrowser.Controller.Entities
if (item.Id == Guid.Empty)
{
- item.Id = item.Path.GetMBId(item.GetType());
+ item.Id = item.Path.GetMBId(item.GetType(), item.IsInMixedFolder);
}
if (item.DateCreated == DateTime.MinValue)
diff --git a/MediaBrowser.Providers/ImageFromMediaLocationProvider.cs b/MediaBrowser.Providers/ImageFromMediaLocationProvider.cs
index 9c991a496..38030cffa 100644
--- a/MediaBrowser.Providers/ImageFromMediaLocationProvider.cs
+++ b/MediaBrowser.Providers/ImageFromMediaLocationProvider.cs
@@ -46,7 +46,7 @@ namespace MediaBrowser.Providers
return true;
}
- return item.IsInMixedFolder && !(item is Episode);
+ return item.IsInMixedFolder && item.Parent != null && !(item is Episode);
}
return false;
}
@@ -118,6 +118,10 @@ namespace MediaBrowser.Providers
{
if (item.IsInMixedFolder)
{
+ if (item.Parent == null)
+ {
+ return item.ResolveArgs;
+ }
return item.Parent.ResolveArgs;
}
diff --git a/MediaBrowser.Server.Implementations/Library/ResolverHelper.cs b/MediaBrowser.Server.Implementations/Library/ResolverHelper.cs
index 8b98a6944..1605db5a7 100644
--- a/MediaBrowser.Server.Implementations/Library/ResolverHelper.cs
+++ b/MediaBrowser.Server.Implementations/Library/ResolverHelper.cs
@@ -34,7 +34,7 @@ namespace MediaBrowser.Server.Implementations.Library
item.Parent = args.Parent;
}
- item.Id = item.Path.GetMBId(item.GetType());
+ item.Id = item.Path.GetMBId(item.GetType(), item.IsInMixedFolder);
// If the resolver didn't specify this
if (string.IsNullOrEmpty(item.DisplayMediaType))
diff --git a/MediaBrowser.Server.Implementations/Library/Resolvers/Movies/MovieResolver.cs b/MediaBrowser.Server.Implementations/Library/Resolvers/Movies/MovieResolver.cs
index 94b79f0a1..d62baddec 100644
--- a/MediaBrowser.Server.Implementations/Library/Resolvers/Movies/MovieResolver.cs
+++ b/MediaBrowser.Server.Implementations/Library/Resolvers/Movies/MovieResolver.cs
@@ -244,6 +244,7 @@ namespace MediaBrowser.Server.Implementations.Library.Resolvers.Movies
if (item != null)
{
+ item.IsInMixedFolder = false;
movies.Add(item);
}
}