mirror of https://github.com/jellyfin/jellyfin.git
add tuner infos to tv service status
This commit is contained in:
parent
529a397b69
commit
9b370d904f
|
@ -1,4 +1,5 @@
|
||||||
using MediaBrowser.Model.LiveTv;
|
using MediaBrowser.Model.LiveTv;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
namespace MediaBrowser.Controller.LiveTv
|
namespace MediaBrowser.Controller.LiveTv
|
||||||
{
|
{
|
||||||
|
@ -27,5 +28,66 @@ namespace MediaBrowser.Controller.LiveTv
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <value><c>true</c> if this instance has update available; otherwise, <c>false</c>.</value>
|
/// <value><c>true</c> if this instance has update available; otherwise, <c>false</c>.</value>
|
||||||
public bool HasUpdateAvailable { get; set; }
|
public bool HasUpdateAvailable { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the tuners.
|
||||||
|
/// </summary>
|
||||||
|
/// <value>The tuners.</value>
|
||||||
|
public List<LiveTvTunerInfo> Tuners { get; set; }
|
||||||
|
|
||||||
|
public LiveTvServiceStatusInfo()
|
||||||
|
{
|
||||||
|
Tuners = new List<LiveTvTunerInfo>();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public class LiveTvTunerInfo
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the type of the source.
|
||||||
|
/// </summary>
|
||||||
|
/// <value>The type of the source.</value>
|
||||||
|
public string SourceType { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the name.
|
||||||
|
/// </summary>
|
||||||
|
/// <value>The name.</value>
|
||||||
|
public string Name { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the identifier.
|
||||||
|
/// </summary>
|
||||||
|
/// <value>The identifier.</value>
|
||||||
|
public string Id { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the status.
|
||||||
|
/// </summary>
|
||||||
|
/// <value>The status.</value>
|
||||||
|
public LiveTvTunerStatus Status { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the channel identifier.
|
||||||
|
/// </summary>
|
||||||
|
/// <value>The channel identifier.</value>
|
||||||
|
public string ChannelId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the timer identifier.
|
||||||
|
/// </summary>
|
||||||
|
/// <value>The timer identifier.</value>
|
||||||
|
public string TimerId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the clients.
|
||||||
|
/// </summary>
|
||||||
|
/// <value>The clients.</value>
|
||||||
|
public List<string> Clients { get; set; }
|
||||||
|
|
||||||
|
public LiveTvTunerInfo()
|
||||||
|
{
|
||||||
|
Clients = new List<string>();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -103,4 +103,12 @@ namespace MediaBrowser.Model.LiveTv
|
||||||
Ok = 0,
|
Ok = 0,
|
||||||
Unavailable = 1
|
Unavailable = 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public enum LiveTvTunerStatus
|
||||||
|
{
|
||||||
|
Available = 0,
|
||||||
|
Disabled = 1,
|
||||||
|
RecordingTv = 2,
|
||||||
|
LiveTv = 3
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -86,7 +86,10 @@ namespace MediaBrowser.Server.Implementations.FileOrganization
|
||||||
|
|
||||||
if (options.DeleteEmptyFolders)
|
if (options.DeleteEmptyFolders)
|
||||||
{
|
{
|
||||||
DeleteEmptyFolders(path);
|
foreach (var subfolder in GetDirectories(path).ToList())
|
||||||
|
{
|
||||||
|
DeleteEmptyFolders(subfolder);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -99,6 +102,27 @@ namespace MediaBrowser.Server.Implementations.FileOrganization
|
||||||
progress.Report(100);
|
progress.Report(100);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the directories.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="path">The path.</param>
|
||||||
|
/// <returns>IEnumerable{System.String}.</returns>
|
||||||
|
private IEnumerable<string> GetDirectories(string path)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
return Directory
|
||||||
|
.EnumerateDirectories(path, "*", SearchOption.TopDirectoryOnly)
|
||||||
|
.ToList();
|
||||||
|
}
|
||||||
|
catch (IOException ex)
|
||||||
|
{
|
||||||
|
_logger.ErrorException("Error getting files from {0}", ex, path);
|
||||||
|
|
||||||
|
return new List<string>();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets the files to organize.
|
/// Gets the files to organize.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -164,6 +188,7 @@ namespace MediaBrowser.Server.Implementations.FileOrganization
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
_logger.Debug("Deleting empty directory {0}", path);
|
||||||
Directory.Delete(path);
|
Directory.Delete(path);
|
||||||
}
|
}
|
||||||
catch (UnauthorizedAccessException) { }
|
catch (UnauthorizedAccessException) { }
|
||||||
|
|
Loading…
Reference in New Issue