2011-04-04 05:50:12 +02:00
|
|
|
|
using System;
|
2012-02-05 07:34:36 +01:00
|
|
|
|
using System.Linq;
|
2011-04-04 05:50:12 +02:00
|
|
|
|
using System.Collections.Generic;
|
2011-05-20 07:52:05 +02:00
|
|
|
|
using NzbDrone.Core.Repository;
|
2010-10-21 03:49:23 +02:00
|
|
|
|
|
|
|
|
|
namespace NzbDrone.Core.Model
|
|
|
|
|
{
|
2011-03-18 16:39:19 +01:00
|
|
|
|
public class EpisodeParseResult
|
2010-10-21 03:49:23 +02:00
|
|
|
|
{
|
2012-01-20 06:37:08 +01:00
|
|
|
|
public string SeriesTitle { get; set; }
|
|
|
|
|
public string CleanTitle
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
return Parser.NormalizeTitle(SeriesTitle);
|
|
|
|
|
}
|
|
|
|
|
}
|
2011-06-23 08:56:17 +02:00
|
|
|
|
|
2011-06-22 03:12:20 +02:00
|
|
|
|
public string EpisodeTitle { get; set; }
|
2011-04-23 22:53:13 +02:00
|
|
|
|
|
2012-01-20 06:37:08 +01:00
|
|
|
|
public int SeasonNumber { get; set; }
|
2011-05-20 06:59:35 +02:00
|
|
|
|
|
2012-01-20 06:37:08 +01:00
|
|
|
|
public List<int> EpisodeNumbers { get; set; }
|
2010-10-30 04:46:32 +02:00
|
|
|
|
|
2012-01-20 06:37:08 +01:00
|
|
|
|
public DateTime? AirDate { get; set; }
|
2011-06-22 03:12:20 +02:00
|
|
|
|
|
2011-05-28 21:23:35 +02:00
|
|
|
|
public Quality Quality { get; set; }
|
2011-04-04 06:20:01 +02:00
|
|
|
|
|
2011-05-09 08:16:26 +02:00
|
|
|
|
public LanguageType Language { get; set; }
|
|
|
|
|
|
2011-05-20 06:59:35 +02:00
|
|
|
|
public string NzbUrl { get; set; }
|
|
|
|
|
|
2012-01-20 07:35:10 +01:00
|
|
|
|
public string OriginalString { get; set; }
|
2011-05-24 06:12:54 +02:00
|
|
|
|
|
2011-05-20 07:52:05 +02:00
|
|
|
|
public Series Series { get; set; }
|
|
|
|
|
|
2011-05-24 06:12:54 +02:00
|
|
|
|
public String Indexer { get; set; }
|
|
|
|
|
|
2011-08-27 07:37:20 +02:00
|
|
|
|
public bool FullSeason { get; set; }
|
|
|
|
|
|
2011-09-14 04:25:33 +02:00
|
|
|
|
public long Size { get; set; }
|
|
|
|
|
|
2012-02-17 10:32:33 +01:00
|
|
|
|
public int Age { get; set; }
|
|
|
|
|
|
2010-10-30 04:46:32 +02:00
|
|
|
|
public override string ToString()
|
|
|
|
|
{
|
2011-06-23 08:56:17 +02:00
|
|
|
|
if (AirDate != null && EpisodeNumbers == null)
|
2012-01-20 06:37:08 +01:00
|
|
|
|
return string.Format("{0} - {1} {2}", SeriesTitle, AirDate.Value.ToShortDateString(), Quality);
|
2011-06-23 08:56:17 +02:00
|
|
|
|
|
2012-01-31 07:55:57 +01:00
|
|
|
|
if (FullSeason)
|
|
|
|
|
return string.Format("{0} - Season {1:00}", SeriesTitle, SeasonNumber);
|
|
|
|
|
|
2012-02-05 07:34:36 +01:00
|
|
|
|
if (EpisodeNumbers != null && EpisodeNumbers.Any())
|
2012-01-20 06:37:08 +01:00
|
|
|
|
return string.Format("{0} - S{1:00}E{2} {3}", SeriesTitle, SeasonNumber,
|
2012-02-05 07:34:36 +01:00
|
|
|
|
String.Join("-", EpisodeNumbers.Select(c => c.ToString("00"))), Quality);
|
2011-04-20 04:59:28 +02:00
|
|
|
|
|
2012-02-05 07:34:36 +01:00
|
|
|
|
return "[Invalid format]";
|
2011-04-20 04:59:28 +02:00
|
|
|
|
|
2010-10-30 04:46:32 +02:00
|
|
|
|
}
|
2010-10-21 03:49:23 +02:00
|
|
|
|
}
|
|
|
|
|
}
|