diff options
| author | Eric Reed <ebr@mediabrowser3.com> | 2013-11-08 10:37:50 -0500 |
|---|---|---|
| committer | Eric Reed <ebr@mediabrowser3.com> | 2013-11-08 10:37:50 -0500 |
| commit | 8999ef9441dd32dc7eb0da6e5eb709f4679af923 (patch) | |
| tree | d2d7bb9a977884e71acba97ddede62e72ac1d6b1 | |
| parent | 1f0fc33a862cc7d06cb0ea8429c8bdbb6bd93568 (diff) | |
| parent | c03313af417246055af939d42c723027ac80cd15 (diff) | |
Merge branch 'master' of https://github.com/MediaBrowser/MediaBrowser
4 files changed, 15 insertions, 4 deletions
diff --git a/MediaBrowser.Server.Implementations/Dto/DtoService.cs b/MediaBrowser.Server.Implementations/Dto/DtoService.cs index 0104196e0..a62821a3a 100644 --- a/MediaBrowser.Server.Implementations/Dto/DtoService.cs +++ b/MediaBrowser.Server.Implementations/Dto/DtoService.cs @@ -165,7 +165,8 @@ namespace MediaBrowser.Server.Implementations.Dto { var folder = (Folder)item; - dto.ChildCount = folder.GetChildren(user, true).Count(); + dto.ChildCount = folder.GetChildren(user, true) + .Count(); if (!(folder is UserRootFolder)) { diff --git a/MediaBrowser.Server.Implementations/IO/DirectoryWatchers.cs b/MediaBrowser.Server.Implementations/IO/DirectoryWatchers.cs index 03739cc8f..ffb351222 100644 --- a/MediaBrowser.Server.Implementations/IO/DirectoryWatchers.cs +++ b/MediaBrowser.Server.Implementations/IO/DirectoryWatchers.cs @@ -67,7 +67,8 @@ namespace MediaBrowser.Server.Implementations.IO public async void RemoveTempIgnore(string path) { // This is an arbitraty amount of time, but delay it because file system writes often trigger events after RemoveTempIgnore has been called. - await Task.Delay(2000).ConfigureAwait(false); + // Seeing long delays in some situations, especially over the network. + await Task.Delay(40000).ConfigureAwait(false); string val; _tempIgnoredPaths.TryRemove(path, out val); diff --git a/MediaBrowser.Server.Implementations/Providers/ImageSaver.cs b/MediaBrowser.Server.Implementations/Providers/ImageSaver.cs index b8686800f..ff11b9a2b 100644 --- a/MediaBrowser.Server.Implementations/Providers/ImageSaver.cs +++ b/MediaBrowser.Server.Implementations/Providers/ImageSaver.cs @@ -13,6 +13,7 @@ using System.IO; using System.Linq; using System.Threading; using System.Threading.Tasks; +using MediaBrowser.Model.Logging; namespace MediaBrowser.Server.Implementations.Providers { @@ -37,17 +38,19 @@ namespace MediaBrowser.Server.Implementations.Providers /// </summary> private readonly IDirectoryWatchers _directoryWatchers; private readonly IFileSystem _fileSystem; + private readonly ILogger _logger; /// <summary> /// Initializes a new instance of the <see cref="ImageSaver"/> class. /// </summary> /// <param name="config">The config.</param> /// <param name="directoryWatchers">The directory watchers.</param> - public ImageSaver(IServerConfigurationManager config, IDirectoryWatchers directoryWatchers, IFileSystem fileSystem) + public ImageSaver(IServerConfigurationManager config, IDirectoryWatchers directoryWatchers, IFileSystem fileSystem, ILogger logger) { _config = config; _directoryWatchers = directoryWatchers; _fileSystem = fileSystem; + _logger = logger; _remoteImageCache = new FileSystemRepository(config.ApplicationPaths.DownloadedImagesDataPath); } @@ -170,7 +173,12 @@ namespace MediaBrowser.Server.Implementations.Providers /// <returns>Task.</returns> private async Task SaveImageToLocation(Stream source, string path, CancellationToken cancellationToken) { + _logger.Debug("Saving image to {0}", path); + + var parentFolder = Path.GetDirectoryName(path); + _directoryWatchers.TemporarilyIgnore(path); + _directoryWatchers.TemporarilyIgnore(parentFolder); try { @@ -196,6 +204,7 @@ namespace MediaBrowser.Server.Implementations.Providers finally { _directoryWatchers.RemoveTempIgnore(path); + _directoryWatchers.RemoveTempIgnore(parentFolder); } } diff --git a/MediaBrowser.Server.Implementations/Providers/ProviderManager.cs b/MediaBrowser.Server.Implementations/Providers/ProviderManager.cs index 0252373f0..7b2a038f4 100644 --- a/MediaBrowser.Server.Implementations/Providers/ProviderManager.cs +++ b/MediaBrowser.Server.Implementations/Providers/ProviderManager.cs @@ -349,7 +349,7 @@ namespace MediaBrowser.Server.Implementations.Providers /// <returns>Task.</returns> public Task SaveImage(BaseItem item, Stream source, string mimeType, ImageType type, int? imageIndex, string sourceUrl, CancellationToken cancellationToken) { - return new ImageSaver(ConfigurationManager, _directoryWatchers, _fileSystem).SaveImage(item, source, mimeType, type, imageIndex, sourceUrl, cancellationToken); + return new ImageSaver(ConfigurationManager, _directoryWatchers, _fileSystem, _logger).SaveImage(item, source, mimeType, type, imageIndex, sourceUrl, cancellationToken); } /// <summary> |
