mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-05-31 21:08:27 +01:00
Created IConfigurationManager
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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())
|
||||
{
|
||||
|
||||
@@ -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 + ")");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user