2
0

EpisodeExpression.cs 1.1 KB

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