浏览代码

added unaired/missing indicators

Luke Pulverenti 11 年之前
父节点
当前提交
b21899b953
共有 1 个文件被更改,包括 15 次插入4 次删除
  1. 15 4
      MediaBrowser.Providers/TV/SeriesPostScanTask.cs

+ 15 - 4
MediaBrowser.Providers/TV/SeriesPostScanTask.cs

@@ -181,7 +181,7 @@ namespace MediaBrowser.Providers.TV
         private async Task<bool> AddMissingEpisodes(Series series, string seriesDataPath, List<Episode> existingEpisodes, IEnumerable<Tuple<int, int>> episodeLookup, CancellationToken cancellationToken)
         private async Task<bool> AddMissingEpisodes(Series series, string seriesDataPath, List<Episode> existingEpisodes, IEnumerable<Tuple<int, int>> episodeLookup, CancellationToken cancellationToken)
         {
         {
             var hasChanges = false;
             var hasChanges = false;
-            
+
             foreach (var tuple in episodeLookup)
             foreach (var tuple in episodeLookup)
             {
             {
                 if (tuple.Item1 <= 0)
                 if (tuple.Item1 <= 0)
@@ -375,8 +375,9 @@ namespace MediaBrowser.Providers.TV
 
 
             var xmlPath = Path.Combine(seriesDataPath, filename);
             var xmlPath = Path.Combine(seriesDataPath, filename);
 
 
-            // It appears the best way to filter out invalid entries is to only include those with valid air dates
+            DateTime? airDate = null;
 
 
+            // It appears the best way to filter out invalid entries is to only include those with valid air dates
             using (var streamReader = new StreamReader(xmlPath, Encoding.UTF8))
             using (var streamReader = new StreamReader(xmlPath, Encoding.UTF8))
             {
             {
                 // Use XmlReader for best performance
                 // Use XmlReader for best performance
@@ -397,6 +398,16 @@ namespace MediaBrowser.Providers.TV
                         {
                         {
                             switch (reader.Name)
                             switch (reader.Name)
                             {
                             {
+                                case "EpisodeName":
+                                    {
+                                        var val = reader.ReadElementContentAsString();
+                                        if (string.IsNullOrWhiteSpace(val))
+                                        {
+                                            // Not valid, ignore these
+                                            return null;
+                                        }
+                                        break;
+                                    }
                                 case "FirstAired":
                                 case "FirstAired":
                                     {
                                     {
                                         var val = reader.ReadElementContentAsString();
                                         var val = reader.ReadElementContentAsString();
@@ -406,7 +417,7 @@ namespace MediaBrowser.Providers.TV
                                             DateTime date;
                                             DateTime date;
                                             if (DateTime.TryParse(val, out date))
                                             if (DateTime.TryParse(val, out date))
                                             {
                                             {
-                                                return date.ToUniversalTime();
+                                                airDate = date.ToUniversalTime();
                                             }
                                             }
                                         }
                                         }
 
 
@@ -422,7 +433,7 @@ namespace MediaBrowser.Providers.TV
                 }
                 }
             }
             }
 
 
-            return null;
+            return airDate;
         }
         }
     }
     }
 }
 }