Created IConfigurationManager

This commit is contained in:
LukePulverenti
2013-03-04 00:43:06 -05:00
parent 401b56c732
commit 2ca4b7d03a
106 changed files with 1343 additions and 2437 deletions

View File

@@ -1,4 +1,5 @@
using MediaBrowser.Model.Logging;
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Model.Logging;
using System;
using System.Collections.Concurrent;
using System.Globalization;
@@ -14,10 +15,8 @@ namespace MediaBrowser.Controller.Localization
/// </summary>
public class LocalizedStrings
{
/// <summary>
/// The logger
/// </summary>
static internal ILogger Logger { get; set; }
internal static IServerApplicationPaths ApplicationPaths;
/// <summary>
/// The base prefix
/// </summary>
@@ -31,17 +30,21 @@ namespace MediaBrowser.Controller.Localization
/// </summary>
private static LocalizedStrings _instance;
private IServerApplicationPaths _appPaths;
/// <summary>
/// Gets the instance.
/// </summary>
/// <value>The instance.</value>
public static LocalizedStrings Instance { get { return _instance ?? (_instance = new LocalizedStrings()); } }
public static LocalizedStrings Instance { get { return _instance ?? (_instance = new LocalizedStrings(ApplicationPaths)); } }
/// <summary>
/// Initializes a new instance of the <see cref="LocalizedStrings" /> class.
/// </summary>
public LocalizedStrings()
public LocalizedStrings(IServerApplicationPaths appPaths)
{
_appPaths = appPaths;
foreach (var stringObject in Kernel.Instance.StringFiles)
{
AddStringData(LoadFromFile(GetFileName(stringObject),stringObject.GetType()));
@@ -55,7 +58,7 @@ namespace MediaBrowser.Controller.Localization
/// <returns>System.String.</returns>
protected string GetFileName(LocalizedStringData stringObject)
{
var path = Kernel.Instance.ApplicationPaths.LocalizationPath;
var path = _appPaths.LocalizationPath;
var name = Path.Combine(path, stringObject.Prefix + "strings-" + CultureInfo.CurrentCulture + ".xml");
if (File.Exists(name))
{
@@ -125,17 +128,17 @@ namespace MediaBrowser.Controller.Localization
}
catch (TargetException ex)
{
Logger.ErrorException("Error getting value for field: {0}", ex, field.Name);
//Logger.ErrorException("Error getting value for field: {0}", ex, field.Name);
continue;
}
catch (FieldAccessException ex)
{
Logger.ErrorException("Error getting value for field: {0}", ex, field.Name);
//Logger.ErrorException("Error getting value for field: {0}", ex, field.Name);
continue;
}
catch (NotSupportedException ex)
{
Logger.ErrorException("Error getting value for field: {0}", ex, field.Name);
//Logger.ErrorException("Error getting value for field: {0}", ex, field.Name);
continue;
}

View File

@@ -1,4 +1,5 @@
using MediaBrowser.Common.Extensions;
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Model.Logging;
using System.Collections.Generic;
using System.IO;
@@ -11,7 +12,8 @@ namespace MediaBrowser.Controller.Localization
/// </summary>
public static class Ratings
{
static internal ILogger Logger { get; set; }
internal static IServerConfigurationManager ConfigurationManager;
/// <summary>
/// The ratings def
/// </summary>
@@ -26,7 +28,7 @@ namespace MediaBrowser.Controller.Localization
/// <value>The ratings dict.</value>
public static Dictionary<string, int> RatingsDict
{
get { return _ratingsDict ?? (_ratingsDict = Initialize(false)); }
get { return _ratingsDict ?? (_ratingsDict = Initialize(false, ConfigurationManager)); }
}
/// <summary>
/// The ratings strings
@@ -38,17 +40,17 @@ namespace MediaBrowser.Controller.Localization
/// </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)
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(Kernel.Instance.ApplicationPaths.LocalizationPath, "Ratings-" + Kernel.Instance.Configuration.MetadataCountryCode + ".txt"), Logger);
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)
{
dict.TryAdd(pair.Key, pair.Value);
}
if (Kernel.Instance.Configuration.MetadataCountryCode.ToUpper() != "US")
if (configurationManager.Configuration.MetadataCountryCode.ToUpper() != "US")
{
foreach (var pair in new USRatingsDictionary())
{

View File

@@ -1,4 +1,5 @@
using MediaBrowser.Model.Logging;
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Model.Logging;
using System;
using System.Collections.Generic;
using System.IO;
@@ -10,26 +11,18 @@ namespace MediaBrowser.Controller.Localization
/// </summary>
public class RatingsDefinition
{
/// <summary>
/// Gets or sets the logger.
/// </summary>
/// <value>The logger.</value>
private ILogger Logger { get; set; }
/// <summary>
/// Initializes a new instance of the <see cref="RatingsDefinition" /> class.
/// </summary>
/// <param name="file">The file.</param>
/// <param name="logger">The logger.</param>
public RatingsDefinition(string file, ILogger logger)
/// <param name="configurationManager">The configuration manager.</param>
public RatingsDefinition(string file, IServerConfigurationManager configurationManager)
{
Logger = logger;
Logger.Info("Loading Certification Ratings from file " + file);
this.file = file;
if (!Load())
{
Init(Kernel.Instance.Configuration.MetadataCountryCode.ToUpper());
Init(configurationManager.Configuration.MetadataCountryCode.ToUpper());
}
}
@@ -108,7 +101,7 @@ namespace MediaBrowser.Controller.Localization
}
else
{
Logger.Error("Invalid line in ratings file " + file + "(" + line + ")");
//Logger.Error("Invalid line in ratings file " + file + "(" + line + ")");
}
}
}