don't allow theme songs to get mixed in with children

This commit is contained in:
Luke Pulverenti 2013-06-01 18:18:27 -04:00
parent 9bf346daca
commit dbf214883c
2 changed files with 16 additions and 2 deletions

View File

@ -52,6 +52,7 @@ namespace MediaBrowser.Controller.Entities
/// </summary> /// </summary>
public const string TrailerFolderName = "trailers"; public const string TrailerFolderName = "trailers";
public const string ThemeSongsFolderName = "theme-music"; public const string ThemeSongsFolderName = "theme-music";
public const string ThemeSongFilename = "theme";
public const string ThemeVideosFolderName = "backdrops"; public const string ThemeVideosFolderName = "backdrops";
public const string XbmcTrailerFileSuffix = "-trailer"; public const string XbmcTrailerFileSuffix = "-trailer";
@ -822,7 +823,7 @@ namespace MediaBrowser.Controller.Entities
// Support plex/xbmc convention // Support plex/xbmc convention
files.AddRange(resolveArgs.FileSystemChildren files.AddRange(resolveArgs.FileSystemChildren
.Where(i => string.Equals(System.IO.Path.GetFileNameWithoutExtension(i.FullName), "theme", StringComparison.OrdinalIgnoreCase) && EntityResolutionHelper.IsAudioFile(i.FullName)) .Where(i => string.Equals(System.IO.Path.GetFileNameWithoutExtension(i.FullName), ThemeSongFilename, StringComparison.OrdinalIgnoreCase) && EntityResolutionHelper.IsAudioFile(i.FullName))
); );
return LibraryManager.ResolvePaths<Audio.Audio>(files, null).Select(audio => return LibraryManager.ResolvePaths<Audio.Audio>(files, null).Select(audio =>

View File

@ -77,7 +77,8 @@ namespace MediaBrowser.Server.Implementations.Library
} }
// Ignore trailer folders but allow it at the collection level // Ignore trailer folders but allow it at the collection level
if (string.Equals(filename, BaseItem.TrailerFolderName, StringComparison.OrdinalIgnoreCase) && !(args.Parent is AggregateFolder) && !(args.Parent is UserRootFolder)) if (string.Equals(filename, BaseItem.TrailerFolderName, StringComparison.OrdinalIgnoreCase) &&
!(args.Parent is AggregateFolder) && !(args.Parent is UserRootFolder))
{ {
return true; return true;
} }
@ -92,6 +93,18 @@ namespace MediaBrowser.Server.Implementations.Library
return true; return true;
} }
} }
else
{
if (args.Parent != null)
{
var filename = args.FileInfo.Name;
if (string.Equals(Path.GetFileNameWithoutExtension(filename), BaseItem.ThemeSongFilename) && EntityResolutionHelper.IsAudioFile(filename))
{
return true;
}
}
}
return false; return false;
} }