fix live tv folders being created in a loop

This commit is contained in:
Luke Pulverenti
2017-01-11 12:56:26 -05:00
parent 12f20de68b
commit 0b5d4ce3f8
12 changed files with 34 additions and 35 deletions

View File

@@ -925,7 +925,11 @@ namespace Emby.Server.Implementations.Connect
}
_data.PendingAuthorizations = newPendingList;
CacheData();
if (!newPendingList.Select(i => i.Id).SequenceEqual(currentPendingList.Select(i => i.Id), StringComparer.Ordinal))
{
CacheData();
}
await RefreshGuestNames(list, refreshImages).ConfigureAwait(false);
}

View File

@@ -361,10 +361,7 @@ namespace Emby.Server.Implementations.Dto
if (collectionFolder != null)
{
dto.OriginalCollectionType = collectionFolder.CollectionType;
dto.CollectionType = user == null ?
collectionFolder.CollectionType :
collectionFolder.GetViewType(user);
dto.CollectionType = collectionFolder.CollectionType;
}
if (fields.Contains(ItemFields.CanDelete))

View File

@@ -2010,7 +2010,7 @@ namespace Emby.Server.Implementations.Library
private string GetContentTypeOverride(string path, bool inherit)
{
var nameValuePair = ConfigurationManager.Configuration.ContentTypes.FirstOrDefault(i => string.Equals(i.Name, path, StringComparison.OrdinalIgnoreCase) || (inherit && !string.IsNullOrWhiteSpace(i.Name) && _fileSystem.ContainsSubPath(i.Name, path)));
var nameValuePair = ConfigurationManager.Configuration.ContentTypes.FirstOrDefault(i => _fileSystem.AreEqual(i.Name, path) || (inherit && !string.IsNullOrWhiteSpace(i.Name) && _fileSystem.ContainsSubPath(i.Name, path)));
if (nameValuePair != null)
{
return nameValuePair.Value;
@@ -3066,7 +3066,7 @@ namespace Emby.Server.Implementations.Library
{
removeList.Add(contentType);
}
else if (string.Equals(path, contentType.Name, StringComparison.OrdinalIgnoreCase)
else if (_fileSystem.AreEqual(path, contentType.Name)
|| _fileSystem.ContainsSubPath(path, contentType.Name))
{
removeList.Add(contentType);

View File

@@ -55,8 +55,6 @@ namespace Emby.Server.Implementations.Library
}).ToList();
}
var plainFolderIds = user.Configuration.PlainFolderViews.Select(i => new Guid(i)).ToList();
var groupedFolders = new List<ICollectionFolder>();
var list = new List<Folder>();
@@ -72,12 +70,6 @@ namespace Emby.Server.Implementations.Library
continue;
}
if (plainFolderIds.Contains(folder.Id) && UserView.IsEligibleForEnhancedView(folderViewType))
{
list.Add(folder);
continue;
}
if (collectionFolder != null && UserView.IsEligibleForGrouping(folder) && user.IsFolderGrouped(folder.Id))
{
groupedFolders.Add(collectionFolder);

View File

@@ -150,7 +150,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV
foreach (var recordingFolder in recordingFolders)
{
var pathsToCreate = recordingFolder.Locations
.Where(i => !allExistingPaths.Contains(i, StringComparer.OrdinalIgnoreCase))
.Where(i => !allExistingPaths.Any(p => _fileSystem.AreEqual(p, i)))
.ToList();
if (pathsToCreate.Count == 0)

View File

@@ -151,7 +151,9 @@ namespace Emby.Server.Implementations.UserViews
string[] collectionStripViewTypes =
{
CollectionType.Movies,
CollectionType.TvShows
CollectionType.TvShows,
CollectionType.Playlists,
CollectionType.Photos
};
return collectionStripViewTypes.Contains(view.ViewType ?? string.Empty);