123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166 |
- #nullable disable
- #pragma warning disable CS1591
- using System;
- using System.Collections.Generic;
- using System.Text.Json.Serialization;
- using Jellyfin.Extensions;
- using MediaBrowser.Model.LiveTv;
- namespace MediaBrowser.Controller.LiveTv
- {
- public class TimerInfo
- {
- public TimerInfo()
- {
- Genres = Array.Empty<string>();
- KeepUntil = KeepUntil.UntilDeleted;
- ProviderIds = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
- SeriesProviderIds = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
- Tags = Array.Empty<string>();
- }
- public Dictionary<string, string> ProviderIds { get; set; }
- public Dictionary<string, string> SeriesProviderIds { get; set; }
- public string[] Tags { get; set; }
- /// <summary>
- /// Gets or sets the id of the recording.
- /// </summary>
- public string Id { get; set; }
- /// <summary>
- /// Gets or sets the series timer identifier.
- /// </summary>
- public string SeriesTimerId { get; set; }
- /// <summary>
- /// Gets or sets the channelId of the recording.
- /// </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>
- /// Gets or sets the name of the recording.
- /// </summary>
- public string Name { get; set; }
- /// <summary>
- /// Gets or sets the description of the recording.
- /// </summary>
- public string Overview { get; set; }
- public string SeriesId { get; set; }
- /// <summary>
- /// Gets or sets the start date of the recording, in UTC.
- /// </summary>
- public DateTime StartDate { get; set; }
- /// <summary>
- /// Gets or sets the end date of the recording, in UTC.
- /// </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; }
- /// <summary>
- /// Gets or sets the episode number.
- /// </summary>
- /// <value>The episode number.</value>
- public int? EpisodeNumber { get; set; }
- public bool IsMovie { get; set; }
- public bool IsKids => Tags.Contains("Kids", StringComparison.OrdinalIgnoreCase);
- public bool IsSports => Tags.Contains("Sports", StringComparison.OrdinalIgnoreCase);
- public bool IsNews => Tags.Contains("News", StringComparison.OrdinalIgnoreCase);
- public bool IsSeries { get; set; }
- /// <summary>
- /// Gets a value indicating whether this instance is live.
- /// </summary>
- /// <value><c>true</c> if this instance is live; otherwise, <c>false</c>.</value>
- [JsonIgnore]
- public bool IsLive => Tags.Contains("Live", StringComparison.OrdinalIgnoreCase);
- [JsonIgnore]
- public bool IsPremiere => Tags.Contains("Premiere", StringComparison.OrdinalIgnoreCase);
- public int? ProductionYear { get; set; }
- public string EpisodeTitle { get; set; }
- public DateTime? OriginalAirDate { get; set; }
- public bool IsProgramSeries { get; set; }
- public bool IsRepeat { get; set; }
- public string HomePageUrl { get; set; }
- public float? CommunityRating { get; set; }
- public string OfficialRating { get; set; }
- public string[] Genres { get; set; }
- public string RecordingPath { get; set; }
- public KeepUntil KeepUntil { get; set; }
- }
- }
|