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