From d2933cab7355b9a77ec802e4bc1efae9a3bf9743 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Mon, 10 Jun 2013 13:46:11 -0400 Subject: fixed ratings. moved them to static text files --- .../Localization/AURatingsDictionary.cs | 23 --- .../Localization/GBRatingsDictionary.cs | 24 --- .../Localization/ILocalizationManager.cs | 6 + .../Localization/NLRatingsDictionary.cs | 23 --- MediaBrowser.Controller/Localization/Ratings.cs | 184 --------------------- .../Localization/RatingsDefinition.cs | 122 -------------- .../Localization/USRatingsDictionary.cs | 39 ----- 7 files changed, 6 insertions(+), 415 deletions(-) delete mode 100644 MediaBrowser.Controller/Localization/AURatingsDictionary.cs delete mode 100644 MediaBrowser.Controller/Localization/GBRatingsDictionary.cs delete mode 100644 MediaBrowser.Controller/Localization/NLRatingsDictionary.cs delete mode 100644 MediaBrowser.Controller/Localization/Ratings.cs delete mode 100644 MediaBrowser.Controller/Localization/RatingsDefinition.cs delete mode 100644 MediaBrowser.Controller/Localization/USRatingsDictionary.cs (limited to 'MediaBrowser.Controller/Localization') diff --git a/MediaBrowser.Controller/Localization/AURatingsDictionary.cs b/MediaBrowser.Controller/Localization/AURatingsDictionary.cs deleted file mode 100644 index 882302f10..000000000 --- a/MediaBrowser.Controller/Localization/AURatingsDictionary.cs +++ /dev/null @@ -1,23 +0,0 @@ -using System.Collections.Generic; - -namespace MediaBrowser.Controller.Localization -{ - /// - /// Class AURatingsDictionary - /// - public class AURatingsDictionary : Dictionary - { - /// - /// Initializes a new instance of the class. - /// - public AURatingsDictionary() - { - Add("AU-G", 1); - Add("AU-PG", 5); - Add("AU-M", 6); - Add("AU-M15+", 7); - Add("AU-R18+", 9); - Add("AU-X18+", 10); - } - } -} diff --git a/MediaBrowser.Controller/Localization/GBRatingsDictionary.cs b/MediaBrowser.Controller/Localization/GBRatingsDictionary.cs deleted file mode 100644 index 414abdd59..000000000 --- a/MediaBrowser.Controller/Localization/GBRatingsDictionary.cs +++ /dev/null @@ -1,24 +0,0 @@ -using System.Collections.Generic; - -namespace MediaBrowser.Controller.Localization -{ - /// - /// Class GBRatingsDictionary - /// - public class GBRatingsDictionary : Dictionary - { - /// - /// Initializes a new instance of the class. - /// - public GBRatingsDictionary() - { - Add("GB-U", 1); - Add("GB-PG", 5); - Add("GB-12", 6); - Add("GB-12A", 7); - Add("GB-15", 8); - Add("GB-18", 9); - Add("GB-R18", 15); - } - } -} diff --git a/MediaBrowser.Controller/Localization/ILocalizationManager.cs b/MediaBrowser.Controller/Localization/ILocalizationManager.cs index 487c4a48e..ecafec48a 100644 --- a/MediaBrowser.Controller/Localization/ILocalizationManager.cs +++ b/MediaBrowser.Controller/Localization/ILocalizationManager.cs @@ -24,5 +24,11 @@ namespace MediaBrowser.Controller.Localization /// /// IEnumerable{ParentalRating}. IEnumerable GetParentalRatings(); + /// + /// Gets the rating level. + /// + /// The rating. + /// System.Int32. + int? GetRatingLevel(string rating); } } diff --git a/MediaBrowser.Controller/Localization/NLRatingsDictionary.cs b/MediaBrowser.Controller/Localization/NLRatingsDictionary.cs deleted file mode 100644 index 7a20f50ba..000000000 --- a/MediaBrowser.Controller/Localization/NLRatingsDictionary.cs +++ /dev/null @@ -1,23 +0,0 @@ -using System.Collections.Generic; - -namespace MediaBrowser.Controller.Localization -{ - /// - /// Class NLRatingsDictionary - /// - public class NLRatingsDictionary : Dictionary - { - /// - /// Initializes a new instance of the class. - /// - public NLRatingsDictionary() - { - Add("NL-AL", 1); - Add("NL-MG6", 2); - Add("NL-6", 3); - Add("NL-9", 5); - Add("NL-12", 6); - Add("NL-16", 8); - } - } -} 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 -{ - /// - /// Class Ratings - /// - public static class Ratings - { - public static IServerConfigurationManager ConfigurationManager; - - /// - /// The ratings def - /// - private static RatingsDefinition ratingsDef; - /// - /// The _ratings dict - /// - private static Dictionary _ratingsDict; - /// - /// Gets the ratings dict. - /// - /// The ratings dict. - public static Dictionary RatingsDict - { - get { return _ratingsDict ?? (_ratingsDict = Initialize(false, ConfigurationManager)); } - } - /// - /// The ratings strings - /// - private static readonly Dictionary ratingsStrings = new Dictionary(); - - /// - /// Tries the add. - /// - /// The type of the T key. - /// The type of the T value. - /// The dictionary. - /// The key. - /// The value. - /// true if XXXX, false otherwise - private static void TryAdd(Dictionary dictionary, TKey key, TValue value) - { - if (dictionary.ContainsKey(key)) - { - return; - } - - dictionary.Add(key, value); - } - - /// - /// Initializes the specified block unrated. - /// - /// if set to true [block unrated]. - /// Dictionary{System.StringSystem.Int32}. - public static Dictionary 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 { { "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; - } - - /// - /// Switches the unrated. - /// - /// if set to true [block]. - public static void SwitchUnrated(bool block) - { - RatingsDict.Remove(""); - RatingsDict.Add("", block ? 1000 : 0); - } - - /// - /// Levels the specified rating STR. - /// - /// The rating STR. - /// System.Int32. - 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 - } - - /// - /// Strips the country. - /// - /// The rating. - /// System.String. - private static string StripCountry(string rating) - { - int start = rating.IndexOf('-'); - return start > 0 ? rating.Substring(start + 1) : rating; - } - - /// - /// Returns a that represents this instance. - /// - /// The level. - /// A that represents this instance. - 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 - } - /// - /// To the strings. - /// - /// List{System.String}. - public static List ToStrings() - { - //return the whole list of ratings strings - return ratingsStrings.Values.ToList(); - } - - /// - /// To the values. - /// - /// List{System.Int32}. - public static List 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); - //} - - - } -} diff --git a/MediaBrowser.Controller/Localization/RatingsDefinition.cs b/MediaBrowser.Controller/Localization/RatingsDefinition.cs deleted file mode 100644 index e5302bee6..000000000 --- a/MediaBrowser.Controller/Localization/RatingsDefinition.cs +++ /dev/null @@ -1,122 +0,0 @@ -using MediaBrowser.Controller.Configuration; -using System; -using System.Collections.Generic; -using System.IO; - -namespace MediaBrowser.Controller.Localization -{ - /// - /// Class RatingsDefinition - /// - public class RatingsDefinition - { - /// - /// Initializes a new instance of the class. - /// - /// The file. - /// The configuration manager. - public RatingsDefinition(string file, IServerConfigurationManager configurationManager) - { - this.file = file; - if (!Load()) - { - Init(configurationManager.Configuration.MetadataCountryCode.ToUpper()); - } - } - - /// - /// Inits the specified country. - /// - /// The country. - protected void Init(string country) - { - //intitialze based on country - switch (country) - { - case "US": - RatingsDict = new USRatingsDictionary(); - break; - case "GB": - RatingsDict = new GBRatingsDictionary(); - break; - case "NL": - RatingsDict = new NLRatingsDictionary(); - break; - case "AU": - RatingsDict = new AURatingsDictionary(); - break; - default: - RatingsDict = new USRatingsDictionary(); - break; - } - Save(); - } - - /// - /// The file - /// - readonly string file; - - /// - /// Save to file - /// - public void Save() - { - // Use simple text serialization - no need for xml - using (var fs = new StreamWriter(file)) - { - foreach (var pair in RatingsDict) - { - fs.WriteLine(pair.Key + "," + pair.Value); - } - } - } - - /// - /// Load from file - /// - /// true if XXXX, false otherwise - protected bool Load() - { - // Read back in our simple serialized format - RatingsDict = new Dictionary(StringComparer.OrdinalIgnoreCase); - try - { - using (var fs = new StreamReader(file)) - { - while (!fs.EndOfStream) - { - var line = fs.ReadLine() ?? ""; - var values = line.Split(','); - if (values.Length == 2) - { - - int value; - - if (int.TryParse(values[1], out value)) - { - RatingsDict[values[0].Trim()] = value; - } - else - { - //Logger.Error("Invalid line in ratings file " + file + "(" + line + ")"); - } - } - } - } - } - catch - { - // Couldn't load - probably just not there yet - return false; - } - return true; - } - - /// - /// The ratings dict - /// - public Dictionary RatingsDict = new Dictionary(StringComparer.OrdinalIgnoreCase); - - } -} diff --git a/MediaBrowser.Controller/Localization/USRatingsDictionary.cs b/MediaBrowser.Controller/Localization/USRatingsDictionary.cs deleted file mode 100644 index 2c7a69841..000000000 --- a/MediaBrowser.Controller/Localization/USRatingsDictionary.cs +++ /dev/null @@ -1,39 +0,0 @@ -using System.Collections.Generic; - -namespace MediaBrowser.Controller.Localization -{ - /// - /// Class USRatingsDictionary - /// - public class USRatingsDictionary : Dictionary - { - /// - /// Initializes a new instance of the class. - /// - public USRatingsDictionary() - { - Add("G", 1); - Add("E", 1); - Add("EC", 1); - Add("TV-G", 1); - Add("TV-Y", 2); - Add("TV-Y7", 3); - Add("TV-Y7-FV", 4); - Add("PG", 5); - Add("TV-PG", 5); - Add("PG-13", 7); - Add("T", 7); - Add("TV-14", 8); - Add("R", 9); - Add("M", 9); - Add("TV-MA", 9); - Add("NC-17", 10); - Add("AO", 15); - Add("RP", 15); - Add("UR", 15); - Add("NR", 15); - Add("X", 15); - Add("XXX", 100); - } - } -} -- cgit v1.2.3