diff options
Diffstat (limited to 'MediaBrowser.Controller/Entities/BaseItem.cs')
| -rw-r--r-- | MediaBrowser.Controller/Entities/BaseItem.cs | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs index 1cbe5b635..794ff86fd 100644 --- a/MediaBrowser.Controller/Entities/BaseItem.cs +++ b/MediaBrowser.Controller/Entities/BaseItem.cs @@ -89,6 +89,9 @@ namespace MediaBrowser.Controller.Entities /// <value>The path.</value> public virtual string Path { get; set; } + [IgnoreDataMember] + protected internal bool IsOffline { get; set; } + /// <summary> /// Gets or sets the type of the location. /// </summary> @@ -97,6 +100,11 @@ namespace MediaBrowser.Controller.Entities { get { + if (IsOffline) + { + return LocationType.Offline; + } + if (string.IsNullOrEmpty(Path)) { return LocationType.Virtual; @@ -649,13 +657,20 @@ namespace MediaBrowser.Controller.Entities // Support xbmc trailers (-trailer suffix on video file names) files.AddRange(resolveArgs.FileSystemChildren.Where(i => { - if ((i.Attributes & FileAttributes.Directory) != FileAttributes.Directory) + try { - if (System.IO.Path.GetFileNameWithoutExtension(i.Name).EndsWith(XbmcTrailerFileSuffix, StringComparison.OrdinalIgnoreCase) && !string.Equals(Path, i.FullName, StringComparison.OrdinalIgnoreCase)) + if ((i.Attributes & FileAttributes.Directory) != FileAttributes.Directory) { - return true; + if (System.IO.Path.GetFileNameWithoutExtension(i.Name).EndsWith(XbmcTrailerFileSuffix, StringComparison.OrdinalIgnoreCase) && !string.Equals(Path, i.FullName, StringComparison.OrdinalIgnoreCase)) + { + return true; + } } } + catch (IOException ex) + { + Logger.ErrorException("Error accessing path {0}", ex, i.FullName); + } return false; })); |
