فهرست منبع

Fixed missing episode and season numbers when searching for episodes by date

softworkz 9 سال پیش
والد
کامیت
2ed5c3d0e7
1فایلهای تغییر یافته به همراه60 افزوده شده و 18 حذف شده
  1. 60 18
      MediaBrowser.Providers/TV/TvdbEpisodeProvider.cs

+ 60 - 18
MediaBrowser.Providers/TV/TvdbEpisodeProvider.cs

@@ -486,24 +486,66 @@ namespace MediaBrowser.Providers.TV
 								break;
 							}
 
-						case "DVD_season":
-							{
-								var val = reader.ReadElementContentAsString();
-
-								if (!string.IsNullOrWhiteSpace(val))
-								{
-									float num;
-
-									if (float.TryParse(val, NumberStyles.Any, _usCulture, out num))
-									{
-										item.DvdSeasonNumber = Convert.ToInt32(num);
-									}
-								}
-
-								break;
-							}
-
-						case "absolute_number":
+                        case "DVD_season":
+                            {
+                                var val = reader.ReadElementContentAsString();
+
+                                if (!string.IsNullOrWhiteSpace(val))
+                                {
+                                    float num;
+
+                                    if (float.TryParse(val, NumberStyles.Any, _usCulture, out num))
+                                    {
+                                        item.DvdSeasonNumber = Convert.ToInt32(num);
+                                    }
+                                }
+
+                                break;
+                            }
+
+                        case "EpisodeNumber":
+                            {
+                                if (!item.IndexNumber.HasValue)
+                                {
+                                    var val = reader.ReadElementContentAsString();
+
+                                    if (!string.IsNullOrWhiteSpace(val))
+                                    {
+                                        int rval;
+
+                                        // int.TryParse is local aware, so it can be probamatic, force us culture
+                                        if (int.TryParse(val, NumberStyles.Integer, _usCulture, out rval))
+                                        {
+                                            item.IndexNumber = rval;
+                                        }
+                                    }
+                                }
+
+                                break;
+                            }
+
+                        case "SeasonNumber":
+                            {
+                                if (!item.ParentIndexNumber.HasValue)
+                                {
+                                    var val = reader.ReadElementContentAsString();
+
+                                    if (!string.IsNullOrWhiteSpace(val))
+                                    {
+                                        int rval;
+
+                                        // int.TryParse is local aware, so it can be probamatic, force us culture
+                                        if (int.TryParse(val, NumberStyles.Integer, _usCulture, out rval))
+                                        {
+                                            item.ParentIndexNumber = rval;
+                                        }
+                                    }
+                                }
+
+                                break;
+                            }
+
+                        case "absolute_number":
 							{
 								var val = reader.ReadElementContentAsString();