瀏覽代碼

add comma delimiters for writers and actors

Luke Pulverenti 12 年之前
父節點
當前提交
4a5831adb6
共有 1 個文件被更改,包括 26 次插入24 次删除
  1. 26 24
      MediaBrowser.Providers/TV/RemoteEpisodeProvider.cs

+ 26 - 24
MediaBrowser.Providers/TV/RemoteEpisodeProvider.cs

@@ -69,7 +69,7 @@ namespace MediaBrowser.Providers.TV
                 return ItemUpdateType.ImageUpdate | ItemUpdateType.MetadataDownload;
                 return ItemUpdateType.ImageUpdate | ItemUpdateType.MetadataDownload;
             }
             }
         }
         }
-        
+
         /// <summary>
         /// <summary>
         /// Gets the priority.
         /// Gets the priority.
         /// </summary>
         /// </summary>
@@ -147,7 +147,7 @@ namespace MediaBrowser.Providers.TV
                     return seriesXmlFileInfo.LastWriteTimeUtc;
                     return seriesXmlFileInfo.LastWriteTimeUtc;
                 }
                 }
             }
             }
-            
+
             return base.CompareDate(item);
             return base.CompareDate(item);
         }
         }
 
 
@@ -240,7 +240,7 @@ namespace MediaBrowser.Providers.TV
             {
             {
                 return status;
                 return status;
             }
             }
-            IEnumerable<XmlDocument> extraEpisodesNode = new XmlDocument[]{};
+            IEnumerable<XmlDocument> extraEpisodesNode = new XmlDocument[] { };
 
 
             if (episode.IndexNumberEnd.HasValue)
             if (episode.IndexNumberEnd.HasValue)
             {
             {
@@ -262,7 +262,7 @@ namespace MediaBrowser.Providers.TV
                     var xElements = all.Where(x => int.Parse(x.Element("EpisodeNumber").Value) > episode.IndexNumber && int.Parse(x.Element("EpisodeNumber").Value) <= episode.IndexNumberEnd.Value);
                     var xElements = all.Where(x => int.Parse(x.Element("EpisodeNumber").Value) > episode.IndexNumber && int.Parse(x.Element("EpisodeNumber").Value) <= episode.IndexNumberEnd.Value);
                     extraEpisodesNode = xElements.OrderBy(x => x.Element("EpisodeNumber").Value).Select(x => x.ToXmlDocument());
                     extraEpisodesNode = xElements.OrderBy(x => x.Element("EpisodeNumber").Value).Select(x => x.ToXmlDocument());
                 }
                 }
-               
+
             }
             }
             var doc = new XmlDocument();
             var doc = new XmlDocument();
             doc.LoadXml(episodeNode.OuterXml);
             doc.LoadXml(episodeNode.OuterXml);
@@ -320,14 +320,15 @@ namespace MediaBrowser.Providers.TV
                     var persons = Regex.Matches(actors, @"([^|()]|\([^)]*\)*)+")
                     var persons = Regex.Matches(actors, @"([^|()]|\([^)]*\)*)+")
                         .Cast<Match>()
                         .Cast<Match>()
                         .Select(m => m.Value).Where(i => !string.IsNullOrWhiteSpace(i) && !string.IsNullOrEmpty(i));
                         .Select(m => m.Value).Where(i => !string.IsNullOrWhiteSpace(i) && !string.IsNullOrEmpty(i));
-                    foreach (var person in persons.Select(str => {
-                                                              var nameGroup = str.Split(new[] {'('}, 2, StringSplitOptions.RemoveEmptyEntries);
-                                                              var name = nameGroup[0].Trim();
-                                                              var roles = nameGroup.Count() > 1 ? nameGroup[1].Trim() : null;
-                                                              if (roles != null)
-                                                                  roles = roles.EndsWith(")") ? roles.Substring(0, roles.Length - 1) : roles;
-                                                              return new PersonInfo {Type = PersonType.GuestStar, Name = name, Role = roles};
-                                                          }))
+                    foreach (var person in persons.Select(str =>
+                    {
+                        var nameGroup = str.Split(new[] { '(' }, 2, StringSplitOptions.RemoveEmptyEntries);
+                        var name = nameGroup[0].Trim();
+                        var roles = nameGroup.Count() > 1 ? nameGroup[1].Trim() : null;
+                        if (roles != null)
+                            roles = roles.EndsWith(")") ? roles.Substring(0, roles.Length - 1) : roles;
+                        return new PersonInfo { Type = PersonType.GuestStar, Name = name, Role = roles };
+                    }))
                     {
                     {
                         episode.AddPerson(person);
                         episode.AddPerson(person);
                     }
                     }
@@ -340,14 +341,15 @@ namespace MediaBrowser.Providers.TV
                     var persons = Regex.Matches(extraActors, @"([^|()]|\([^)]*\)*)+")
                     var persons = Regex.Matches(extraActors, @"([^|()]|\([^)]*\)*)+")
                         .Cast<Match>()
                         .Cast<Match>()
                         .Select(m => m.Value).Where(i => !string.IsNullOrWhiteSpace(i) && !string.IsNullOrEmpty(i));
                         .Select(m => m.Value).Where(i => !string.IsNullOrWhiteSpace(i) && !string.IsNullOrEmpty(i));
-                    foreach (var person in persons.Select(str => {
-                                                              var nameGroup = str.Split(new[] {'('}, 2, StringSplitOptions.RemoveEmptyEntries);
-                                                              var name = nameGroup[0].Trim();
-                                                              var roles = nameGroup.Count() > 1 ? nameGroup[1].Trim() : null;
-                                                              if (roles != null)
-                                                                  roles = roles.EndsWith(")") ? roles.Substring(0, roles.Length - 1) : roles;
-                                                              return new PersonInfo {Type = PersonType.GuestStar, Name = name, Role = roles};
-                                                          }).Where(person => !episode.People.Any(x => x.Type == person.Type && x.Name == person.Name))
+                    foreach (var person in persons.Select(str =>
+                    {
+                        var nameGroup = str.Split(new[] { '(' }, 2, StringSplitOptions.RemoveEmptyEntries);
+                        var name = nameGroup[0].Trim();
+                        var roles = nameGroup.Count() > 1 ? nameGroup[1].Trim() : null;
+                        if (roles != null)
+                            roles = roles.EndsWith(")") ? roles.Substring(0, roles.Length - 1) : roles;
+                        return new PersonInfo { Type = PersonType.GuestStar, Name = name, Role = roles };
+                    }).Where(person => !episode.People.Any(x => x.Type == person.Type && x.Name == person.Name))
                         )
                         )
                     {
                     {
                         episode.AddPerson(person);
                         episode.AddPerson(person);
@@ -358,9 +360,9 @@ namespace MediaBrowser.Providers.TV
                 if (directors != null)
                 if (directors != null)
                 {
                 {
                     // Sometimes tvdb actors have leading spaces
                     // Sometimes tvdb actors have leading spaces
-                    foreach (var person in directors.Split(new[] {'|'}, StringSplitOptions.RemoveEmptyEntries)
+                    foreach (var person in directors.Split(new[] { '|', ',' }, StringSplitOptions.RemoveEmptyEntries)
                                                     .Where(i => !string.IsNullOrWhiteSpace(i))
                                                     .Where(i => !string.IsNullOrWhiteSpace(i))
-                                                    .Select(str => new PersonInfo {Type = PersonType.Director, Name = str.Trim()}))
+                                                    .Select(str => new PersonInfo { Type = PersonType.Director, Name = str.Trim() }))
                     {
                     {
                         episode.AddPerson(person);
                         episode.AddPerson(person);
                     }
                     }
@@ -371,9 +373,9 @@ namespace MediaBrowser.Providers.TV
                 if (writers != null)
                 if (writers != null)
                 {
                 {
                     // Sometimes tvdb actors have leading spaces
                     // Sometimes tvdb actors have leading spaces
-                    foreach (var person in writers.Split(new[] {'|'}, StringSplitOptions.RemoveEmptyEntries)
+                    foreach (var person in writers.Split(new[] { '|', ',' }, StringSplitOptions.RemoveEmptyEntries)
                                                   .Where(i => !string.IsNullOrWhiteSpace(i))
                                                   .Where(i => !string.IsNullOrWhiteSpace(i))
-                                                  .Select(str => new PersonInfo {Type = PersonType.Writer, Name = str.Trim()}))
+                                                  .Select(str => new PersonInfo { Type = PersonType.Writer, Name = str.Trim() }))
                     {
                     {
                         episode.AddPerson(person);
                         episode.AddPerson(person);
                     }
                     }