2021-05-06 15:39:20 -07:00
|
|
|
#nullable disable
|
|
|
|
|
2020-08-22 12:56:24 -07:00
|
|
|
#pragma warning disable CS1591
|
|
|
|
|
2019-01-13 13:01:16 -07:00
|
|
|
using System;
|
2018-12-27 16:27:57 -07:00
|
|
|
using System.Collections.Generic;
|
2019-10-15 08:49:49 -07:00
|
|
|
using System.Text.Json.Serialization;
|
2021-12-20 05:31:07 -07:00
|
|
|
using Jellyfin.Extensions;
|
2019-01-13 12:25:32 -07:00
|
|
|
using MediaBrowser.Model.LiveTv;
|
2018-12-27 16:27:57 -07:00
|
|
|
|
|
|
|
namespace MediaBrowser.Controller.LiveTv
|
|
|
|
{
|
|
|
|
public class TimerInfo
|
|
|
|
{
|
|
|
|
public TimerInfo()
|
|
|
|
{
|
2018-12-27 14:43:48 -07:00
|
|
|
Genres = Array.Empty<string>();
|
2018-12-27 16:27:57 -07:00
|
|
|
KeepUntil = KeepUntil.UntilDeleted;
|
|
|
|
ProviderIds = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
|
|
|
|
SeriesProviderIds = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
|
2018-12-27 14:43:48 -07:00
|
|
|
Tags = Array.Empty<string>();
|
2018-12-27 16:27:57 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
public Dictionary<string, string> ProviderIds { get; set; }
|
2020-06-15 14:43:52 -07:00
|
|
|
|
2018-12-27 16:27:57 -07:00
|
|
|
public Dictionary<string, string> SeriesProviderIds { get; set; }
|
2020-06-15 14:43:52 -07:00
|
|
|
|
2018-12-27 16:27:57 -07:00
|
|
|
public string[] Tags { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
2021-05-13 06:32:02 -07:00
|
|
|
/// Gets or sets the id of the recording.
|
2018-12-27 16:27:57 -07:00
|
|
|
/// </summary>
|
|
|
|
public string Id { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Gets or sets the series timer identifier.
|
|
|
|
/// </summary>
|
|
|
|
public string SeriesTimerId { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
2021-05-13 06:32:02 -07:00
|
|
|
/// Gets or sets the channelId of the recording.
|
2018-12-27 16:27:57 -07:00
|
|
|
/// </summary>
|
|
|
|
public string ChannelId { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Gets or sets the program identifier.
|
|
|
|
/// </summary>
|
|
|
|
/// <value>The program identifier.</value>
|
|
|
|
public string ProgramId { get; set; }
|
|
|
|
|
|
|
|
public string ShowId { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
2021-05-13 06:32:02 -07:00
|
|
|
/// Gets or sets the name of the recording.
|
2018-12-27 16:27:57 -07:00
|
|
|
/// </summary>
|
|
|
|
public string Name { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
2021-05-13 06:32:02 -07:00
|
|
|
/// Gets or sets the description of the recording.
|
2018-12-27 16:27:57 -07:00
|
|
|
/// </summary>
|
|
|
|
public string Overview { get; set; }
|
|
|
|
|
|
|
|
public string SeriesId { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
2021-05-13 06:32:02 -07:00
|
|
|
/// Gets or sets the start date of the recording, in UTC.
|
2018-12-27 16:27:57 -07:00
|
|
|
/// </summary>
|
|
|
|
public DateTime StartDate { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
2021-05-13 06:32:02 -07:00
|
|
|
/// Gets or sets the end date of the recording, in UTC.
|
2018-12-27 16:27:57 -07:00
|
|
|
/// </summary>
|
|
|
|
public DateTime EndDate { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Gets or sets the status.
|
|
|
|
/// </summary>
|
|
|
|
/// <value>The status.</value>
|
|
|
|
public RecordingStatus Status { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Gets or sets the pre padding seconds.
|
|
|
|
/// </summary>
|
|
|
|
/// <value>The pre padding seconds.</value>
|
|
|
|
public int PrePaddingSeconds { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Gets or sets the post padding seconds.
|
|
|
|
/// </summary>
|
|
|
|
/// <value>The post padding seconds.</value>
|
|
|
|
public int PostPaddingSeconds { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Gets or sets a value indicating whether this instance is pre padding required.
|
|
|
|
/// </summary>
|
|
|
|
/// <value><c>true</c> if this instance is pre padding required; otherwise, <c>false</c>.</value>
|
|
|
|
public bool IsPrePaddingRequired { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Gets or sets a value indicating whether this instance is post padding required.
|
|
|
|
/// </summary>
|
|
|
|
/// <value><c>true</c> if this instance is post padding required; otherwise, <c>false</c>.</value>
|
|
|
|
public bool IsPostPaddingRequired { get; set; }
|
|
|
|
|
|
|
|
public bool IsManual { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Gets or sets the priority.
|
|
|
|
/// </summary>
|
|
|
|
/// <value>The priority.</value>
|
|
|
|
public int Priority { get; set; }
|
|
|
|
|
|
|
|
public int RetryCount { get; set; }
|
|
|
|
|
|
|
|
// Program properties
|
|
|
|
public int? SeasonNumber { get; set; }
|
2020-09-28 13:04:31 -07:00
|
|
|
|
2018-12-27 16:27:57 -07:00
|
|
|
/// <summary>
|
|
|
|
/// Gets or sets the episode number.
|
|
|
|
/// </summary>
|
|
|
|
/// <value>The episode number.</value>
|
|
|
|
public int? EpisodeNumber { get; set; }
|
2019-01-17 12:24:39 -07:00
|
|
|
|
2018-12-27 16:27:57 -07:00
|
|
|
public bool IsMovie { get; set; }
|
2019-01-17 12:24:39 -07:00
|
|
|
|
2021-12-20 05:31:07 -07:00
|
|
|
public bool IsKids => Tags.Contains("Kids", StringComparison.OrdinalIgnoreCase);
|
2019-01-13 13:31:14 -07:00
|
|
|
|
2021-12-20 05:31:07 -07:00
|
|
|
public bool IsSports => Tags.Contains("Sports", StringComparison.OrdinalIgnoreCase);
|
2019-01-13 13:31:14 -07:00
|
|
|
|
2021-12-20 05:31:07 -07:00
|
|
|
public bool IsNews => Tags.Contains("News", StringComparison.OrdinalIgnoreCase);
|
2019-01-17 12:24:39 -07:00
|
|
|
|
2018-12-27 16:27:57 -07:00
|
|
|
public bool IsSeries { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
2021-05-13 06:32:02 -07:00
|
|
|
/// Gets a value indicating whether this instance is live.
|
2018-12-27 16:27:57 -07:00
|
|
|
/// </summary>
|
|
|
|
/// <value><c>true</c> if this instance is live; otherwise, <c>false</c>.</value>
|
2019-10-15 08:49:49 -07:00
|
|
|
[JsonIgnore]
|
2021-12-20 05:31:07 -07:00
|
|
|
public bool IsLive => Tags.Contains("Live", StringComparison.OrdinalIgnoreCase);
|
2018-12-27 16:27:57 -07:00
|
|
|
|
2019-10-15 08:49:49 -07:00
|
|
|
[JsonIgnore]
|
2021-12-20 05:31:07 -07:00
|
|
|
public bool IsPremiere => Tags.Contains("Premiere", StringComparison.OrdinalIgnoreCase);
|
2018-12-27 16:27:57 -07:00
|
|
|
|
|
|
|
public int? ProductionYear { get; set; }
|
2019-01-17 12:24:39 -07:00
|
|
|
|
2018-12-27 16:27:57 -07:00
|
|
|
public string EpisodeTitle { get; set; }
|
2019-01-17 12:24:39 -07:00
|
|
|
|
2018-12-27 16:27:57 -07:00
|
|
|
public DateTime? OriginalAirDate { get; set; }
|
2019-01-17 12:24:39 -07:00
|
|
|
|
2018-12-27 16:27:57 -07:00
|
|
|
public bool IsProgramSeries { get; set; }
|
2019-01-17 12:24:39 -07:00
|
|
|
|
2018-12-27 16:27:57 -07:00
|
|
|
public bool IsRepeat { get; set; }
|
2019-01-17 12:24:39 -07:00
|
|
|
|
2018-12-27 16:27:57 -07:00
|
|
|
public string HomePageUrl { get; set; }
|
2020-06-15 14:43:52 -07:00
|
|
|
|
2018-12-27 16:27:57 -07:00
|
|
|
public float? CommunityRating { get; set; }
|
2020-06-15 14:43:52 -07:00
|
|
|
|
2018-12-27 16:27:57 -07:00
|
|
|
public string OfficialRating { get; set; }
|
2020-06-15 14:43:52 -07:00
|
|
|
|
2018-12-27 16:27:57 -07:00
|
|
|
public string[] Genres { get; set; }
|
2020-06-15 14:43:52 -07:00
|
|
|
|
2018-12-27 16:27:57 -07:00
|
|
|
public string RecordingPath { get; set; }
|
2020-06-15 14:43:52 -07:00
|
|
|
|
2018-12-27 16:27:57 -07:00
|
|
|
public KeepUntil KeepUntil { get; set; }
|
|
|
|
}
|
|
|
|
}
|