aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--MediaBrowser.Controller/Entities/AdultVideo.cs12
-rw-r--r--MediaBrowser.Controller/Entities/AggregateFolder.cs6
-rw-r--r--MediaBrowser.Controller/Entities/CollectionFolder.cs8
-rw-r--r--MediaBrowser.Controller/IO/FileData.cs9
-rw-r--r--MediaBrowser.Controller/Library/ItemResolveArgs.cs28
-rw-r--r--MediaBrowser.Controller/Providers/DirectoryService.cs14
-rw-r--r--MediaBrowser.Controller/Providers/ILocalImageProvider.cs18
-rw-r--r--MediaBrowser.Providers/Manager/MetadataService.cs3
-rw-r--r--MediaBrowser.Providers/Savers/AlbumXmlSaver.cs11
-rw-r--r--MediaBrowser.Providers/Savers/ArtistXmlSaver.cs14
-rw-r--r--MediaBrowser.Providers/Savers/BoxSetXmlSaver.cs11
-rw-r--r--MediaBrowser.Providers/Savers/ChannelXmlSaver.cs11
-rw-r--r--MediaBrowser.Providers/Savers/EpisodeXmlSaver.cs11
-rw-r--r--MediaBrowser.Providers/Savers/FolderXmlSaver.cs15
-rw-r--r--MediaBrowser.Providers/Savers/GameSystemXmlSaver.cs12
-rw-r--r--MediaBrowser.Providers/Savers/GameXmlSaver.cs11
-rw-r--r--MediaBrowser.Providers/Savers/MovieXmlSaver.cs11
-rw-r--r--MediaBrowser.Providers/Savers/PersonXmlSaver.cs11
-rw-r--r--MediaBrowser.Providers/Savers/SeasonXmlSaver.cs11
-rw-r--r--MediaBrowser.Providers/Savers/SeriesXmlSaver.cs11
-rw-r--r--MediaBrowser.Server.Implementations/Library/LibraryManager.cs4
-rw-r--r--MediaBrowser.ServerApplication/NextPvr/LiveTvService.cs66
22 files changed, 71 insertions, 237 deletions
diff --git a/MediaBrowser.Controller/Entities/AdultVideo.cs b/MediaBrowser.Controller/Entities/AdultVideo.cs
index 475d7bc54..fc7632152 100644
--- a/MediaBrowser.Controller/Entities/AdultVideo.cs
+++ b/MediaBrowser.Controller/Entities/AdultVideo.cs
@@ -1,7 +1,8 @@
-
+using System.Collections.Generic;
+
namespace MediaBrowser.Controller.Entities
{
- public class AdultVideo : Video, IHasPreferredMetadataLanguage
+ public class AdultVideo : Video, IHasPreferredMetadataLanguage, IHasTaglines
{
/// <summary>
/// Gets or sets the preferred metadata language.
@@ -14,5 +15,12 @@ namespace MediaBrowser.Controller.Entities
/// </summary>
/// <value>The preferred metadata country code.</value>
public string PreferredMetadataCountryCode { get; set; }
+
+ public List<string> Taglines { get; set; }
+
+ public AdultVideo()
+ {
+ Taglines = new List<string>();
+ }
}
}
diff --git a/MediaBrowser.Controller/Entities/AggregateFolder.cs b/MediaBrowser.Controller/Entities/AggregateFolder.cs
index 363b0a81b..5cabe1cfe 100644
--- a/MediaBrowser.Controller/Entities/AggregateFolder.cs
+++ b/MediaBrowser.Controller/Entities/AggregateFolder.cs
@@ -59,10 +59,10 @@ namespace MediaBrowser.Controller.Entities
protected override IEnumerable<FileSystemInfo> GetFileSystemChildren(IDirectoryService directoryService)
{
- return CreateResolveArgs().FileSystemChildren;
+ return CreateResolveArgs(directoryService).FileSystemChildren;
}
- private ItemResolveArgs CreateResolveArgs()
+ private ItemResolveArgs CreateResolveArgs(IDirectoryService directoryService)
{
var path = ContainingFolderPath;
@@ -81,7 +81,7 @@ namespace MediaBrowser.Controller.Entities
// When resolving the root, we need it's grandchildren (children of user views)
var flattenFolderDepth = isPhysicalRoot ? 2 : 0;
- var fileSystemDictionary = FileData.GetFilteredFileSystemEntries(args.Path, FileSystem, Logger, args, flattenFolderDepth: flattenFolderDepth, resolveShortcuts: isPhysicalRoot || args.IsVf);
+ var fileSystemDictionary = FileData.GetFilteredFileSystemEntries(directoryService, args.Path, FileSystem, Logger, args, flattenFolderDepth: flattenFolderDepth, resolveShortcuts: isPhysicalRoot || args.IsVf);
// Need to remove subpaths that may have been resolved from shortcuts
// Example: if \\server\movies exists, then strip out \\server\movies\action
diff --git a/MediaBrowser.Controller/Entities/CollectionFolder.cs b/MediaBrowser.Controller/Entities/CollectionFolder.cs
index 25f42538c..416796b69 100644
--- a/MediaBrowser.Controller/Entities/CollectionFolder.cs
+++ b/MediaBrowser.Controller/Entities/CollectionFolder.cs
@@ -63,10 +63,10 @@ namespace MediaBrowser.Controller.Entities
protected override IEnumerable<FileSystemInfo> GetFileSystemChildren(IDirectoryService directoryService)
{
- return CreateResolveArgs().FileSystemChildren;
+ return CreateResolveArgs(directoryService).FileSystemChildren;
}
- private ItemResolveArgs CreateResolveArgs()
+ private ItemResolveArgs CreateResolveArgs(IDirectoryService directoryService)
{
var path = ContainingFolderPath;
@@ -85,7 +85,7 @@ namespace MediaBrowser.Controller.Entities
// When resolving the root, we need it's grandchildren (children of user views)
var flattenFolderDepth = isPhysicalRoot ? 2 : 0;
- var fileSystemDictionary = FileData.GetFilteredFileSystemEntries(args.Path, FileSystem, Logger, args, flattenFolderDepth: flattenFolderDepth, resolveShortcuts: isPhysicalRoot || args.IsVf);
+ var fileSystemDictionary = FileData.GetFilteredFileSystemEntries(directoryService, args.Path, FileSystem, Logger, args, flattenFolderDepth: flattenFolderDepth, resolveShortcuts: isPhysicalRoot || args.IsVf);
// Need to remove subpaths that may have been resolved from shortcuts
// Example: if \\server\movies exists, then strip out \\server\movies\action
@@ -123,7 +123,7 @@ namespace MediaBrowser.Controller.Entities
/// <returns>Task.</returns>
protected override Task ValidateChildrenInternal(IProgress<double> progress, CancellationToken cancellationToken, bool recursive, bool refreshChildMetadata, MetadataRefreshOptions refreshOptions, IDirectoryService directoryService)
{
- CreateResolveArgs();
+ CreateResolveArgs(directoryService);
ResetDynamicChildren();
return NullTaskResult;
diff --git a/MediaBrowser.Controller/IO/FileData.cs b/MediaBrowser.Controller/IO/FileData.cs
index 270afd89a..4ee8a810b 100644
--- a/MediaBrowser.Controller/IO/FileData.cs
+++ b/MediaBrowser.Controller/IO/FileData.cs
@@ -1,5 +1,6 @@
using MediaBrowser.Common.IO;
using MediaBrowser.Controller.Library;
+using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Logging;
using System;
using System.Collections.Generic;
@@ -15,16 +16,16 @@ namespace MediaBrowser.Controller.IO
/// <summary>
/// Gets the filtered file system entries.
/// </summary>
+ /// <param name="directoryService">The directory service.</param>
/// <param name="path">The path.</param>
/// <param name="fileSystem">The file system.</param>
/// <param name="logger">The logger.</param>
/// <param name="args">The args.</param>
- /// <param name="searchPattern">The search pattern.</param>
/// <param name="flattenFolderDepth">The flatten folder depth.</param>
/// <param name="resolveShortcuts">if set to <c>true</c> [resolve shortcuts].</param>
/// <returns>Dictionary{System.StringFileSystemInfo}.</returns>
/// <exception cref="System.ArgumentNullException">path</exception>
- public static Dictionary<string, FileSystemInfo> GetFilteredFileSystemEntries(string path, IFileSystem fileSystem, ILogger logger, ItemResolveArgs args, string searchPattern = "*", int flattenFolderDepth = 0, bool resolveShortcuts = true)
+ public static Dictionary<string, FileSystemInfo> GetFilteredFileSystemEntries(IDirectoryService directoryService, string path, IFileSystem fileSystem, ILogger logger, ItemResolveArgs args, int flattenFolderDepth = 0, bool resolveShortcuts = true)
{
if (string.IsNullOrEmpty(path))
{
@@ -35,7 +36,7 @@ namespace MediaBrowser.Controller.IO
throw new ArgumentNullException("args");
}
- var entries = new DirectoryInfo(path).EnumerateFileSystemInfos(searchPattern, SearchOption.TopDirectoryOnly);
+ var entries = directoryService.GetFileSystemEntries(path);
if (!resolveShortcuts && flattenFolderDepth == 0)
{
@@ -79,7 +80,7 @@ namespace MediaBrowser.Controller.IO
}
else if (flattenFolderDepth > 0 && isDirectory)
{
- foreach (var child in GetFilteredFileSystemEntries(fullName, fileSystem, logger, args, flattenFolderDepth: flattenFolderDepth - 1, resolveShortcuts: resolveShortcuts))
+ foreach (var child in GetFilteredFileSystemEntries(directoryService, fullName, fileSystem, logger, args, flattenFolderDepth: flattenFolderDepth - 1, resolveShortcuts: resolveShortcuts))
{
dict[child.Key] = child.Value;
}
diff --git a/MediaBrowser.Controller/Library/ItemResolveArgs.cs b/MediaBrowser.Controller/Library/ItemResolveArgs.cs
index 5d6d850f0..d84e7aa8c 100644
--- a/MediaBrowser.Controller/Library/ItemResolveArgs.cs
+++ b/MediaBrowser.Controller/Library/ItemResolveArgs.cs
@@ -97,18 +97,6 @@ namespace MediaBrowser.Controller.Library
}
/// <summary>
- /// Gets a value indicating whether this instance is system file.
- /// </summary>
- /// <value><c>true</c> if this instance is system file; otherwise, <c>false</c>.</value>
- public bool IsSystemFile
- {
- get
- {
- return (FileInfo.Attributes & FileAttributes.System) == FileAttributes.System;
- }
- }
-
- /// <summary>
/// Gets a value indicating whether this instance is vf.
/// </summary>
/// <value><c>true</c> if this instance is vf; otherwise, <c>false</c>.</value>
@@ -238,22 +226,6 @@ namespace MediaBrowser.Controller.Library
}
/// <summary>
- /// Gets the meta file by path.
- /// </summary>
- /// <param name="path">The path.</param>
- /// <returns>FileSystemInfo.</returns>
- /// <exception cref="System.ArgumentNullException"></exception>
- public FileSystemInfo GetMetaFileByPath(string path)
- {
- if (string.IsNullOrEmpty(path))
- {
- throw new ArgumentNullException();
- }
-
- return GetFileSystemEntryByPath(path);
- }
-
- /// <summary>
/// Gets the name of the meta file by.
/// </summary>
/// <param name="name">The name.</param>
diff --git a/MediaBrowser.Controller/Providers/DirectoryService.cs b/MediaBrowser.Controller/Providers/DirectoryService.cs
index 828d662f6..e17ae76ff 100644
--- a/MediaBrowser.Controller/Providers/DirectoryService.cs
+++ b/MediaBrowser.Controller/Providers/DirectoryService.cs
@@ -1,8 +1,8 @@
-using System;
+using MediaBrowser.Model.Logging;
+using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
-using MediaBrowser.Model.Logging;
namespace MediaBrowser.Controller.Providers
{
@@ -34,7 +34,15 @@ namespace MediaBrowser.Controller.Providers
{
//_logger.Debug("Getting files for " + path);
- entries = new DirectoryInfo(path).EnumerateFileSystemInfos("*", SearchOption.TopDirectoryOnly).ToList();
+ try
+ {
+ entries = new DirectoryInfo(path).EnumerateFileSystemInfos("*", SearchOption.TopDirectoryOnly).ToList();
+ }
+ catch (DirectoryNotFoundException)
+ {
+ entries = new List<FileSystemInfo>();
+ }
+
_cache.Add(path, entries);
}
diff --git a/MediaBrowser.Controller/Providers/ILocalImageProvider.cs b/MediaBrowser.Controller/Providers/ILocalImageProvider.cs
index 11b8897e7..ec24e1d60 100644
--- a/MediaBrowser.Controller/Providers/ILocalImageProvider.cs
+++ b/MediaBrowser.Controller/Providers/ILocalImageProvider.cs
@@ -1,6 +1,7 @@
using MediaBrowser.Controller.Drawing;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Model.Entities;
+using System;
using System.Collections.Generic;
using System.IO;
using System.Threading;
@@ -60,7 +61,22 @@ namespace MediaBrowser.Controller.Providers
public void SetFormatFromMimeType(string mimeType)
{
-
+ if (mimeType.EndsWith("gif", StringComparison.OrdinalIgnoreCase))
+ {
+ Format = ImageFormat.Gif;
+ }
+ else if (mimeType.EndsWith("bmp", StringComparison.OrdinalIgnoreCase))
+ {
+ Format = ImageFormat.Bmp;
+ }
+ else if (mimeType.EndsWith("png", StringComparison.OrdinalIgnoreCase))
+ {
+ Format = ImageFormat.Png;
+ }
+ else
+ {
+ Format = ImageFormat.Jpg;
+ }
}
}
}
diff --git a/MediaBrowser.Providers/Manager/MetadataService.cs b/MediaBrowser.Providers/Manager/MetadataService.cs
index 5b2267732..beece997d 100644
--- a/MediaBrowser.Providers/Manager/MetadataService.cs
+++ b/MediaBrowser.Providers/Manager/MetadataService.cs
@@ -140,7 +140,8 @@ namespace MediaBrowser.Providers.Manager
var providersHadChanges = updateType > ItemUpdateType.None;
- if (refreshOptions.ForceSave || providersHadChanges)
+ // Save if changes were made, or it's never been saved before
+ if (refreshOptions.ForceSave || providersHadChanges || item.DateLastSaved == default(DateTime))
{
// Save to database
await SaveItem(itemOfType, updateType, cancellationToken);
diff --git a/MediaBrowser.Providers/Savers/AlbumXmlSaver.cs b/MediaBrowser.Providers/Savers/AlbumXmlSaver.cs
index ef7d9b122..58e5ad123 100644
--- a/MediaBrowser.Providers/Savers/AlbumXmlSaver.cs
+++ b/MediaBrowser.Providers/Savers/AlbumXmlSaver.cs
@@ -32,16 +32,7 @@ namespace MediaBrowser.Providers.Savers
return false;
}
- var wasMetadataEdited = (updateType & ItemUpdateType.MetadataEdit) == ItemUpdateType.MetadataEdit;
- var wasMetadataDownloaded = (updateType & ItemUpdateType.MetadataDownload) == ItemUpdateType.MetadataDownload;
-
- // If new metadata has been downloaded and save local is on
- if (wasMetadataEdited || wasMetadataDownloaded)
- {
- return item is MusicAlbum;
- }
-
- return false;
+ return item is MusicAlbum && updateType >= ItemUpdateType.MetadataDownload;
}
/// <summary>
diff --git a/MediaBrowser.Providers/Savers/ArtistXmlSaver.cs b/MediaBrowser.Providers/Savers/ArtistXmlSaver.cs
index 93eafd123..3e98e6225 100644
--- a/MediaBrowser.Providers/Savers/ArtistXmlSaver.cs
+++ b/MediaBrowser.Providers/Savers/ArtistXmlSaver.cs
@@ -32,19 +32,7 @@ namespace MediaBrowser.Providers.Savers
return false;
}
- var wasMetadataEdited = (updateType & ItemUpdateType.MetadataEdit) == ItemUpdateType.MetadataEdit;
- var wasMetadataDownloaded = (updateType & ItemUpdateType.MetadataDownload) == ItemUpdateType.MetadataDownload;
-
- // If new metadata has been downloaded or metadata was manually edited, proceed
- if (wasMetadataEdited || wasMetadataDownloaded)
- {
- if (item is MusicArtist)
- {
- return true;
- }
- }
-
- return false;
+ return item is MusicArtist && updateType >= ItemUpdateType.MetadataDownload;
}
/// <summary>
diff --git a/MediaBrowser.Providers/Savers/BoxSetXmlSaver.cs b/MediaBrowser.Providers/Savers/BoxSetXmlSaver.cs
index 9c3ceac7e..dcf789b30 100644
--- a/MediaBrowser.Providers/Savers/BoxSetXmlSaver.cs
+++ b/MediaBrowser.Providers/Savers/BoxSetXmlSaver.cs
@@ -32,16 +32,7 @@ namespace MediaBrowser.Providers.Savers
return false;
}
- var wasMetadataEdited = (updateType & ItemUpdateType.MetadataEdit) == ItemUpdateType.MetadataEdit;
- var wasMetadataDownloaded = (updateType & ItemUpdateType.MetadataDownload) == ItemUpdateType.MetadataDownload;
-
- // If new metadata has been downloaded and save local is on
- if (wasMetadataEdited || wasMetadataDownloaded)
- {
- return item is BoxSet;
- }
-
- return false;
+ return item is BoxSet && updateType >= ItemUpdateType.MetadataDownload;
}
/// <summary>
diff --git a/MediaBrowser.Providers/Savers/ChannelXmlSaver.cs b/MediaBrowser.Providers/Savers/ChannelXmlSaver.cs
index 52242cb53..2d4221bda 100644
--- a/MediaBrowser.Providers/Savers/ChannelXmlSaver.cs
+++ b/MediaBrowser.Providers/Savers/ChannelXmlSaver.cs
@@ -27,16 +27,7 @@ namespace MediaBrowser.Providers.Savers
return false;
}
- var wasMetadataEdited = (updateType & ItemUpdateType.MetadataEdit) == ItemUpdateType.MetadataEdit;
- var wasMetadataDownloaded = (updateType & ItemUpdateType.MetadataDownload) == ItemUpdateType.MetadataDownload;
-
- // If new metadata has been downloaded or metadata was manually edited, proceed
- if ((wasMetadataEdited || wasMetadataDownloaded))
- {
- return item is LiveTvChannel;
- }
-
- return false;
+ return item is LiveTvChannel && updateType >= ItemUpdateType.MetadataDownload;
}
public string Name
diff --git a/MediaBrowser.Providers/Savers/EpisodeXmlSaver.cs b/MediaBrowser.Providers/Savers/EpisodeXmlSaver.cs
index 12efda85a..661c75f41 100644
--- a/MediaBrowser.Providers/Savers/EpisodeXmlSaver.cs
+++ b/MediaBrowser.Providers/Savers/EpisodeXmlSaver.cs
@@ -36,16 +36,7 @@ namespace MediaBrowser.Providers.Savers
return false;
}
- var wasMetadataEdited = (updateType & ItemUpdateType.MetadataEdit) == ItemUpdateType.MetadataEdit;
- var wasMetadataDownloaded = (updateType & ItemUpdateType.MetadataDownload) == ItemUpdateType.MetadataDownload;
-
- // If new metadata has been downloaded and save local is on
- if (wasMetadataEdited || wasMetadataDownloaded)
- {
- return item is Episode;
- }
-
- return false;
+ return item is Episode && updateType >= ItemUpdateType.MetadataDownload;
}
public string Name
diff --git a/MediaBrowser.Providers/Savers/FolderXmlSaver.cs b/MediaBrowser.Providers/Savers/FolderXmlSaver.cs
index 481189ee3..db08eafe3 100644
--- a/MediaBrowser.Providers/Savers/FolderXmlSaver.cs
+++ b/MediaBrowser.Providers/Savers/FolderXmlSaver.cs
@@ -34,24 +34,13 @@ namespace MediaBrowser.Providers.Savers
return false;
}
- var folder = item as Folder;
-
- if (folder == null)
- {
- return false;
- }
-
- var wasMetadataEdited = (updateType & ItemUpdateType.MetadataEdit) == ItemUpdateType.MetadataEdit;
- var wasMetadataDownloaded = (updateType & ItemUpdateType.MetadataDownload) == ItemUpdateType.MetadataDownload;
-
- // If new metadata has been downloaded and save local is on
- if (wasMetadataEdited || wasMetadataDownloaded)
+ if (item is Folder)
{
if (!(item is Series) && !(item is BoxSet) && !(item is MusicArtist) && !(item is MusicAlbum) &&
!(item is Season) &&
!(item is GameSystem))
{
- return true;
+ return updateType >= ItemUpdateType.MetadataDownload;
}
}
diff --git a/MediaBrowser.Providers/Savers/GameSystemXmlSaver.cs b/MediaBrowser.Providers/Savers/GameSystemXmlSaver.cs
index 78098f50e..98a2d03be 100644
--- a/MediaBrowser.Providers/Savers/GameSystemXmlSaver.cs
+++ b/MediaBrowser.Providers/Savers/GameSystemXmlSaver.cs
@@ -1,6 +1,5 @@
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Library;
-using MediaBrowser.Model.Entities;
using System.Collections.Generic;
using System.IO;
using System.Security;
@@ -32,16 +31,7 @@ namespace MediaBrowser.Providers.Savers
return false;
}
- var wasMetadataEdited = (updateType & ItemUpdateType.MetadataEdit) == ItemUpdateType.MetadataEdit;
- var wasMetadataDownloaded = (updateType & ItemUpdateType.MetadataDownload) == ItemUpdateType.MetadataDownload;
-
- // If new metadata has been downloaded and save local is on
- if (wasMetadataEdited || wasMetadataDownloaded)
- {
- return item is GameSystem;
- }
-
- return false;
+ return item is GameSystem && updateType >= ItemUpdateType.MetadataDownload;
}
/// <summary>
diff --git a/MediaBrowser.Providers/Savers/GameXmlSaver.cs b/MediaBrowser.Providers/Savers/GameXmlSaver.cs
index ccb53a017..959041a8c 100644
--- a/MediaBrowser.Providers/Savers/GameXmlSaver.cs
+++ b/MediaBrowser.Providers/Savers/GameXmlSaver.cs
@@ -36,16 +36,7 @@ namespace MediaBrowser.Providers.Savers
return false;
}
- var wasMetadataEdited = (updateType & ItemUpdateType.MetadataEdit) == ItemUpdateType.MetadataEdit;
- var wasMetadataDownloaded = (updateType & ItemUpdateType.MetadataDownload) == ItemUpdateType.MetadataDownload;
-
- // If new metadata has been downloaded and save local is on
- if (wasMetadataEdited || wasMetadataDownloaded)
- {
- return item is Game;
- }
-
- return false;
+ return item is Game && updateType >= ItemUpdateType.MetadataDownload;
}
private static readonly CultureInfo UsCulture = new CultureInfo("en-US");
diff --git a/MediaBrowser.Providers/Savers/MovieXmlSaver.cs b/MediaBrowser.Providers/Savers/MovieXmlSaver.cs
index a098c8160..595793854 100644
--- a/MediaBrowser.Providers/Savers/MovieXmlSaver.cs
+++ b/MediaBrowser.Providers/Savers/MovieXmlSaver.cs
@@ -46,15 +46,12 @@ namespace MediaBrowser.Providers.Savers
return false;
}
- var wasMetadataEdited = (updateType & ItemUpdateType.MetadataEdit) == ItemUpdateType.MetadataEdit;
- var wasMetadataDownloaded = (updateType & ItemUpdateType.MetadataDownload) == ItemUpdateType.MetadataDownload;
+ var video = item as Video;
- // If new metadata has been downloaded and save local is on
- if (wasMetadataEdited || wasMetadataDownloaded)
+ // Check parent for null to avoid running this against things like video backdrops
+ if (video != null && !(item is Episode) && !video.IsOwnedItem)
{
- var video = item as Video;
- // Check parent for null to avoid running this against things like video backdrops
- return video != null && !(item is Episode) && !video.IsOwnedItem;
+ return updateType >= ItemUpdateType.MetadataDownload;
}
return false;
diff --git a/MediaBrowser.Providers/Savers/PersonXmlSaver.cs b/MediaBrowser.Providers/Savers/PersonXmlSaver.cs
index b612f9974..9bbe5b5dc 100644
--- a/MediaBrowser.Providers/Savers/PersonXmlSaver.cs
+++ b/MediaBrowser.Providers/Savers/PersonXmlSaver.cs
@@ -36,16 +36,7 @@ namespace MediaBrowser.Providers.Savers
return false;
}
- var wasMetadataEdited = (updateType & ItemUpdateType.MetadataEdit) == ItemUpdateType.MetadataEdit;
- var wasMetadataDownloaded = (updateType & ItemUpdateType.MetadataDownload) == ItemUpdateType.MetadataDownload;
-
- // If new metadata has been downloaded or metadata was manually edited, proceed
- if ((wasMetadataEdited || wasMetadataDownloaded))
- {
- return item is Person;
- }
-
- return false;
+ return item is Person && updateType >= ItemUpdateType.MetadataDownload;
}
/// <summary>
diff --git a/MediaBrowser.Providers/Savers/SeasonXmlSaver.cs b/MediaBrowser.Providers/Savers/SeasonXmlSaver.cs
index 3e59ff34c..2a036722a 100644
--- a/MediaBrowser.Providers/Savers/SeasonXmlSaver.cs
+++ b/MediaBrowser.Providers/Savers/SeasonXmlSaver.cs
@@ -32,16 +32,7 @@ namespace MediaBrowser.Providers.Savers
return false;
}
- var wasMetadataEdited = (updateType & ItemUpdateType.MetadataEdit) == ItemUpdateType.MetadataEdit;
- var wasMetadataDownloaded = (updateType & ItemUpdateType.MetadataDownload) == ItemUpdateType.MetadataDownload;
-
- // If new metadata has been downloaded and save local is on
- if (wasMetadataEdited || wasMetadataDownloaded)
- {
- return item is Season;
- }
-
- return false;
+ return item is Season && updateType >= ItemUpdateType.MetadataDownload;
}
/// <summary>
diff --git a/MediaBrowser.Providers/Savers/SeriesXmlSaver.cs b/MediaBrowser.Providers/Savers/SeriesXmlSaver.cs
index 52f5a521b..5f58001ec 100644
--- a/MediaBrowser.Providers/Savers/SeriesXmlSaver.cs
+++ b/MediaBrowser.Providers/Savers/SeriesXmlSaver.cs
@@ -33,16 +33,7 @@ namespace MediaBrowser.Providers.Savers
return false;
}
- var wasMetadataEdited = (updateType & ItemUpdateType.MetadataEdit) == ItemUpdateType.MetadataEdit;
- var wasMetadataDownloaded = (updateType & ItemUpdateType.MetadataDownload) == ItemUpdateType.MetadataDownload;
-
- // If new metadata has been downloaded and save local is on
- if (wasMetadataEdited || wasMetadataDownloaded)
- {
- return item is Series;
- }
-
- return false;
+ return item is Series && updateType >= ItemUpdateType.MetadataDownload;
}
/// <summary>
diff --git a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs
index d4da9dbe7..735565e25 100644
--- a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs
+++ b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs
@@ -497,7 +497,9 @@ namespace MediaBrowser.Server.Implementations.Library
// When resolving the root, we need it's grandchildren (children of user views)
var flattenFolderDepth = isPhysicalRoot ? 2 : 0;
- var fileSystemDictionary = FileData.GetFilteredFileSystemEntries(args.Path, _fileSystem, _logger, args, flattenFolderDepth: flattenFolderDepth, resolveShortcuts: isPhysicalRoot || args.IsVf);
+ var directoryService = new DirectoryService(_logger);
+
+ var fileSystemDictionary = FileData.GetFilteredFileSystemEntries(directoryService, args.Path, _fileSystem, _logger, args, flattenFolderDepth: flattenFolderDepth, resolveShortcuts: isPhysicalRoot || args.IsVf);
// Need to remove subpaths that may have been resolved from shortcuts
// Example: if \\server\movies exists, then strip out \\server\movies\action
diff --git a/MediaBrowser.ServerApplication/NextPvr/LiveTvService.cs b/MediaBrowser.ServerApplication/NextPvr/LiveTvService.cs
deleted file mode 100644
index ab72b2c8e..000000000
--- a/MediaBrowser.ServerApplication/NextPvr/LiveTvService.cs
+++ /dev/null
@@ -1,66 +0,0 @@
-using MediaBrowser.Common.Configuration;
-using MediaBrowser.Common.Net;
-using MediaBrowser.Controller.LiveTv;
-using System.Collections.Generic;
-using System.Threading;
-using System.Threading.Tasks;
-using MediaBrowser.Model.Logging;
-using MediaBrowser.Model.Serialization;
-
-namespace MediaBrowser.Plugins.NextPvr
-{
- /// <summary>
- /// Class LiveTvService
- /// </summary>
- public class LiveTvService : ILiveTvService
- {
- private readonly ILogger _logger;
-
- private IApplicationPaths _appPaths;
- private IJsonSerializer _json;
- private IHttpClient _httpClient;
-
- public LiveTvService(ILogger logger)
- {
- _logger = logger;
- }
-
- /// <summary>
- /// Gets the channels async.
- /// </summary>
- /// <param name="cancellationToken">The cancellation token.</param>
- /// <returns>Task{IEnumerable{ChannelInfo}}.</returns>
- public Task<IEnumerable<ChannelInfo>> GetChannelsAsync(CancellationToken cancellationToken)
- {
- //using (var stream = await _httpClient.Get(new HttpRequestOptions()
- // {
- // Url = "",
- // CancellationToken = cancellationToken
- // }))
- //{
-
- //}
- _logger.Info("GetChannelsAsync");
-
- var channels = new List<ChannelInfo>
- {
- new ChannelInfo
- {
- Name = "NBC",
- ServiceName = Name
- }
- };
-
- return Task.FromResult<IEnumerable<ChannelInfo>>(channels);
- }
-
- /// <summary>
- /// Gets the name.
- /// </summary>
- /// <value>The name.</value>
- public string Name
- {
- get { return "Next Pvr"; }
- }
- }
-}