* extract remaining nfo xml serializers * add artist nfo tests * add music video nfo tests * add tv show nfo reader tests * custom artist nfo reader * custom music video nfo reader * custom tv show nfo reader * local metadata parsing cleanup * update changelog
51 lines
1.2 KiB
C#
51 lines
1.2 KiB
C#
using System.Xml.Serialization;
|
|
|
|
namespace ErsatzTV.Core.Metadata.Nfo;
|
|
|
|
[XmlRoot("tvshow")]
|
|
public class TvShowNfo
|
|
{
|
|
[XmlElement("title")]
|
|
public string Title { get; set; }
|
|
|
|
[XmlIgnore]
|
|
public int? Year { get; set; }
|
|
|
|
[XmlElement("year")]
|
|
public string YearAsText
|
|
{
|
|
get => Year.HasValue ? Year.ToString() : null;
|
|
set => Year = !string.IsNullOrWhiteSpace(value) ? int.Parse(value) : default(int?);
|
|
}
|
|
|
|
[XmlElement("plot")]
|
|
public string Plot { get; set; }
|
|
|
|
[XmlElement("outline")]
|
|
public string Outline { get; set; }
|
|
|
|
[XmlElement("tagline")]
|
|
public string Tagline { get; set; }
|
|
|
|
[XmlElement("mpaa")]
|
|
public string ContentRating { get; set; }
|
|
|
|
[XmlElement("premiered")]
|
|
public Option<DateTime> Premiered { get; set; }
|
|
|
|
[XmlElement("genre")]
|
|
public List<string> Genres { get; set; }
|
|
|
|
[XmlElement("tag")]
|
|
public List<string> Tags { get; set; }
|
|
|
|
[XmlElement("studio")]
|
|
public List<string> Studios { get; set; }
|
|
|
|
[XmlElement("actor")]
|
|
public List<ActorNfo> Actors { get; set; }
|
|
|
|
[XmlElement("uniqueid")]
|
|
public List<UniqueIdNfo> UniqueIds { get; set; }
|
|
}
|