aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.LocalMetadata
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.LocalMetadata')
-rw-r--r--MediaBrowser.LocalMetadata/Images/CollectionFolderImageProvider.cs4
-rw-r--r--MediaBrowser.LocalMetadata/Images/EpisodeLocalImageProvider.cs75
-rw-r--r--MediaBrowser.LocalMetadata/Images/ImagesByNameImageProvider.cs58
-rw-r--r--MediaBrowser.LocalMetadata/Images/InternalMetadataFolderImageProvider.cs4
-rw-r--r--MediaBrowser.LocalMetadata/Images/LocalImageProvider.cs114
-rw-r--r--MediaBrowser.LocalMetadata/MediaBrowser.LocalMetadata.csproj1
-rw-r--r--MediaBrowser.LocalMetadata/Parsers/BaseItemXmlParser.cs34
-rw-r--r--MediaBrowser.LocalMetadata/Parsers/BoxSetXmlParser.cs3
-rw-r--r--MediaBrowser.LocalMetadata/Parsers/PlaylistXmlParser.cs3
-rw-r--r--MediaBrowser.LocalMetadata/Savers/BaseXmlSaver.cs18
-rw-r--r--MediaBrowser.LocalMetadata/Savers/GameXmlSaver.cs2
11 files changed, 128 insertions, 188 deletions
diff --git a/MediaBrowser.LocalMetadata/Images/CollectionFolderImageProvider.cs b/MediaBrowser.LocalMetadata/Images/CollectionFolderImageProvider.cs
index 954e0c322..4ec2eeeb1 100644
--- a/MediaBrowser.LocalMetadata/Images/CollectionFolderImageProvider.cs
+++ b/MediaBrowser.LocalMetadata/Images/CollectionFolderImageProvider.cs
@@ -21,7 +21,7 @@ namespace MediaBrowser.LocalMetadata.Images
get { return "Collection Folder Images"; }
}
- public bool Supports(IHasImages item)
+ public bool Supports(IHasMetadata item)
{
return item is CollectionFolder && item.SupportsLocalMetadata;
}
@@ -35,7 +35,7 @@ namespace MediaBrowser.LocalMetadata.Images
}
}
- public List<LocalImageInfo> GetImages(IHasImages item, IDirectoryService directoryService)
+ public List<LocalImageInfo> GetImages(IHasMetadata item, IDirectoryService directoryService)
{
var collectionFolder = (CollectionFolder)item;
diff --git a/MediaBrowser.LocalMetadata/Images/EpisodeLocalImageProvider.cs b/MediaBrowser.LocalMetadata/Images/EpisodeLocalImageProvider.cs
index 2b5858aec..9195a9cd4 100644
--- a/MediaBrowser.LocalMetadata/Images/EpisodeLocalImageProvider.cs
+++ b/MediaBrowser.LocalMetadata/Images/EpisodeLocalImageProvider.cs
@@ -4,10 +4,8 @@ using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities;
using System;
using System.Collections.Generic;
-using System.IO;
using System.Linq;
-using MediaBrowser.Controller.IO;
using MediaBrowser.Model.IO;
namespace MediaBrowser.LocalMetadata.Images
@@ -31,58 +29,59 @@ namespace MediaBrowser.LocalMetadata.Images
get { return 0; }
}
- public bool Supports(IHasImages item)
+ public bool Supports(IHasMetadata item)
{
return item is Episode && item.SupportsLocalMetadata;
}
- public List<LocalImageInfo> GetImages(IHasImages item, IDirectoryService directoryService)
+ public List<LocalImageInfo> GetImages(IHasMetadata item, IDirectoryService directoryService)
{
var parentPath = _fileSystem.GetDirectoryName(item.Path);
- var parentPathFiles = directoryService.GetFiles(parentPath)
- .ToList();
+ var parentPathFiles = directoryService.GetFiles(parentPath);
var nameWithoutExtension = _fileSystem.GetFileNameWithoutExtension(item.Path);
return GetFilesFromParentFolder(nameWithoutExtension, parentPathFiles);
}
- private List<LocalImageInfo> GetFilesFromParentFolder(string filenameWithoutExtension, IEnumerable<FileSystemMetadata> parentPathFiles)
+ private List<LocalImageInfo> GetFilesFromParentFolder(string filenameWithoutExtension, List<FileSystemMetadata> parentPathFiles)
{
var thumbName = filenameWithoutExtension + "-thumb";
- return parentPathFiles
- .Where(i =>
- {
- if (i.IsDirectory)
- {
- return false;
- }
-
- if (BaseItem.SupportedImageExtensions.Contains(i.Extension, StringComparer.OrdinalIgnoreCase))
- {
- var currentNameWithoutExtension = _fileSystem.GetFileNameWithoutExtension(i);
-
- if (string.Equals(filenameWithoutExtension, currentNameWithoutExtension, StringComparison.OrdinalIgnoreCase))
- {
- return true;
- }
-
- if (string.Equals(thumbName, currentNameWithoutExtension, StringComparison.OrdinalIgnoreCase))
- {
- return true;
- }
- }
-
- return false;
- })
- .Select(i => new LocalImageInfo
- {
- FileInfo = i,
- Type = ImageType.Primary
- })
- .ToList();
+ var list = new List<LocalImageInfo>(1);
+
+ foreach (var i in parentPathFiles)
+ {
+ if (i.IsDirectory)
+ {
+ continue;
+ }
+
+ if (BaseItem.SupportedImageExtensions.Contains(i.Extension, StringComparer.OrdinalIgnoreCase))
+ {
+ var currentNameWithoutExtension = _fileSystem.GetFileNameWithoutExtension(i);
+
+ if (string.Equals(filenameWithoutExtension, currentNameWithoutExtension, StringComparison.OrdinalIgnoreCase))
+ {
+ list.Add(new LocalImageInfo
+ {
+ FileInfo = i,
+ Type = ImageType.Primary
+ });
+ }
+
+ else if (string.Equals(thumbName, currentNameWithoutExtension, StringComparison.OrdinalIgnoreCase))
+ {
+ list.Add(new LocalImageInfo
+ {
+ FileInfo = i,
+ Type = ImageType.Primary
+ });
+ }
+ }
+ }
+ return list;
}
}
}
diff --git a/MediaBrowser.LocalMetadata/Images/ImagesByNameImageProvider.cs b/MediaBrowser.LocalMetadata/Images/ImagesByNameImageProvider.cs
deleted file mode 100644
index 83554f044..000000000
--- a/MediaBrowser.LocalMetadata/Images/ImagesByNameImageProvider.cs
+++ /dev/null
@@ -1,58 +0,0 @@
-using System.Collections.Generic;
-using System.IO;
-
-using MediaBrowser.Model.IO;
-using MediaBrowser.Controller.Configuration;
-using MediaBrowser.Controller.Entities;
-using MediaBrowser.Controller.IO;
-using MediaBrowser.Controller.Providers;
-
-namespace MediaBrowser.LocalMetadata.Images
-{
- public class ImagesByNameImageProvider : ILocalImageFileProvider, IHasOrder
- {
- private readonly IFileSystem _fileSystem;
- private readonly IServerConfigurationManager _config;
-
- public ImagesByNameImageProvider(IFileSystem fileSystem, IServerConfigurationManager config)
- {
- _fileSystem = fileSystem;
- _config = config;
- }
-
- public string Name
- {
- get { return "Images By Name"; }
- }
-
- public bool Supports(IHasImages item)
- {
- return item is CollectionFolder;
- }
-
- public int Order
- {
- get
- {
- // Run after LocalImageProvider, and after CollectionFolderImageProvider
- return 2;
- }
- }
-
- public List<LocalImageInfo> GetImages(IHasImages item, IDirectoryService directoryService)
- {
- var name = _fileSystem.GetValidFilename(item.Name);
-
- var path = Path.Combine(_config.ApplicationPaths.GeneralPath, name);
-
- try
- {
- return new LocalImageProvider(_fileSystem).GetImages(item, path, false, directoryService);
- }
- catch (IOException)
- {
- return new List<LocalImageInfo>();
- }
- }
- }
-}
diff --git a/MediaBrowser.LocalMetadata/Images/InternalMetadataFolderImageProvider.cs b/MediaBrowser.LocalMetadata/Images/InternalMetadataFolderImageProvider.cs
index 47579f870..469a31442 100644
--- a/MediaBrowser.LocalMetadata/Images/InternalMetadataFolderImageProvider.cs
+++ b/MediaBrowser.LocalMetadata/Images/InternalMetadataFolderImageProvider.cs
@@ -26,7 +26,7 @@ namespace MediaBrowser.LocalMetadata.Images
get { return "Internal Images"; }
}
- public bool Supports(IHasImages item)
+ public bool Supports(IHasMetadata item)
{
if (item is Photo)
{
@@ -61,7 +61,7 @@ namespace MediaBrowser.LocalMetadata.Images
}
}
- public List<LocalImageInfo> GetImages(IHasImages item, IDirectoryService directoryService)
+ public List<LocalImageInfo> GetImages(IHasMetadata item, IDirectoryService directoryService)
{
var path = item.GetInternalMetadataPath();
diff --git a/MediaBrowser.LocalMetadata/Images/LocalImageProvider.cs b/MediaBrowser.LocalMetadata/Images/LocalImageProvider.cs
index b449ad6e0..56a2c271f 100644
--- a/MediaBrowser.LocalMetadata/Images/LocalImageProvider.cs
+++ b/MediaBrowser.LocalMetadata/Images/LocalImageProvider.cs
@@ -7,7 +7,6 @@ using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
-
using MediaBrowser.Controller.IO;
using MediaBrowser.Model.IO;
@@ -32,7 +31,7 @@ namespace MediaBrowser.LocalMetadata.Images
get { return 0; }
}
- public bool Supports(IHasImages item)
+ public bool Supports(IHasMetadata item)
{
if (item.SupportsLocalMetadata)
{
@@ -63,7 +62,7 @@ namespace MediaBrowser.LocalMetadata.Images
return false;
}
- private IEnumerable<FileSystemMetadata> GetFiles(IHasImages item, bool includeDirectories, IDirectoryService directoryService)
+ private IEnumerable<FileSystemMetadata> GetFiles(IHasMetadata item, bool includeDirectories, IDirectoryService directoryService)
{
if (item.LocationType != LocationType.FileSystem)
{
@@ -85,7 +84,7 @@ namespace MediaBrowser.LocalMetadata.Images
.OrderBy(i => BaseItem.SupportedImageExtensionsList.IndexOf(i.Extension ?? string.Empty));
}
- public List<LocalImageInfo> GetImages(IHasImages item, IDirectoryService directoryService)
+ public List<LocalImageInfo> GetImages(IHasMetadata item, IDirectoryService directoryService)
{
var files = GetFiles(item, true, directoryService).ToList();
@@ -96,30 +95,14 @@ namespace MediaBrowser.LocalMetadata.Images
return list;
}
- public List<LocalImageInfo> GetImages(IHasImages item, string path, bool isPathInMediaFolder, IDirectoryService directoryService)
+ public List<LocalImageInfo> GetImages(IHasMetadata item, string path, bool isPathInMediaFolder, IDirectoryService directoryService)
{
return GetImages(item, new[] { path }, isPathInMediaFolder, directoryService);
}
- public List<LocalImageInfo> GetImages(IHasImages item, IEnumerable<string> paths, bool arePathsInMediaFolders, IDirectoryService directoryService)
+ public List<LocalImageInfo> GetImages(IHasMetadata item, IEnumerable<string> paths, bool arePathsInMediaFolders, IDirectoryService directoryService)
{
- IEnumerable<FileSystemMetadata> files;
-
- if (arePathsInMediaFolders)
- {
- files = paths.SelectMany(i => _fileSystem.GetFiles(i, BaseItem.SupportedImageExtensions, true, false));
- }
- else
- {
- files = paths.SelectMany(directoryService.GetFiles)
- .Where(i =>
- {
- var ext = i.Extension;
-
- return !string.IsNullOrEmpty(ext) &&
- BaseItem.SupportedImageExtensions.Contains(ext, StringComparer.OrdinalIgnoreCase);
- });
- }
+ IEnumerable<FileSystemMetadata> files = paths.SelectMany(i => _fileSystem.GetFiles(i, BaseItem.SupportedImageExtensions, true, false));
files = files
.OrderBy(i => BaseItem.SupportedImageExtensionsList.IndexOf(i.Extension ?? string.Empty));
@@ -131,7 +114,7 @@ namespace MediaBrowser.LocalMetadata.Images
return list;
}
- private void PopulateImages(IHasImages item, List<LocalImageInfo> images, List<FileSystemMetadata> files, bool supportParentSeriesFiles, IDirectoryService directoryService)
+ private void PopulateImages(IHasMetadata item, List<LocalImageInfo> images, List<FileSystemMetadata> files, bool supportParentSeriesFiles, IDirectoryService directoryService)
{
if (supportParentSeriesFiles)
{
@@ -144,7 +127,7 @@ namespace MediaBrowser.LocalMetadata.Images
}
var imagePrefix = item.FileNameWithoutExtension + "-";
- var isInMixedFolder = item.DetectIsInMixedFolder();
+ var isInMixedFolder = item.IsInMixedFolder;
PopulatePrimaryImages(item, images, files, imagePrefix, isInMixedFolder);
@@ -179,36 +162,71 @@ namespace MediaBrowser.LocalMetadata.Images
PopulateScreenshots(images, files, imagePrefix, isInMixedFolder);
}
- private void PopulatePrimaryImages(IHasImages item, List<LocalImageInfo> images, List<FileSystemMetadata> files, string imagePrefix, bool isInMixedFolder)
+ private static readonly string[] CommonImageFileNames = new[]
{
- var names = new List<string>
- {
- "cover",
- "default"
- };
+ "poster",
+ "folder",
+ "cover",
+ "default"
+ };
- if (item is MusicAlbum || item is MusicArtist || item is PhotoAlbum || item is Person)
+ private static readonly string[] MusicImageFileNames = new[]
+ {
+ "folder",
+ "poster",
+ "cover",
+ "default"
+ };
+
+ private static readonly string[] PersonImageFileNames = new[]
+ {
+ "folder",
+ "poster"
+ };
+
+ private static readonly string[] SeriesImageFileNames = new[]
+ {
+ "poster",
+ "folder",
+ "cover",
+ "default",
+ "show"
+ };
+
+ private static readonly string[] VideoImageFileNames = new[]
+ {
+ "poster",
+ "folder",
+ "cover",
+ "default",
+ "movie"
+ };
+
+ private void PopulatePrimaryImages(IHasMetadata item, List<LocalImageInfo> images, List<FileSystemMetadata> files, string imagePrefix, bool isInMixedFolder)
+ {
+ string[] imageFileNames;
+
+ if (item is MusicAlbum || item is MusicArtist || item is PhotoAlbum)
{
// these prefer folder
- names.Insert(0, "poster");
- names.Insert(0, "folder");
+ imageFileNames = MusicImageFileNames;
}
- else
+ else if (item is Person)
{
- names.Insert(0, "folder");
- names.Insert(0, "poster");
+ // these prefer folder
+ imageFileNames = PersonImageFileNames;
}
-
- // Support plex/kodi convention
- if (item is Series)
+ else if (item is Series)
{
- names.Add("show");
+ imageFileNames = SeriesImageFileNames;
}
-
- // Support plex/kodi convention
- if (item is Video && !(item is Episode))
+ else if (item is Video && !(item is Episode))
+ {
+ imageFileNames = VideoImageFileNames;
+ }
+ else
{
- names.Add("movie");
+ imageFileNames = CommonImageFileNames;
}
var fileNameWithoutExtension = item.FileNameWithoutExtension;
@@ -217,21 +235,21 @@ namespace MediaBrowser.LocalMetadata.Images
AddImage(files, images, fileNameWithoutExtension, ImageType.Primary);
}
- foreach (var name in names)
+ foreach (var name in imageFileNames)
{
AddImage(files, images, imagePrefix + name, ImageType.Primary);
}
if (!isInMixedFolder)
{
- foreach (var name in names)
+ foreach (var name in imageFileNames)
{
AddImage(files, images, name, ImageType.Primary);
}
}
}
- private void PopulateBackdrops(IHasImages item, List<LocalImageInfo> images, List<FileSystemMetadata> files, string imagePrefix, bool isInMixedFolder, IDirectoryService directoryService)
+ private void PopulateBackdrops(IHasMetadata item, List<LocalImageInfo> images, List<FileSystemMetadata> files, string imagePrefix, bool isInMixedFolder, IDirectoryService directoryService)
{
if (!string.IsNullOrEmpty(item.Path))
{
diff --git a/MediaBrowser.LocalMetadata/MediaBrowser.LocalMetadata.csproj b/MediaBrowser.LocalMetadata/MediaBrowser.LocalMetadata.csproj
index 9a7371a66..0986ffdc2 100644
--- a/MediaBrowser.LocalMetadata/MediaBrowser.LocalMetadata.csproj
+++ b/MediaBrowser.LocalMetadata/MediaBrowser.LocalMetadata.csproj
@@ -39,7 +39,6 @@
<Compile Include="BaseXmlProvider.cs" />
<Compile Include="Images\CollectionFolderImageProvider.cs" />
<Compile Include="Images\EpisodeLocalImageProvider.cs" />
- <Compile Include="Images\ImagesByNameImageProvider.cs" />
<Compile Include="Images\InternalMetadataFolderImageProvider.cs" />
<Compile Include="Images\LocalImageProvider.cs" />
<Compile Include="Parsers\BaseItemXmlParser.cs" />
diff --git a/MediaBrowser.LocalMetadata/Parsers/BaseItemXmlParser.cs b/MediaBrowser.LocalMetadata/Parsers/BaseItemXmlParser.cs
index b92fc2ea8..9a814213b 100644
--- a/MediaBrowser.LocalMetadata/Parsers/BaseItemXmlParser.cs
+++ b/MediaBrowser.LocalMetadata/Parsers/BaseItemXmlParser.cs
@@ -179,18 +179,6 @@ namespace MediaBrowser.LocalMetadata.Parsers
item.Name = reader.ReadElementContentAsString();
break;
- case "Type":
- {
- var type = reader.ReadElementContentAsString();
-
- if (!string.IsNullOrWhiteSpace(type) && !type.Equals("none", StringComparison.OrdinalIgnoreCase))
- {
- item.DisplayMediaType = type;
- }
-
- break;
- }
-
case "CriticRating":
{
var text = reader.ReadElementContentAsString();
@@ -258,7 +246,7 @@ namespace MediaBrowser.LocalMetadata.Parsers
var person = item as Person;
if (person != null)
{
- person.ProductionLocations = new List<string> { val };
+ person.ProductionLocations = new string[] { val };
}
}
@@ -279,13 +267,11 @@ namespace MediaBrowser.LocalMetadata.Parsers
case "LockedFields":
{
- var fields = new List<MetadataFields>();
-
var val = reader.ReadElementContentAsString();
if (!string.IsNullOrWhiteSpace(val))
{
- var list = val.Split('|').Select(i =>
+ item.LockedFields = val.Split('|').Select(i =>
{
MetadataFields field;
@@ -296,13 +282,9 @@ namespace MediaBrowser.LocalMetadata.Parsers
return null;
- }).Where(i => i.HasValue).Select(i => i.Value);
-
- fields.AddRange(list);
+ }).Where(i => i.HasValue).Select(i => i.Value).ToArray();
}
- item.LockedFields = fields;
-
break;
}
@@ -485,7 +467,7 @@ namespace MediaBrowser.LocalMetadata.Parsers
{
if (!string.IsNullOrWhiteSpace(val))
{
- hasTrailers.AddTrailerUrl(val, false);
+ hasTrailers.AddTrailerUrl(val);
}
}
break;
@@ -945,6 +927,8 @@ namespace MediaBrowser.LocalMetadata.Parsers
reader.MoveToContent();
reader.Read();
+ var tags = new List<string>();
+
// Loop through each element
while (!reader.EOF && reader.ReadState == ReadState.Interactive)
{
@@ -958,7 +942,7 @@ namespace MediaBrowser.LocalMetadata.Parsers
if (!string.IsNullOrWhiteSpace(tag))
{
- item.AddTag(tag);
+ tags.Add(tag);
}
break;
}
@@ -973,6 +957,8 @@ namespace MediaBrowser.LocalMetadata.Parsers
reader.Read();
}
}
+
+ item.Tags = tags.Distinct(StringComparer.Ordinal).ToArray();
}
/// <summary>
@@ -1044,7 +1030,7 @@ namespace MediaBrowser.LocalMetadata.Parsers
if (!string.IsNullOrWhiteSpace(val))
{
- item.AddTrailerUrl(val, false);
+ item.AddTrailerUrl(val);
}
break;
}
diff --git a/MediaBrowser.LocalMetadata/Parsers/BoxSetXmlParser.cs b/MediaBrowser.LocalMetadata/Parsers/BoxSetXmlParser.cs
index a0f0e4476..33eb75edb 100644
--- a/MediaBrowser.LocalMetadata/Parsers/BoxSetXmlParser.cs
+++ b/MediaBrowser.LocalMetadata/Parsers/BoxSetXmlParser.cs
@@ -6,6 +6,7 @@ using System.Collections.Generic;
using System.Xml;
using MediaBrowser.Model.IO;
using MediaBrowser.Model.Xml;
+using MediaBrowser.Model.Extensions;
namespace MediaBrowser.LocalMetadata.Parsers
{
@@ -84,7 +85,7 @@ namespace MediaBrowser.LocalMetadata.Parsers
}
}
- item.Item.LinkedChildren = list;
+ item.Item.LinkedChildren = list.ToArray(list.Count);
}
public BoxSetXmlParser(ILogger logger, IProviderManager providerManager, IXmlReaderSettingsFactory xmlReaderSettingsFactory, IFileSystem fileSystem) : base(logger, providerManager, xmlReaderSettingsFactory, fileSystem)
diff --git a/MediaBrowser.LocalMetadata/Parsers/PlaylistXmlParser.cs b/MediaBrowser.LocalMetadata/Parsers/PlaylistXmlParser.cs
index 695fe2b12..c6ef85814 100644
--- a/MediaBrowser.LocalMetadata/Parsers/PlaylistXmlParser.cs
+++ b/MediaBrowser.LocalMetadata/Parsers/PlaylistXmlParser.cs
@@ -8,6 +8,7 @@ using System.Linq;
using System.Xml;
using MediaBrowser.Model.IO;
using MediaBrowser.Model.Xml;
+using MediaBrowser.Model.Extensions;
namespace MediaBrowser.LocalMetadata.Parsers
{
@@ -124,7 +125,7 @@ namespace MediaBrowser.LocalMetadata.Parsers
}
}
- item.LinkedChildren = list;
+ item.LinkedChildren = list.ToArray(list.Count);
}
private void FetchFromSharesNode(XmlReader reader, Playlist item)
diff --git a/MediaBrowser.LocalMetadata/Savers/BaseXmlSaver.cs b/MediaBrowser.LocalMetadata/Savers/BaseXmlSaver.cs
index f112dfc81..259f42391 100644
--- a/MediaBrowser.LocalMetadata/Savers/BaseXmlSaver.cs
+++ b/MediaBrowser.LocalMetadata/Savers/BaseXmlSaver.cs
@@ -106,7 +106,6 @@ namespace MediaBrowser.LocalMetadata.Savers
"Trailers",
"TVcomId",
"TvDbId",
- "Type",
"TVRageId",
"Website",
"Zap2ItId",
@@ -303,14 +302,9 @@ namespace MediaBrowser.LocalMetadata.Savers
writer.WriteElementString("LockData", item.IsLocked.ToString().ToLower());
- if (item.LockedFields.Count > 0)
+ if (item.LockedFields.Length > 0)
{
- writer.WriteElementString("LockedFields", string.Join("|", item.LockedFields.Select(i => i.ToString()).ToArray()));
- }
-
- if (!string.IsNullOrEmpty(item.DisplayMediaType))
- {
- writer.WriteElementString("Type", item.DisplayMediaType);
+ writer.WriteElementString("LockedFields", string.Join("|", item.LockedFields));
}
if (item.CriticRating.HasValue)
@@ -370,7 +364,7 @@ namespace MediaBrowser.LocalMetadata.Savers
var hasTrailers = item as IHasTrailers;
if (hasTrailers != null)
{
- if (hasTrailers.RemoteTrailers.Count > 0)
+ if (hasTrailers.RemoteTrailers.Length > 0)
{
writer.WriteStartElement("Trailers");
@@ -383,7 +377,7 @@ namespace MediaBrowser.LocalMetadata.Savers
}
}
- if (item.ProductionLocations.Count > 0)
+ if (item.ProductionLocations.Length > 0)
{
writer.WriteStartElement("Countries");
@@ -475,7 +469,7 @@ namespace MediaBrowser.LocalMetadata.Savers
writer.WriteEndElement();
}
- if (item.Studios.Count > 0)
+ if (item.Studios.Length > 0)
{
writer.WriteStartElement("Studios");
@@ -487,7 +481,7 @@ namespace MediaBrowser.LocalMetadata.Savers
writer.WriteEndElement();
}
- if (item.Tags.Count > 0)
+ if (item.Tags.Length > 0)
{
writer.WriteStartElement("Tags");
diff --git a/MediaBrowser.LocalMetadata/Savers/GameXmlSaver.cs b/MediaBrowser.LocalMetadata/Savers/GameXmlSaver.cs
index 26c4b4a93..24c5a4679 100644
--- a/MediaBrowser.LocalMetadata/Savers/GameXmlSaver.cs
+++ b/MediaBrowser.LocalMetadata/Savers/GameXmlSaver.cs
@@ -65,7 +65,7 @@ namespace MediaBrowser.LocalMetadata.Savers
public static string GetGameSavePath(Game item)
{
- if (item.DetectIsInMixedFolder())
+ if (item.IsInMixedFolder)
{
return Path.ChangeExtension(item.Path, ".xml");
}