diff options
| -rw-r--r-- | MediaBrowser.Api/GamesService.cs | 4 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Entities/Game.cs | 6 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Providers/BaseItemXmlParser.cs | 36 | ||||
| -rw-r--r-- | MediaBrowser.Model/Dto/GameSystemSummary.cs | 6 |
4 files changed, 51 insertions, 1 deletions
diff --git a/MediaBrowser.Api/GamesService.cs b/MediaBrowser.Api/GamesService.cs index a34f68f35..14f5ba3da 100644 --- a/MediaBrowser.Api/GamesService.cs +++ b/MediaBrowser.Api/GamesService.cs @@ -118,9 +118,11 @@ namespace MediaBrowser.Api var games = items.OfType<Game>().ToList(); + summary.ClientInstalledGameCount = games.Count(i => !i.IsInstalledOnClient); + summary.GameCount = games.Count; - summary.GameFileExtensions = games.Select(i => Path.GetExtension(i.Path)) + summary.GameFileExtensions = games.Where(i => !i.IsInstalledOnClient).Select(i => Path.GetExtension(i.Path)) .Distinct(StringComparer.OrdinalIgnoreCase) .ToList(); diff --git a/MediaBrowser.Controller/Entities/Game.cs b/MediaBrowser.Controller/Entities/Game.cs index ef115c691..6c15e7303 100644 --- a/MediaBrowser.Controller/Entities/Game.cs +++ b/MediaBrowser.Controller/Entities/Game.cs @@ -25,6 +25,12 @@ namespace MediaBrowser.Controller.Entities public int? PlayersSupported { get; set; } /// <summary> + /// Gets or sets a value indicating whether this instance is installed on client. + /// </summary> + /// <value><c>true</c> if this instance is installed on client; otherwise, <c>false</c>.</value> + public bool IsInstalledOnClient { get; set; } + + /// <summary> /// Gets or sets the game system. /// </summary> /// <value>The game system.</value> diff --git a/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs b/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs index a7c38408f..d7336e6a1 100644 --- a/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs +++ b/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs @@ -139,6 +139,7 @@ namespace MediaBrowser.Controller.Providers break; } + case "CriticRating": { var text = reader.ReadElementContentAsString(); @@ -150,6 +151,7 @@ namespace MediaBrowser.Controller.Providers break; } + case "Budget": { var text = reader.ReadElementContentAsString(); @@ -161,6 +163,7 @@ namespace MediaBrowser.Controller.Providers break; } + case "Revenue": { var text = reader.ReadElementContentAsString(); @@ -172,6 +175,7 @@ namespace MediaBrowser.Controller.Providers break; } + case "SortTitle": { var val = reader.ReadElementContentAsString(); @@ -466,6 +470,7 @@ namespace MediaBrowser.Controller.Providers break; } + case "ReleaseYear": case "ProductionYear": { var val = reader.ReadElementContentAsString(); @@ -555,6 +560,37 @@ namespace MediaBrowser.Controller.Providers } break; + case "Players": + { + var val = reader.ReadElementContentAsString(); + if (!string.IsNullOrWhiteSpace(val)) + { + int num; + // All external meta is saving this as '.' for decimal I believe...but just to be sure + if (int.TryParse(val, NumberStyles.Integer, _usCulture, out num)) + { + var game = item as Game; + if (game != null) + { + game.PlayersSupported = num; + } + } + } + break; + } + case "GameSystem": + { + var val = reader.ReadElementContentAsString(); + if (!string.IsNullOrWhiteSpace(val)) + { + var game = item as Game; + if (game != null) + { + game.GameSystem = val; + } + } + break; + } case "MusicbrainzId": { var mbz = reader.ReadElementContentAsString(); diff --git a/MediaBrowser.Model/Dto/GameSystemSummary.cs b/MediaBrowser.Model/Dto/GameSystemSummary.cs index a9931417a..1da3bb0ac 100644 --- a/MediaBrowser.Model/Dto/GameSystemSummary.cs +++ b/MediaBrowser.Model/Dto/GameSystemSummary.cs @@ -32,6 +32,12 @@ namespace MediaBrowser.Model.Dto public List<string> GameFileExtensions { get; set; } /// <summary> + /// Gets or sets the client installed game count. + /// </summary> + /// <value>The client installed game count.</value> + public int ClientInstalledGameCount { get; set; } + + /// <summary> /// Initializes a new instance of the <see cref="GameSystemSummary"/> class. /// </summary> public GameSystemSummary() |
