| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 | 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 string[] LocalMetadataReaderOrder { get; set; }        public string[] DisabledMetadataFetchers { get; set; }        public string[] MetadataFetcherOrder { get; set; }        public string[] DisabledImageFetchers { get; set; }        public string[] ImageFetcherOrder { 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[] { };            LocalMetadataReaderOrder = new string[] { };            DisabledMetadataFetchers = new string[] { };            MetadataFetcherOrder = new string[] { };            DisabledImageFetchers = new string[] { };            ImageFetcherOrder = 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;        }    }}
 |