From 014f2949d714457e1c987383e59263d68c08063c Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Fri, 5 Jul 2013 12:17:32 -0400 Subject: [PATCH] improve offline support and add a web client indicator --- MediaBrowser.Controller/Entities/BaseItem.cs | 8 ++++---- MediaBrowser.Controller/Entities/Folder.cs | 4 +++- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs index 794ff86fdd..94fcd250ee 100644 --- a/MediaBrowser.Controller/Entities/BaseItem.cs +++ b/MediaBrowser.Controller/Entities/BaseItem.cs @@ -1,5 +1,4 @@ -using MediaBrowser.Common.Extensions; -using MediaBrowser.Controller.Configuration; +using MediaBrowser.Controller.Configuration; using MediaBrowser.Controller.IO; using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Localization; @@ -13,7 +12,6 @@ using System.Collections.Generic; using System.IO; using System.Linq; using System.Runtime.Serialization; -using System.Text; using System.Threading; using System.Threading.Tasks; @@ -320,9 +318,12 @@ namespace MediaBrowser.Controller.Entities if (pathInfo == null || !pathInfo.Exists) { + IsOffline = true; throw new IOException("Unable to retrieve file system info for " + path); } + IsOffline = false; + var args = new ItemResolveArgs(ConfigurationManager.ApplicationPaths) { FileInfo = pathInfo, @@ -331,7 +332,6 @@ namespace MediaBrowser.Controller.Entities }; // Gather child folder and files - if (args.IsDirectory) { var isPhysicalRoot = args.IsPhysicalRoot; diff --git a/MediaBrowser.Controller/Entities/Folder.cs b/MediaBrowser.Controller/Entities/Folder.cs index cab3058ef3..e782717e91 100644 --- a/MediaBrowser.Controller/Entities/Folder.cs +++ b/MediaBrowser.Controller/Entities/Folder.cs @@ -635,8 +635,10 @@ namespace MediaBrowser.Controller.Entities /// Task. protected async virtual Task ValidateChildrenInternal(IProgress progress, CancellationToken cancellationToken, bool? recursive = null, bool forceRefreshMetadata = false) { + var locationType = LocationType; + // Nothing to do here - if (LocationType != LocationType.FileSystem) + if (locationType == LocationType.Remote || locationType == LocationType.Virtual) { return; }