mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-04-20 09:04:42 +01:00
fixes around saving music brainz id's to xml
This commit is contained in:
@@ -90,6 +90,11 @@ namespace MediaBrowser.Controller.Dto
|
||||
}
|
||||
}
|
||||
|
||||
if (fields.Contains(ItemFields.DisplayPreferencesId))
|
||||
{
|
||||
dto.DisplayPreferencesId = item.DisplayPreferencesId.ToString("N");
|
||||
}
|
||||
|
||||
if (user != null)
|
||||
{
|
||||
AttachUserSpecificInfo(dto, item, user, fields);
|
||||
@@ -272,11 +277,6 @@ namespace MediaBrowser.Controller.Dto
|
||||
/// <param name="fields">The fields.</param>
|
||||
private void AttachUserSpecificInfo(BaseItemDto dto, BaseItem item, User user, List<ItemFields> fields)
|
||||
{
|
||||
if (item.IsFolder && fields.Contains(ItemFields.DisplayPreferencesId))
|
||||
{
|
||||
dto.DisplayPreferencesId = ((Folder) item).DisplayPreferencesId.ToString("N");
|
||||
}
|
||||
|
||||
if (item.IsFolder)
|
||||
{
|
||||
var hasItemCounts = fields.Contains(ItemFields.ItemCounts);
|
||||
|
||||
@@ -91,11 +91,5 @@ namespace MediaBrowser.Controller.Entities.Audio
|
||||
{
|
||||
return RecursiveChildren.OfType<Audio>().Any(i => i.HasArtist(artist));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the music brainz release group id.
|
||||
/// </summary>
|
||||
/// <value>The music brainz release group id.</value>
|
||||
public string MusicBrainzReleaseGroupId { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using MediaBrowser.Controller.Configuration;
|
||||
using MediaBrowser.Common.Extensions;
|
||||
using MediaBrowser.Controller.Configuration;
|
||||
using MediaBrowser.Controller.IO;
|
||||
using MediaBrowser.Controller.Library;
|
||||
using MediaBrowser.Controller.Localization;
|
||||
@@ -83,6 +84,21 @@ namespace MediaBrowser.Controller.Entities
|
||||
/// <value>The id.</value>
|
||||
public Guid Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Return the id that should be used to key display prefs for this item.
|
||||
/// Default is based on the type for everything except actual generic folders.
|
||||
/// </summary>
|
||||
/// <value>The display prefs id.</value>
|
||||
[IgnoreDataMember]
|
||||
public virtual Guid DisplayPreferencesId
|
||||
{
|
||||
get
|
||||
{
|
||||
var thisType = GetType();
|
||||
return thisType == typeof(Folder) ? Id : thisType.FullName.GetMD5();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the path.
|
||||
/// </summary>
|
||||
|
||||
@@ -67,21 +67,6 @@ namespace MediaBrowser.Controller.Entities
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Return the id that should be used to key display prefs for this item.
|
||||
/// Default is based on the type for everything except actual generic folders.
|
||||
/// </summary>
|
||||
/// <value>The display prefs id.</value>
|
||||
[IgnoreDataMember]
|
||||
public virtual Guid DisplayPreferencesId
|
||||
{
|
||||
get
|
||||
{
|
||||
var thisType = GetType();
|
||||
return thisType == typeof(Folder) ? Id : thisType.FullName.GetMD5();
|
||||
}
|
||||
}
|
||||
|
||||
public virtual List<LinkedChild> LinkedChildren { get; set; }
|
||||
|
||||
protected virtual bool SupportsShortcutChildren
|
||||
|
||||
@@ -4,6 +4,7 @@ using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using MoreLinq;
|
||||
|
||||
namespace MediaBrowser.Controller.IO
|
||||
{
|
||||
@@ -38,7 +39,10 @@ namespace MediaBrowser.Controller.IO
|
||||
|
||||
if (!resolveShortcuts && flattenFolderDepth == 0)
|
||||
{
|
||||
return entries.ToDictionary(i => i.FullName, StringComparer.OrdinalIgnoreCase);
|
||||
// Seeing dupes on some users file system for some reason
|
||||
return entries
|
||||
.DistinctBy(i => i.FullName, StringComparer.OrdinalIgnoreCase)
|
||||
.ToDictionary(i => i.FullName, StringComparer.OrdinalIgnoreCase);
|
||||
}
|
||||
|
||||
var dict = new Dictionary<string, FileSystemInfo>(StringComparer.OrdinalIgnoreCase);
|
||||
|
||||
@@ -548,13 +548,23 @@ namespace MediaBrowser.Controller.Providers
|
||||
break;
|
||||
|
||||
case "MusicbrainzId":
|
||||
var mbz = reader.ReadElementContentAsString();
|
||||
if (!string.IsNullOrWhiteSpace(mbz))
|
||||
{
|
||||
item.SetProviderId(MetadataProviders.Musicbrainz, mbz);
|
||||
var mbz = reader.ReadElementContentAsString();
|
||||
if (!string.IsNullOrWhiteSpace(mbz))
|
||||
{
|
||||
item.SetProviderId(MetadataProviders.Musicbrainz, mbz);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "MusicBrainzReleaseGroupId":
|
||||
{
|
||||
var mbz = reader.ReadElementContentAsString();
|
||||
if (!string.IsNullOrWhiteSpace(mbz))
|
||||
{
|
||||
item.SetProviderId(MetadataProviders.MusicBrainzReleaseGroup, mbz);
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case "RottenTomatoesId":
|
||||
var rtId = reader.ReadElementContentAsString();
|
||||
if (!string.IsNullOrWhiteSpace(rtId))
|
||||
|
||||
Reference in New Issue
Block a user