diff options
Diffstat (limited to 'MediaBrowser.Controller/Localization/Ratings.cs')
| -rw-r--r-- | MediaBrowser.Controller/Localization/Ratings.cs | 184 |
1 files changed, 0 insertions, 184 deletions
diff --git a/MediaBrowser.Controller/Localization/Ratings.cs b/MediaBrowser.Controller/Localization/Ratings.cs deleted file mode 100644 index bc4ebab4e..000000000 --- a/MediaBrowser.Controller/Localization/Ratings.cs +++ /dev/null @@ -1,184 +0,0 @@ -using System.Globalization; -using MediaBrowser.Controller.Configuration; -using System.Collections.Generic; -using System.IO; -using System.Linq; - -namespace MediaBrowser.Controller.Localization -{ - /// <summary> - /// Class Ratings - /// </summary> - public static class Ratings - { - public static IServerConfigurationManager ConfigurationManager; - - /// <summary> - /// The ratings def - /// </summary> - private static RatingsDefinition ratingsDef; - /// <summary> - /// The _ratings dict - /// </summary> - private static Dictionary<string, int> _ratingsDict; - /// <summary> - /// Gets the ratings dict. - /// </summary> - /// <value>The ratings dict.</value> - public static Dictionary<string, int> RatingsDict - { - get { return _ratingsDict ?? (_ratingsDict = Initialize(false, ConfigurationManager)); } - } - /// <summary> - /// The ratings strings - /// </summary> - private static readonly Dictionary<int, string> ratingsStrings = new Dictionary<int, string>(); - - /// <summary> - /// Tries the add. - /// </summary> - /// <typeparam name="TKey">The type of the T key.</typeparam> - /// <typeparam name="TValue">The type of the T value.</typeparam> - /// <param name="dictionary">The dictionary.</param> - /// <param name="key">The key.</param> - /// <param name="value">The value.</param> - /// <returns><c>true</c> if XXXX, <c>false</c> otherwise</returns> - private static void TryAdd<TKey, TValue>(Dictionary<TKey, TValue> dictionary, TKey key, TValue value) - { - if (dictionary.ContainsKey(key)) - { - return; - } - - dictionary.Add(key, value); - } - - /// <summary> - /// Initializes the specified block unrated. - /// </summary> - /// <param name="blockUnrated">if set to <c>true</c> [block unrated].</param> - /// <returns>Dictionary{System.StringSystem.Int32}.</returns> - public static Dictionary<string, int> Initialize(bool blockUnrated, IServerConfigurationManager configurationManager) - { - //build our ratings dictionary from the combined local one and us one - ratingsDef = new RatingsDefinition(Path.Combine(configurationManager.ApplicationPaths.LocalizationPath, "Ratings-" + configurationManager.Configuration.MetadataCountryCode + ".txt"), configurationManager); - //global value of None - var dict = new Dictionary<string, int> { { "None", -1 } }; - foreach (var pair in ratingsDef.RatingsDict) - { - TryAdd(dict, pair.Key, pair.Value); - } - if (configurationManager.Configuration.MetadataCountryCode.ToUpper() != "US") - { - foreach (var pair in new USRatingsDictionary()) - { - TryAdd(dict, pair.Key, pair.Value); - } - } - //global values of CS - TryAdd(dict, "CS", 1000); - - TryAdd(dict, "", blockUnrated ? 1000 : 0); - - //and rating reverse lookup dictionary (non-redundant ones) - ratingsStrings.Clear(); - var lastLevel = -10; - ratingsStrings.Add(-1, LocalizedStrings.Instance.GetString("Any")); - foreach (var pair in ratingsDef.RatingsDict.OrderBy(p => p.Value)) - { - if (pair.Value > lastLevel) - { - lastLevel = pair.Value; - TryAdd(ratingsStrings, pair.Value, pair.Key); - } - } - - TryAdd(ratingsStrings, 999, "CS"); - - return dict; - } - - /// <summary> - /// Switches the unrated. - /// </summary> - /// <param name="block">if set to <c>true</c> [block].</param> - public static void SwitchUnrated(bool block) - { - RatingsDict.Remove(""); - RatingsDict.Add("", block ? 1000 : 0); - } - - /// <summary> - /// Levels the specified rating STR. - /// </summary> - /// <param name="ratingStr">The rating STR.</param> - /// <returns>System.Int32.</returns> - public static int Level(string ratingStr) - { - if (ratingStr == null) ratingStr = ""; - if (RatingsDict.ContainsKey(ratingStr)) - return RatingsDict[ratingStr]; - - string stripped = StripCountry(ratingStr); - if (RatingsDict.ContainsKey(stripped)) - return RatingsDict[stripped]; - - return RatingsDict[""]; //return "unknown" level - } - - /// <summary> - /// Strips the country. - /// </summary> - /// <param name="rating">The rating.</param> - /// <returns>System.String.</returns> - private static string StripCountry(string rating) - { - int start = rating.IndexOf('-'); - return start > 0 ? rating.Substring(start + 1) : rating; - } - - /// <summary> - /// Returns a <see cref="System.String" /> that represents this instance. - /// </summary> - /// <param name="level">The level.</param> - /// <returns>A <see cref="System.String" /> that represents this instance.</returns> - public static string ToString(int level) - { - //return the closest one - while (level > 0) - { - if (ratingsStrings.ContainsKey(level)) - return ratingsStrings[level]; - - level--; - } - return ratingsStrings.Values.FirstOrDefault(); //default to first one - } - /// <summary> - /// To the strings. - /// </summary> - /// <returns>List{System.String}.</returns> - public static List<string> ToStrings() - { - //return the whole list of ratings strings - return ratingsStrings.Values.ToList(); - } - - /// <summary> - /// To the values. - /// </summary> - /// <returns>List{System.Int32}.</returns> - public static List<int> ToValues() - { - //return the whole list of ratings values - return ratingsStrings.Keys.ToList(); - } - - //public Microsoft.MediaCenter.UI.Image RatingImage(string rating) - //{ - // return Helper.GetMediaInfoImage("Rated_" + rating); - //} - - - } -} |
