EpisodeExpression.cs 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. using System.Text.RegularExpressions;
  2. using System;
  3. namespace Emby.Naming.Common
  4. {
  5. public class EpisodeExpression
  6. {
  7. private string _expression;
  8. public string Expression { get { return _expression; } set { _expression = value; _regex = null; } }
  9. public bool IsByDate { get; set; }
  10. public bool IsOptimistic { get; set; }
  11. public bool IsNamed { get; set; }
  12. public bool SupportsAbsoluteEpisodeNumbers { get; set; }
  13. public string[] DateTimeFormats { get; set; }
  14. private Regex _regex;
  15. public Regex Regex
  16. {
  17. get
  18. {
  19. return _regex ?? (_regex = new Regex(Expression, RegexOptions.IgnoreCase | RegexOptions.Compiled));
  20. }
  21. }
  22. public EpisodeExpression(string expression, bool byDate)
  23. {
  24. Expression = expression;
  25. IsByDate = byDate;
  26. DateTimeFormats = Array.Empty<string>();
  27. SupportsAbsoluteEpisodeNumbers = true;
  28. }
  29. public EpisodeExpression(string expression)
  30. : this(expression, false)
  31. {
  32. }
  33. public EpisodeExpression()
  34. : this(null)
  35. {
  36. }
  37. }
  38. }