aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2013-11-06 11:06:16 -0500
committerLuke Pulverenti <luke.pulverenti@gmail.com>2013-11-06 11:06:16 -0500
commita4cea5a5d326677bf74da6bf7df2203c12088d38 (patch)
treeb6a57c5473782a5fe65168bf1c528ec8e0a243a2 /MediaBrowser.Controller
parent885287e631eb0b06d574ae0676439e1128d56386 (diff)
added critic rating interface
Diffstat (limited to 'MediaBrowser.Controller')
-rw-r--r--MediaBrowser.Controller/Entities/BaseItem.cs12
-rw-r--r--MediaBrowser.Controller/Entities/IHasCriticRating.cs20
-rw-r--r--MediaBrowser.Controller/Entities/Movies/Movie.cs14
-rw-r--r--MediaBrowser.Controller/Entities/Trailer.cs14
-rw-r--r--MediaBrowser.Controller/MediaBrowser.Controller.csproj1
-rw-r--r--MediaBrowser.Controller/Providers/BaseItemXmlParser.cs19
6 files changed, 62 insertions, 18 deletions
diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs
index 839fe34ff..f8b2fad23 100644
--- a/MediaBrowser.Controller/Entities/BaseItem.cs
+++ b/MediaBrowser.Controller/Entities/BaseItem.cs
@@ -112,18 +112,6 @@ namespace MediaBrowser.Controller.Entities
public double? Revenue { get; set; }
/// <summary>
- /// Gets or sets the critic rating.
- /// </summary>
- /// <value>The critic rating.</value>
- public float? CriticRating { get; set; }
-
- /// <summary>
- /// Gets or sets the critic rating summary.
- /// </summary>
- /// <value>The critic rating summary.</value>
- public string CriticRatingSummary { get; set; }
-
- /// <summary>
/// Gets or sets the trailer URL.
/// </summary>
/// <value>The trailer URL.</value>
diff --git a/MediaBrowser.Controller/Entities/IHasCriticRating.cs b/MediaBrowser.Controller/Entities/IHasCriticRating.cs
new file mode 100644
index 000000000..d2b93759d
--- /dev/null
+++ b/MediaBrowser.Controller/Entities/IHasCriticRating.cs
@@ -0,0 +1,20 @@
+namespace MediaBrowser.Controller.Entities
+{
+ /// <summary>
+ /// Interface IHasCriticRating
+ /// </summary>
+ public interface IHasCriticRating
+ {
+ /// <summary>
+ /// Gets or sets the critic rating.
+ /// </summary>
+ /// <value>The critic rating.</value>
+ float? CriticRating { get; set; }
+
+ /// <summary>
+ /// Gets or sets the critic rating summary.
+ /// </summary>
+ /// <value>The critic rating summary.</value>
+ string CriticRatingSummary { get; set; }
+ }
+}
diff --git a/MediaBrowser.Controller/Entities/Movies/Movie.cs b/MediaBrowser.Controller/Entities/Movies/Movie.cs
index 516ee9a8a..54ad9c1c9 100644
--- a/MediaBrowser.Controller/Entities/Movies/Movie.cs
+++ b/MediaBrowser.Controller/Entities/Movies/Movie.cs
@@ -11,7 +11,7 @@ namespace MediaBrowser.Controller.Entities.Movies
/// <summary>
/// Class Movie
/// </summary>
- public class Movie : Video
+ public class Movie : Video, IHasCriticRating
{
public List<Guid> SpecialFeatureIds { get; set; }
@@ -21,6 +21,18 @@ namespace MediaBrowser.Controller.Entities.Movies
}
/// <summary>
+ /// Gets or sets the critic rating.
+ /// </summary>
+ /// <value>The critic rating.</value>
+ public float? CriticRating { get; set; }
+
+ /// <summary>
+ /// Gets or sets the critic rating summary.
+ /// </summary>
+ /// <value>The critic rating summary.</value>
+ public string CriticRatingSummary { get; set; }
+
+ /// <summary>
/// Gets or sets the name of the TMDB collection.
/// </summary>
/// <value>The name of the TMDB collection.</value>
diff --git a/MediaBrowser.Controller/Entities/Trailer.cs b/MediaBrowser.Controller/Entities/Trailer.cs
index e7d47f7ec..c9fe471b3 100644
--- a/MediaBrowser.Controller/Entities/Trailer.cs
+++ b/MediaBrowser.Controller/Entities/Trailer.cs
@@ -7,7 +7,7 @@ namespace MediaBrowser.Controller.Entities
/// <summary>
/// Class Trailer
/// </summary>
- public class Trailer : Video
+ public class Trailer : Video, IHasCriticRating
{
public Trailer()
{
@@ -16,6 +16,18 @@ namespace MediaBrowser.Controller.Entities
}
/// <summary>
+ /// Gets or sets the critic rating.
+ /// </summary>
+ /// <value>The critic rating.</value>
+ public float? CriticRating { get; set; }
+
+ /// <summary>
+ /// Gets or sets the critic rating summary.
+ /// </summary>
+ /// <value>The critic rating summary.</value>
+ public string CriticRatingSummary { get; set; }
+
+ /// <summary>
/// Gets a value indicating whether this instance is local trailer.
/// </summary>
/// <value><c>true</c> if this instance is local trailer; otherwise, <c>false</c>.</value>
diff --git a/MediaBrowser.Controller/MediaBrowser.Controller.csproj b/MediaBrowser.Controller/MediaBrowser.Controller.csproj
index 978d56bd4..94ff5d305 100644
--- a/MediaBrowser.Controller/MediaBrowser.Controller.csproj
+++ b/MediaBrowser.Controller/MediaBrowser.Controller.csproj
@@ -89,6 +89,7 @@
<Compile Include="Entities\GameGenre.cs" />
<Compile Include="Entities\GameSystem.cs" />
<Compile Include="Entities\IByReferenceItem.cs" />
+ <Compile Include="Entities\IHasCriticRating.cs" />
<Compile Include="Entities\IItemByName.cs" />
<Compile Include="Entities\ILibraryItem.cs" />
<Compile Include="Entities\ImageSourceInfo.cs" />
diff --git a/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs b/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs
index e9bb7f66d..9fdbbf3b7 100644
--- a/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs
+++ b/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs
@@ -143,10 +143,16 @@ namespace MediaBrowser.Controller.Providers
case "CriticRating":
{
var text = reader.ReadElementContentAsString();
- float value;
- if (float.TryParse(text, NumberStyles.Any, _usCulture, out value))
+
+ var hasCriticRating = item as IHasCriticRating;
+
+ if (hasCriticRating != null && !string.IsNullOrEmpty(text))
{
- item.CriticRating = value;
+ float value;
+ if (float.TryParse(text, NumberStyles.Any, _usCulture, out value))
+ {
+ hasCriticRating.CriticRating = value;
+ }
}
break;
@@ -207,7 +213,12 @@ namespace MediaBrowser.Controller.Providers
if (!string.IsNullOrWhiteSpace(val))
{
- item.CriticRatingSummary = val;
+ var hasCriticRating = item as IHasCriticRating;
+
+ if (hasCriticRating != null)
+ {
+ hasCriticRating.CriticRatingSummary = val;
+ }
}
break;