diff options
| author | Luke <luke.pulverenti@gmail.com> | 2015-05-08 15:49:26 -0400 |
|---|---|---|
| committer | Luke <luke.pulverenti@gmail.com> | 2015-05-08 15:49:26 -0400 |
| commit | b2cbe8b4e10063bdab5781fcc1311e04834eed10 (patch) | |
| tree | ea7c63e8b5204d03a01df726322ea3bfd157d773 /MediaBrowser.Server.Implementations/Library | |
| parent | 36b2c5fa15ab6fb1259f5223d67c82e841208be7 (diff) | |
| parent | 58920b82adc4734c3d2f362c9d59de0dbc99bf96 (diff) | |
Merge pull request #1098 from MediaBrowser/dev
3.0.5607.0
Diffstat (limited to 'MediaBrowser.Server.Implementations/Library')
5 files changed, 31 insertions, 37 deletions
diff --git a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs index dcdf2aa7d..ee0bf354f 100644 --- a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs +++ b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs @@ -1,4 +1,5 @@ -using MediaBrowser.Common.Extensions; +using Interfaces.IO; +using MediaBrowser.Common.Extensions; using MediaBrowser.Common.IO; using MediaBrowser.Common.Progress; using MediaBrowser.Common.ScheduledTasks; @@ -17,7 +18,6 @@ using MediaBrowser.Model.Entities; using MediaBrowser.Model.Logging; using MediaBrowser.Naming.Audio; using MediaBrowser.Naming.Common; -using MediaBrowser.Naming.IO; using MediaBrowser.Naming.TV; using MediaBrowser.Naming.Video; using MediaBrowser.Server.Implementations.Library.Validators; @@ -1594,6 +1594,8 @@ namespace MediaBrowser.Server.Implementations.Library .FirstOrDefault(i => !string.IsNullOrWhiteSpace(i)); } + private readonly TimeSpan _viewRefreshInterval = TimeSpan.FromHours(24); + public async Task<UserView> GetNamedView(User user, string name, string viewType, @@ -1645,13 +1647,18 @@ namespace MediaBrowser.Server.Implementations.Library if (!refresh && item != null) { - refresh = (DateTime.UtcNow - item.DateLastSaved).TotalHours >= 24; + refresh = (DateTime.UtcNow - item.DateLastSaved) >= _viewRefreshInterval; } if (refresh) { await item.UpdateToRepository(ItemUpdateType.MetadataImport, CancellationToken.None).ConfigureAwait(false); - _providerManagerFactory().QueueRefresh(item.Id, new MetadataRefreshOptions()); + _providerManagerFactory().QueueRefresh(item.Id, new MetadataRefreshOptions + { + // Not sure why this is necessary but need to figure it out + // View images are not getting utilized without this + ForceSave = true + }); } return item; @@ -1731,7 +1738,7 @@ namespace MediaBrowser.Server.Implementations.Library await item.UpdateToRepository(ItemUpdateType.MetadataEdit, cancellationToken).ConfigureAwait(false); } - var refresh = isNew || (DateTime.UtcNow - item.DateLastSaved).TotalHours >= 24; + var refresh = isNew || (DateTime.UtcNow - item.DateLastSaved) >= _viewRefreshInterval; if (refresh) { @@ -1767,14 +1774,13 @@ namespace MediaBrowser.Server.Implementations.Library var resolver = new EpisodeResolver(GetNamingOptions(), new PatternsLogger()); - var fileType = episode.VideoType == VideoType.BluRay || episode.VideoType == VideoType.Dvd || episode.VideoType == VideoType.HdDvd ? - FileInfoType.Directory : - FileInfoType.File; + var isFolder = episode.VideoType == VideoType.BluRay || episode.VideoType == VideoType.Dvd || + episode.VideoType == VideoType.HdDvd; var locationType = episode.LocationType; var episodeInfo = locationType == LocationType.FileSystem || locationType == LocationType.Offline ? - resolver.Resolve(episode.Path, fileType) : + resolver.Resolve(episode.Path, isFolder) : new Naming.TV.EpisodeInfo(); if (episodeInfo == null) @@ -1928,10 +1934,10 @@ namespace MediaBrowser.Server.Implementations.Library var videoListResolver = new VideoListResolver(GetNamingOptions(), new PatternsLogger()); - var videos = videoListResolver.Resolve(fileSystemChildren.Select(i => new PortableFileInfo + var videos = videoListResolver.Resolve(fileSystemChildren.Select(i => new FileMetadata { - FullName = i.FullName, - Type = GetFileType(i) + Id = i.FullName, + IsFolder = ((i.Attributes & FileAttributes.Directory) == FileAttributes.Directory) }).ToList()); @@ -1962,16 +1968,6 @@ namespace MediaBrowser.Server.Implementations.Library }).OrderBy(i => i.Path).ToList(); } - private FileInfoType GetFileType(FileSystemInfo info) - { - if ((info.Attributes & FileAttributes.Directory) == FileAttributes.Directory) - { - return FileInfoType.Directory; - } - - return FileInfoType.File; - } - public IEnumerable<Video> FindExtras(BaseItem owner, List<FileSystemInfo> fileSystemChildren, IDirectoryService directoryService) { var files = fileSystemChildren.OfType<DirectoryInfo>() @@ -1981,10 +1977,10 @@ namespace MediaBrowser.Server.Implementations.Library var videoListResolver = new VideoListResolver(GetNamingOptions(), new PatternsLogger()); - var videos = videoListResolver.Resolve(fileSystemChildren.Select(i => new PortableFileInfo + var videos = videoListResolver.Resolve(fileSystemChildren.Select(i => new FileMetadata { - FullName = i.FullName, - Type = GetFileType(i) + Id = i.FullName, + IsFolder = ((i.Attributes & FileAttributes.Directory) == FileAttributes.Directory) }).ToList()); diff --git a/MediaBrowser.Server.Implementations/Library/Resolvers/Movies/MovieResolver.cs b/MediaBrowser.Server.Implementations/Library/Resolvers/Movies/MovieResolver.cs index f88293b2a..a6b8c44b6 100644 --- a/MediaBrowser.Server.Implementations/Library/Resolvers/Movies/MovieResolver.cs +++ b/MediaBrowser.Server.Implementations/Library/Resolvers/Movies/MovieResolver.cs @@ -1,4 +1,5 @@ -using MediaBrowser.Controller.Entities; +using Interfaces.IO; +using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Entities.Movies; using MediaBrowser.Controller.Entities.TV; using MediaBrowser.Controller.Library; @@ -6,7 +7,6 @@ using MediaBrowser.Controller.Providers; using MediaBrowser.Controller.Resolvers; using MediaBrowser.Model.Entities; using MediaBrowser.Model.Extensions; -using MediaBrowser.Naming.IO; using MediaBrowser.Naming.Video; using MediaBrowser.Server.Implementations.Logging; using System; @@ -118,10 +118,10 @@ namespace MediaBrowser.Server.Implementations.Library.Resolvers.Movies var namingOptions = ((LibraryManager)LibraryManager).GetNamingOptions(); var resolver = new VideoListResolver(namingOptions, new PatternsLogger()); - var resolverResult = resolver.Resolve(files.Select(i => new PortableFileInfo + var resolverResult = resolver.Resolve(files.Select(i => new FileMetadata { - FullName = i.FullName, - Type = FileInfoType.File + Id = i.FullName, + IsFolder = false }).ToList(), suppportMultiEditions).ToList(); diff --git a/MediaBrowser.Server.Implementations/Library/Resolvers/TV/SeriesResolver.cs b/MediaBrowser.Server.Implementations/Library/Resolvers/TV/SeriesResolver.cs index 3551b71b7..70ab105b2 100644 --- a/MediaBrowser.Server.Implementations/Library/Resolvers/TV/SeriesResolver.cs +++ b/MediaBrowser.Server.Implementations/Library/Resolvers/TV/SeriesResolver.cs @@ -6,7 +6,6 @@ using MediaBrowser.Controller.Resolvers; using MediaBrowser.Model.Entities; using MediaBrowser.Model.Logging; using MediaBrowser.Naming.Common; -using MediaBrowser.Naming.IO; using MediaBrowser.Naming.TV; using MediaBrowser.Server.Implementations.Logging; using System; @@ -153,7 +152,7 @@ namespace MediaBrowser.Server.Implementations.Library.Resolvers.TV } var episodeResolver = new Naming.TV.EpisodeResolver(namingOptions, new PatternsLogger()); - var episodeInfo = episodeResolver.Resolve(fullName, FileInfoType.File, false); + var episodeInfo = episodeResolver.Resolve(fullName, false, false); if (episodeInfo != null && episodeInfo.EpisodeNumber.HasValue) { return true; diff --git a/MediaBrowser.Server.Implementations/Library/UserManager.cs b/MediaBrowser.Server.Implementations/Library/UserManager.cs index 02e1795f3..5012f2479 100644 --- a/MediaBrowser.Server.Implementations/Library/UserManager.cs +++ b/MediaBrowser.Server.Implementations/Library/UserManager.cs @@ -281,10 +281,10 @@ namespace MediaBrowser.Server.Implementations.Library if (newValue >= maxCount) { - _logger.Debug("Disabling user {0} due to {1} unsuccessful login attempts.", user.Name, newValue.ToString(CultureInfo.InvariantCulture)); - user.Policy.IsDisabled = true; + //_logger.Debug("Disabling user {0} due to {1} unsuccessful login attempts.", user.Name, newValue.ToString(CultureInfo.InvariantCulture)); + //user.Policy.IsDisabled = true; - fireLockout = true; + //fireLockout = true; } await UpdateUserPolicy(user, user.Policy, false).ConfigureAwait(false); diff --git a/MediaBrowser.Server.Implementations/Library/UserViewManager.cs b/MediaBrowser.Server.Implementations/Library/UserViewManager.cs index 5cff9046a..69600f0fe 100644 --- a/MediaBrowser.Server.Implementations/Library/UserViewManager.cs +++ b/MediaBrowser.Server.Implementations/Library/UserViewManager.cs @@ -52,11 +52,10 @@ namespace MediaBrowser.Server.Implementations.Library .OfType<Folder>() .ToList(); - var excludeFolderIds = user.Configuration.ExcludeFoldersFromGrouping.Select(i => new Guid(i)).ToList(); var plainFolderIds = user.Configuration.PlainFolderViews.Select(i => new Guid(i)).ToList(); var standaloneFolders = folders - .Where(i => UserView.IsExcludedFromGrouping(i) || excludeFolderIds.Contains(i.Id)) + .Where(i => UserView.IsExcludedFromGrouping(i) || !user.IsFolderGrouped(i.Id)) .ToList(); var foldersWithViewTypes = folders |
