aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Model/Configuration/MetadataOptions.cs
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2014-02-02 08:36:31 -0500
committerLuke Pulverenti <luke.pulverenti@gmail.com>2014-02-02 08:36:31 -0500
commit9e0c1340fc3ad4b41e3c349b98ea71b708ade95a (patch)
tree1462595d01278d769cc12a9228dcc0d068455bbe /MediaBrowser.Model/Configuration/MetadataOptions.cs
parent53776b332c727c8e5e21a99ab2c633a266df336b (diff)
convert games to new providers
Diffstat (limited to 'MediaBrowser.Model/Configuration/MetadataOptions.cs')
-rw-r--r--MediaBrowser.Model/Configuration/MetadataOptions.cs89
1 files changed, 89 insertions, 0 deletions
diff --git a/MediaBrowser.Model/Configuration/MetadataOptions.cs b/MediaBrowser.Model/Configuration/MetadataOptions.cs
new file mode 100644
index 000000000..f914a2d21
--- /dev/null
+++ b/MediaBrowser.Model/Configuration/MetadataOptions.cs
@@ -0,0 +1,89 @@
+using MediaBrowser.Model.Entities;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+
+namespace MediaBrowser.Model.Configuration
+{
+ /// <summary>
+ /// Class MetadataOptions.
+ /// </summary>
+ public class MetadataOptions
+ {
+ public string ItemType { get; set; }
+
+ public ImageOption[] ImageOptions { get; set; }
+
+ public string[] DisabledMetadataSavers { get; set; }
+
+ public MetadataOptions()
+ : this(3, 1280)
+ {
+ }
+
+ public MetadataOptions(int backdropLimit, int minBackdropWidth)
+ {
+ var imageOptions = new List<ImageOption>
+ {
+ new ImageOption
+ {
+ Limit = backdropLimit,
+ MinWidth = minBackdropWidth,
+ Type = ImageType.Backdrop
+ }
+ };
+
+ ImageOptions = imageOptions.ToArray();
+ DisabledMetadataSavers = new string[] { };
+ }
+
+ public int GetLimit(ImageType type)
+ {
+ var option = ImageOptions.FirstOrDefault(i => i.Type == type);
+
+ return option == null ? 1 : option.Limit;
+ }
+
+ public int GetMinWidth(ImageType type)
+ {
+ var option = ImageOptions.FirstOrDefault(i => i.Type == type);
+
+ return option == null ? 0 : option.MinWidth;
+ }
+
+ public bool IsEnabled(ImageType type)
+ {
+ return GetLimit(type) > 0;
+ }
+
+ public bool IsMetadataSaverEnabled(string name)
+ {
+ return !DisabledMetadataSavers.Contains(name, StringComparer.OrdinalIgnoreCase);
+ }
+ }
+
+ public class ImageOption
+ {
+ /// <summary>
+ /// Gets or sets the type.
+ /// </summary>
+ /// <value>The type.</value>
+ public ImageType Type { get; set; }
+ /// <summary>
+ /// Gets or sets the limit.
+ /// </summary>
+ /// <value>The limit.</value>
+ public int Limit { get; set; }
+
+ /// <summary>
+ /// Gets or sets the minimum width.
+ /// </summary>
+ /// <value>The minimum width.</value>
+ public int MinWidth { get; set; }
+
+ public ImageOption()
+ {
+ Limit = 1;
+ }
+ }
+}