| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 | 
							- using Emby.Naming.Common;
 
- namespace Emby.Naming.TV
 
- {
 
-     /// <summary>
 
-     /// Used to parse information about series from paths containing more information that only the series name.
 
-     /// Uses the same regular expressions as the EpisodePathParser but have different success criteria.
 
-     /// </summary>
 
-     public static class SeriesPathParser
 
-     {
 
-         /// <summary>
 
-         /// Parses information about series from path.
 
-         /// </summary>
 
-         /// <param name="options"><see cref="NamingOptions"/> object containing EpisodeExpressions and MultipleEpisodeExpressions.</param>
 
-         /// <param name="path">Path.</param>
 
-         /// <returns>Returns <see cref="SeriesPathParserResult"/> object.</returns>
 
-         public static SeriesPathParserResult Parse(NamingOptions options, string path)
 
-         {
 
-             SeriesPathParserResult? result = null;
 
-             foreach (var expression in options.EpisodeExpressions)
 
-             {
 
-                 var currentResult = Parse(path, expression);
 
-                 if (currentResult.Success)
 
-                 {
 
-                     result = currentResult;
 
-                     break;
 
-                 }
 
-             }
 
-             if (result is not null)
 
-             {
 
-                 if (!string.IsNullOrEmpty(result.SeriesName))
 
-                 {
 
-                     result.SeriesName = result.SeriesName.Trim(' ', '_', '.', '-');
 
-                 }
 
-             }
 
-             return result ?? new SeriesPathParserResult();
 
-         }
 
-         private static SeriesPathParserResult Parse(string name, EpisodeExpression expression)
 
-         {
 
-             var result = new SeriesPathParserResult();
 
-             var match = expression.Regex.Match(name);
 
-             if (match.Success && match.Groups.Count >= 3)
 
-             {
 
-                 if (expression.IsNamed)
 
-                 {
 
-                     result.SeriesName = match.Groups["seriesname"].Value;
 
-                     result.Success = !string.IsNullOrEmpty(result.SeriesName) && !match.Groups["seasonnumber"].ValueSpan.IsEmpty;
 
-                 }
 
-             }
 
-             return result;
 
-         }
 
-     }
 
- }
 
 
  |