You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
63 lines
2.3 KiB
63 lines
2.3 KiB
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using NzbDrone.Common.Extensions;
|
|
using NzbDrone.Core.Qualities;
|
|
|
|
namespace NzbDrone.Core.Parser.Model
|
|
{
|
|
public class ParsedTrackInfo
|
|
{
|
|
//public int TrackNumber { get; set; }
|
|
public string Title { get; set; }
|
|
public string CleanTitle { get; set; }
|
|
public List<string> Authors { get; set; }
|
|
public string AuthorTitle => Authors.FirstOrDefault();
|
|
public string BookTitle { get; set; }
|
|
public string SeriesTitle { get; set; }
|
|
public string SeriesIndex { get; set; }
|
|
public string Isbn { get; set; }
|
|
public string Asin { get; set; }
|
|
public string GoodreadsId { get; set; }
|
|
public string AuthorMBId { get; set; }
|
|
public string BookMBId { get; set; }
|
|
public string ReleaseMBId { get; set; }
|
|
public string RecordingMBId { get; set; }
|
|
public string TrackMBId { get; set; }
|
|
public int DiscNumber { get; set; }
|
|
public int DiscCount { get; set; }
|
|
public IsoCountry Country { get; set; }
|
|
public uint Year { get; set; }
|
|
public string Publisher { get; set; }
|
|
public string Label { get; set; }
|
|
public string Source { get; set; }
|
|
public string CatalogNumber { get; set; }
|
|
public string Disambiguation { get; set; }
|
|
public TimeSpan Duration { get; set; }
|
|
public QualityModel Quality { get; set; }
|
|
public MediaInfoModel MediaInfo { get; set; }
|
|
public int[] TrackNumbers { get; set; }
|
|
public string Language { get; set; }
|
|
public string ReleaseGroup { get; set; }
|
|
public string ReleaseHash { get; set; }
|
|
|
|
public ParsedTrackInfo()
|
|
{
|
|
Authors = new List<string>();
|
|
TrackNumbers = new int[0];
|
|
}
|
|
|
|
public override string ToString()
|
|
{
|
|
var trackString = "[Unknown Track]";
|
|
|
|
if (TrackNumbers != null && TrackNumbers.Any())
|
|
{
|
|
trackString = string.Format("{0}", string.Join("-", TrackNumbers.Select(c => c.ToString("00"))));
|
|
}
|
|
|
|
return string.Format("{0} - {1} - {2}:{3} {4}: {5}", Authors.ConcatToString(" & "), BookTitle, DiscNumber, trackString, Title, Quality);
|
|
}
|
|
}
|
|
}
|