fix directory not found error in episode organization

This commit is contained in:
Luke Pulverenti
2014-02-25 10:40:16 -05:00
parent 7497fe9554
commit aef805efb9
23 changed files with 143 additions and 73 deletions

View File

@@ -940,7 +940,7 @@ namespace MediaBrowser.Controller.Entities
// First get using the cached Id
if (info.ItemId != Guid.Empty)
{
item = LibraryManager.GetItemById(info.ItemId) as BaseItem;
item = LibraryManager.GetItemById(info.ItemId);
}
// If still null, search by path
@@ -1098,7 +1098,9 @@ namespace MediaBrowser.Controller.Entities
return this;
}
return RecursiveChildren.FirstOrDefault(i => string.Equals(i.Path, path, StringComparison.OrdinalIgnoreCase) || i.PhysicalLocations.Contains(path, StringComparer.OrdinalIgnoreCase));
return RecursiveChildren.FirstOrDefault(i => string.Equals(i.Path, path, StringComparison.OrdinalIgnoreCase) ||
(!i.IsFolder && !i.IsInMixedFolder && string.Equals(i.ContainingFolderPath, path, StringComparison.OrdinalIgnoreCase)) ||
i.PhysicalLocations.Contains(path, StringComparer.OrdinalIgnoreCase));
}
public override bool IsPlayed(User user)

View File

@@ -250,7 +250,16 @@ namespace MediaBrowser.Controller.Entities.TV
/// <returns>SeasonInfo.</returns>
public SeasonInfo GetLookupInfo()
{
return GetItemLookupInfo<SeasonInfo>();
var id = GetItemLookupInfo<SeasonInfo>();
var series = Series;
if (series != null)
{
id.SeriesProviderIds = series.ProviderIds;
}
return id;
}
/// <summary>

View File

@@ -683,6 +683,22 @@ namespace MediaBrowser.Controller.Providers
}
break;
}
case "MusicbrainzId":
{
var mbz = reader.ReadElementContentAsString();
if (!string.IsNullOrWhiteSpace(mbz))
{
if (item is MusicAlbum)
{
item.SetProviderId(MetadataProviders.MusicBrainzAlbum, mbz);
}
else if (item is MusicArtist)
{
item.SetProviderId(MetadataProviders.MusicBrainzArtist, mbz);
}
}
break;
}
case "MusicBrainzAlbumId":
{
var mbz = reader.ReadElementContentAsString();

View File

@@ -152,6 +152,11 @@ namespace MediaBrowser.Controller.Providers
public class SeasonInfo : ItemLookupInfo
{
public Dictionary<string, string> SeriesProviderIds { get; set; }
public SeasonInfo()
{
SeriesProviderIds = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
}
}
}