2
0
Эх сурвалжийг харах

Match using directory names in ExtraResolver

Mark Monteiro 5 жил өмнө
parent
commit
2e1ec2858a

+ 9 - 1
Emby.Naming/Common/NamingOptions.cs

@@ -505,7 +505,15 @@ namespace Emby.Naming.Common
                     RuleType = ExtraRuleType.Suffix,
                     RuleType = ExtraRuleType.Suffix,
                     Token = "-short",
                     Token = "-short",
                     MediaType = MediaType.Video
                     MediaType = MediaType.Video
-                }
+                },
+                new ExtraRule { RuleType = ExtraRuleType.DirectoryName, MediaType = MediaType.Video, ExtraType = ExtraType.BehindTheScenes, Token = "behind the scenes" },
+                new ExtraRule { RuleType = ExtraRuleType.DirectoryName, MediaType = MediaType.Video, ExtraType = ExtraType.DeletedScene, Token = "deleted scenes" },
+                new ExtraRule { RuleType = ExtraRuleType.DirectoryName, MediaType = MediaType.Video, ExtraType = ExtraType.Interview, Token = "interviews" },
+                new ExtraRule { RuleType = ExtraRuleType.DirectoryName, MediaType = MediaType.Video, ExtraType = ExtraType.Scene, Token = "scenes" },
+                new ExtraRule { RuleType = ExtraRuleType.DirectoryName, MediaType = MediaType.Video, ExtraType = ExtraType.Sample, Token = "samples" },
+                new ExtraRule { RuleType = ExtraRuleType.DirectoryName, MediaType = MediaType.Video, ExtraType = ExtraType.Clip, Token = "shorts" },
+                new ExtraRule { RuleType = ExtraRuleType.DirectoryName, MediaType = MediaType.Video, ExtraType = ExtraType.Clip, Token = "featurettes" },
+                new ExtraRule { RuleType = ExtraRuleType.DirectoryName, MediaType = MediaType.Video, ExtraType = ExtraType.Unknown, Token = "extras" },
             };
             };
 
 
             Format3DRules = new[]
             Format3DRules = new[]

+ 9 - 0
Emby.Naming/Video/ExtraResolver.cs

@@ -80,6 +80,15 @@ namespace Emby.Naming.Video
                     result.Rule = rule;
                     result.Rule = rule;
                 }
                 }
             }
             }
+            else if (rule.RuleType == ExtraRuleType.DirectoryName)
+            {
+                var directoryName = Path.GetFileName(Path.GetDirectoryName(path));
+                if (string.Equals(directoryName, rule.Token, StringComparison.OrdinalIgnoreCase))
+                {
+                    result.ExtraType = rule.ExtraType;
+                    result.Rule = rule;
+                }
+            }
 
 
             return result;
             return result;
         }
         }

+ 9 - 4
Emby.Naming/Video/ExtraRuleType.cs

@@ -5,18 +5,23 @@ namespace Emby.Naming.Video
     public enum ExtraRuleType
     public enum ExtraRuleType
     {
     {
         /// <summary>
         /// <summary>
-        /// The suffix
+        /// Match <see cref="ExtraRule.Token"/> against a suffix in the file name.
         /// </summary>
         /// </summary>
         Suffix = 0,
         Suffix = 0,
 
 
         /// <summary>
         /// <summary>
-        /// The filename
+        /// Match <see cref="ExtraRule.Token"/> against the file name.
         /// </summary>
         /// </summary>
         Filename = 1,
         Filename = 1,
 
 
         /// <summary>
         /// <summary>
-        /// The regex
+        /// Match <see cref="ExtraRule.Token"/> against the a regex.
         /// </summary>
         /// </summary>
-        Regex = 2
+        Regex = 2,
+
+        /// <summary>
+        /// Match <see cref="ExtraRule.Token"/> against the directory name of the file.
+        /// </summary>
+        DirectoryName = 3,
     }
     }
 }
 }