mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-02-21 20:12:48 +00:00
update m3u tuner
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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; }
|
||||
|
||||
Reference in New Issue
Block a user