2011-03-03 08:50:33 +00:00
|
|
|
|
using System.Collections.Generic;
|
2011-02-26 04:07:22 +00:00
|
|
|
|
using System.Linq;
|
|
|
|
|
using NzbDrone.Core.Model;
|
|
|
|
|
|
2011-03-03 08:50:33 +00:00
|
|
|
|
namespace NzbDrone.Core.Helpers
|
2011-02-26 04:07:22 +00:00
|
|
|
|
{
|
|
|
|
|
public static class EpisodeSortingHelper
|
|
|
|
|
{
|
|
|
|
|
private static readonly List<EpisodeSortingType> SeparatorStyles = new List<EpisodeSortingType>
|
2011-04-10 02:44:01 +00:00
|
|
|
|
{
|
|
|
|
|
new EpisodeSortingType
|
|
|
|
|
{
|
|
|
|
|
Id = 0,
|
|
|
|
|
Name = "Dash",
|
|
|
|
|
Pattern = " - "
|
|
|
|
|
},
|
|
|
|
|
new EpisodeSortingType
|
|
|
|
|
{
|
|
|
|
|
Id = 1,
|
|
|
|
|
Name = "Space",
|
|
|
|
|
Pattern = " "
|
|
|
|
|
}
|
|
|
|
|
};
|
2011-02-26 04:07:22 +00:00
|
|
|
|
|
|
|
|
|
private static readonly List<EpisodeSortingType> NumberStyles = new List<EpisodeSortingType>
|
2011-04-10 02:44:01 +00:00
|
|
|
|
{
|
|
|
|
|
new EpisodeSortingType
|
|
|
|
|
{
|
|
|
|
|
Id = 0,
|
|
|
|
|
Name = "1x05",
|
|
|
|
|
Pattern = "%sx%0e"
|
|
|
|
|
},
|
|
|
|
|
new EpisodeSortingType
|
|
|
|
|
{
|
|
|
|
|
Id = 1,
|
|
|
|
|
Name = "01x05",
|
|
|
|
|
Pattern = "%0sx%0e"
|
|
|
|
|
},
|
|
|
|
|
new EpisodeSortingType
|
|
|
|
|
{
|
|
|
|
|
Id = 2,
|
|
|
|
|
Name = "S01E05",
|
|
|
|
|
Pattern = "S%0sE%0e"
|
|
|
|
|
},
|
|
|
|
|
new EpisodeSortingType
|
|
|
|
|
{
|
|
|
|
|
Id = 3,
|
|
|
|
|
Name = "s01e05",
|
|
|
|
|
Pattern = "s%0se%0e"
|
|
|
|
|
}
|
|
|
|
|
};
|
2011-02-26 04:07:22 +00:00
|
|
|
|
|
|
|
|
|
private static readonly List<EpisodeSortingType> MultiEpisodeStyles = new List<EpisodeSortingType>
|
2011-04-10 02:44:01 +00:00
|
|
|
|
{
|
|
|
|
|
new EpisodeSortingType
|
|
|
|
|
{
|
|
|
|
|
Id = 0,
|
|
|
|
|
Name = "Extend",
|
|
|
|
|
Pattern = ""
|
|
|
|
|
},
|
|
|
|
|
new EpisodeSortingType
|
|
|
|
|
{
|
|
|
|
|
Id = 1,
|
|
|
|
|
Name = "Duplicate",
|
|
|
|
|
Pattern = ""
|
|
|
|
|
},
|
|
|
|
|
new EpisodeSortingType
|
|
|
|
|
{
|
|
|
|
|
Id = 2,
|
|
|
|
|
Name = "Repeat",
|
|
|
|
|
Pattern = ""
|
|
|
|
|
}
|
|
|
|
|
};
|
2011-02-26 04:07:22 +00:00
|
|
|
|
|
|
|
|
|
public static List<EpisodeSortingType> GetSeparatorStyles()
|
|
|
|
|
{
|
|
|
|
|
return SeparatorStyles;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static List<EpisodeSortingType> GetNumberStyles()
|
|
|
|
|
{
|
|
|
|
|
return NumberStyles;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static List<EpisodeSortingType> GetMultiEpisodeStyles()
|
|
|
|
|
{
|
|
|
|
|
return MultiEpisodeStyles;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static EpisodeSortingType GetSeparatorStyle(int id)
|
|
|
|
|
{
|
|
|
|
|
return SeparatorStyles.Single(s => s.Id == id);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static EpisodeSortingType GetNumberStyle(int id)
|
|
|
|
|
{
|
|
|
|
|
return NumberStyles.Single(s => s.Id == id);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static EpisodeSortingType GetMultiEpisodeStyle(int id)
|
|
|
|
|
{
|
|
|
|
|
return MultiEpisodeStyles.Single(s => s.Id == id);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static EpisodeSortingType GetSeparatorStyle(string name)
|
|
|
|
|
{
|
|
|
|
|
return SeparatorStyles.Single(s => s.Name == name);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static EpisodeSortingType GetNumberStyle(string name)
|
|
|
|
|
{
|
|
|
|
|
return NumberStyles.Single(s => s.Name == name);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static EpisodeSortingType GetMultiEpisodeStyle(string name)
|
|
|
|
|
{
|
|
|
|
|
return MultiEpisodeStyles.Single(s => s.Name == name);
|
|
|
|
|
}
|
|
|
|
|
}
|
2011-04-10 02:44:01 +00:00
|
|
|
|
}
|