update m3u tuner

This commit is contained in:
Luke Pulverenti
2017-08-20 15:10:00 -04:00
parent 1573cc2491
commit f4765a87cc
12 changed files with 113 additions and 164 deletions

View File

@@ -148,18 +148,16 @@ namespace MediaBrowser.Controller.Entities
// When resolving the root, we need it's grandchildren (children of user views)
var flattenFolderDepth = isPhysicalRoot ? 2 : 0;
var fileSystemDictionary = FileData.GetFilteredFileSystemEntries(directoryService, args.Path, FileSystem, Logger, args, flattenFolderDepth: flattenFolderDepth, resolveShortcuts: isPhysicalRoot || args.IsVf);
var files = FileData.GetFilteredFileSystemEntries(directoryService, args.Path, FileSystem, Logger, args, flattenFolderDepth: flattenFolderDepth, resolveShortcuts: isPhysicalRoot || args.IsVf);
// Need to remove subpaths that may have been resolved from shortcuts
// Example: if \\server\movies exists, then strip out \\server\movies\action
if (isPhysicalRoot)
{
var paths = LibraryManager.NormalizeRootPathList(fileSystemDictionary.Values);
fileSystemDictionary = paths.ToDictionary(i => i.FullName);
files = LibraryManager.NormalizeRootPathList(files).ToArray();
}
args.FileSystemDictionary = fileSystemDictionary;
args.FileSystemChildren = files;
}
_requiresRefresh = _requiresRefresh || !args.PhysicalLocations.SequenceEqual(PhysicalLocations);

View File

@@ -292,18 +292,16 @@ namespace MediaBrowser.Controller.Entities
// When resolving the root, we need it's grandchildren (children of user views)
var flattenFolderDepth = isPhysicalRoot ? 2 : 0;
var fileSystemDictionary = FileData.GetFilteredFileSystemEntries(directoryService, args.Path, FileSystem, Logger, args, flattenFolderDepth: flattenFolderDepth, resolveShortcuts: isPhysicalRoot || args.IsVf);
var files = FileData.GetFilteredFileSystemEntries(directoryService, args.Path, FileSystem, Logger, args, flattenFolderDepth: flattenFolderDepth, resolveShortcuts: isPhysicalRoot || args.IsVf);
// Need to remove subpaths that may have been resolved from shortcuts
// Example: if \\server\movies exists, then strip out \\server\movies\action
if (isPhysicalRoot)
{
var paths = LibraryManager.NormalizeRootPathList(fileSystemDictionary.Values);
fileSystemDictionary = paths.ToDictionary(i => i.FullName);
files = LibraryManager.NormalizeRootPathList(files).ToArray();
}
args.FileSystemDictionary = fileSystemDictionary;
args.FileSystemChildren = files;
}
_requiresRefresh = _requiresRefresh || !args.PhysicalLocations.SequenceEqual(PhysicalLocations);

View File

@@ -8,7 +8,6 @@ using System;
using System.Collections.Generic;
using System.Linq;
using MediaBrowser.Model.Serialization;
using MediaBrowser.Controller.Entities.Audio;
namespace MediaBrowser.Controller.Entities.Movies
{
@@ -82,20 +81,11 @@ namespace MediaBrowser.Controller.Entities.Movies
protected override IEnumerable<BaseItem> GetNonCachedChildren(IDirectoryService directoryService)
{
if (IsLegacyBoxSet)
{
return base.GetNonCachedChildren(directoryService);
}
return new List<BaseItem>();
}
protected override List<BaseItem> LoadChildren()
{
if (IsLegacyBoxSet)
{
return base.LoadChildren();
}
// Save a trip to the database
return new List<BaseItem>();
}
@@ -109,34 +99,6 @@ namespace MediaBrowser.Controller.Entities.Movies
}
}
[IgnoreDataMember]
protected override bool SupportsShortcutChildren
{
get
{
if (IsLegacyBoxSet)
{
return false;
}
return false;
}
}
[IgnoreDataMember]
private bool IsLegacyBoxSet
{
get
{
if (string.IsNullOrWhiteSpace(Path))
{
return false;
}
return !FileSystem.ContainsSubPath(ConfigurationManager.ApplicationPaths.DataPath, Path);
}
}
public override bool IsAuthorizedToDelete(User user)
{
return true;

View File

@@ -3,7 +3,7 @@ using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Logging;
using System;
using System.Collections.Generic;
using System.Linq;
using MediaBrowser.Model.IO;
namespace MediaBrowser.Controller.IO
@@ -36,7 +36,7 @@ namespace MediaBrowser.Controller.IO
/// <param name="resolveShortcuts">if set to <c>true</c> [resolve shortcuts].</param>
/// <returns>Dictionary{System.StringFileSystemInfo}.</returns>
/// <exception cref="System.ArgumentNullException">path</exception>
public static Dictionary<string, FileSystemMetadata> GetFilteredFileSystemEntries(IDirectoryService directoryService,
public static FileSystemMetadata[] GetFilteredFileSystemEntries(IDirectoryService directoryService,
string path,
IFileSystem fileSystem,
ILogger logger,
@@ -57,7 +57,7 @@ namespace MediaBrowser.Controller.IO
if (!resolveShortcuts && flattenFolderDepth == 0)
{
return GetFileSystemDictionary(entries);
return entries;
}
var dict = new Dictionary<string, FileSystemMetadata>(StringComparer.OrdinalIgnoreCase);
@@ -98,7 +98,7 @@ namespace MediaBrowser.Controller.IO
{
foreach (var child in GetFilteredFileSystemEntries(directoryService, fullName, fileSystem, logger, args, flattenFolderDepth: flattenFolderDepth - 1, resolveShortcuts: resolveShortcuts))
{
dict[child.Key] = child.Value;
dict[child.FullName] = child;
}
}
else
@@ -107,7 +107,7 @@ namespace MediaBrowser.Controller.IO
}
}
return dict;
return dict.Values.ToArray();
}
}

View File

@@ -277,7 +277,7 @@ namespace MediaBrowser.Controller.Library
/// </summary>
/// <param name="paths">The paths.</param>
/// <returns>IEnumerable{System.String}.</returns>
IEnumerable<FileSystemMetadata> NormalizeRootPathList(IEnumerable<FileSystemMetadata> paths);
List<FileSystemMetadata> NormalizeRootPathList(IEnumerable<FileSystemMetadata> paths);
/// <summary>
/// Registers the item.

View File

@@ -40,20 +40,7 @@ namespace MediaBrowser.Controller.Library
/// Gets the file system children.
/// </summary>
/// <value>The file system children.</value>
public IEnumerable<FileSystemMetadata> FileSystemChildren
{
get
{
var dict = FileSystemDictionary;
if (dict == null)
{
return new List<FileSystemMetadata>();
}
return dict.Values;
}
}
public FileSystemMetadata[] FileSystemChildren { get; set; }
public LibraryOptions LibraryOptions { get; set; }
@@ -62,12 +49,6 @@ namespace MediaBrowser.Controller.Library
return LibraryOptions ?? (LibraryOptions = (Parent == null ? new LibraryOptions() : BaseItem.LibraryManager.GetLibraryOptions(Parent)));
}
/// <summary>
/// Gets or sets the file system dictionary.
/// </summary>
/// <value>The file system dictionary.</value>
public Dictionary<string, FileSystemMetadata> FileSystemDictionary { get; set; }
/// <summary>
/// Gets or sets the parent.
/// </summary>
@@ -224,13 +205,11 @@ namespace MediaBrowser.Controller.Library
throw new ArgumentNullException();
}
if (FileSystemDictionary != null)
foreach (var file in FileSystemChildren)
{
FileSystemMetadata entry;
if (FileSystemDictionary.TryGetValue(path, out entry))
if (string.Equals(file.FullName, path, StringComparison.Ordinal))
{
return entry;
return file;
}
}

View File

@@ -25,6 +25,8 @@ namespace MediaBrowser.Controller.LiveTv
/// <value>The id of the channel.</value>
public string Id { get; set; }
public string Path { get; set; }
public string TunerChannelId { get; set; }
public string CallSign { get; set; }