aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--MediaBrowser.Api/GamesService.cs4
-rw-r--r--MediaBrowser.Controller/Entities/Game.cs6
-rw-r--r--MediaBrowser.Controller/Providers/BaseItemXmlParser.cs36
-rw-r--r--MediaBrowser.Model/Dto/GameSystemSummary.cs6
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()