aboutsummaryrefslogtreecommitdiff
path: root/Emby.Naming/Common/EpisodeExpression.cs
diff options
context:
space:
mode:
authorstefan <stefan@hegedues.at>2018-09-12 19:26:21 +0200
committerstefan <stefan@hegedues.at>2018-09-12 19:26:21 +0200
commit48facb797ed912e4ea6b04b17d1ff190ac2daac4 (patch)
tree8dae77a31670a888d733484cb17dd4077d5444e8 /Emby.Naming/Common/EpisodeExpression.cs
parentc32d8656382a0eacb301692e0084377fc433ae9b (diff)
Update to 3.5.2 and .net core 2.1
Diffstat (limited to 'Emby.Naming/Common/EpisodeExpression.cs')
-rw-r--r--Emby.Naming/Common/EpisodeExpression.cs45
1 files changed, 45 insertions, 0 deletions
diff --git a/Emby.Naming/Common/EpisodeExpression.cs b/Emby.Naming/Common/EpisodeExpression.cs
new file mode 100644
index 000000000..3b9687c60
--- /dev/null
+++ b/Emby.Naming/Common/EpisodeExpression.cs
@@ -0,0 +1,45 @@
+using System.Text.RegularExpressions;
+using System;
+
+namespace Emby.Naming.Common
+{
+ public class EpisodeExpression
+ {
+ private string _expression;
+ public string Expression { get { return _expression; } set { _expression = value; _regex = null; } }
+
+ public bool IsByDate { get; set; }
+ public bool IsOptimistic { get; set; }
+ public bool IsNamed { get; set; }
+ public bool SupportsAbsoluteEpisodeNumbers { get; set; }
+
+ public string[] DateTimeFormats { get; set; }
+
+ private Regex _regex;
+ public Regex Regex
+ {
+ get
+ {
+ return _regex ?? (_regex = new Regex(Expression, RegexOptions.IgnoreCase | RegexOptions.Compiled));
+ }
+ }
+
+ public EpisodeExpression(string expression, bool byDate)
+ {
+ Expression = expression;
+ IsByDate = byDate;
+ DateTimeFormats = Array.Empty<string>();
+ SupportsAbsoluteEpisodeNumbers = true;
+ }
+
+ public EpisodeExpression(string expression)
+ : this(expression, false)
+ {
+ }
+
+ public EpisodeExpression()
+ : this(null)
+ {
+ }
+ }
+}