Moved server configuration to the model so that the UI can read it
This commit is contained in:
parent
7ad612bb4b
commit
e52833059b
15
MediaBrowser.Api/HttpHandlers/ServerConfigurationHandler.cs
Normal file
15
MediaBrowser.Api/HttpHandlers/ServerConfigurationHandler.cs
Normal file
|
@ -0,0 +1,15 @@
|
|||
using System.Threading.Tasks;
|
||||
using MediaBrowser.Common.Net.Handlers;
|
||||
using MediaBrowser.Controller;
|
||||
using MediaBrowser.Model.Configuration;
|
||||
|
||||
namespace MediaBrowser.Api.HttpHandlers
|
||||
{
|
||||
class ServerConfigurationHandler : BaseSerializationHandler<ServerConfiguration>
|
||||
{
|
||||
protected override Task<ServerConfiguration> GetObjectToSerialize()
|
||||
{
|
||||
return Task.FromResult<ServerConfiguration>(Kernel.Instance.Configuration);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -65,6 +65,7 @@
|
|||
<Compile Include="HttpHandlers\PersonHandler.cs" />
|
||||
<Compile Include="HttpHandlers\PluginConfigurationHandler.cs" />
|
||||
<Compile Include="HttpHandlers\PluginsHandler.cs" />
|
||||
<Compile Include="HttpHandlers\ServerConfigurationHandler.cs" />
|
||||
<Compile Include="HttpHandlers\StudioHandler.cs" />
|
||||
<Compile Include="HttpHandlers\StudiosHandler.cs" />
|
||||
<Compile Include="HttpHandlers\UsersHandler.cs" />
|
||||
|
|
|
@ -105,6 +105,10 @@ namespace MediaBrowser.Api
|
|||
{
|
||||
return new WeatherHandler();
|
||||
}
|
||||
else if (localPath.EndsWith("/api/cerverconfiguration", StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
return new ServerConfigurationHandler();
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
|
|
@ -4,6 +4,7 @@ using System.IO;
|
|||
using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Threading.Tasks;
|
||||
using MediaBrowser.Model.Configuration;
|
||||
using MediaBrowser.Model.DTO;
|
||||
using MediaBrowser.Model.Entities;
|
||||
using MediaBrowser.Model.Weather;
|
||||
|
@ -568,7 +569,20 @@ namespace MediaBrowser.ApiInteraction
|
|||
/// <summary>
|
||||
/// Gets weather information for the default location as set in configuration
|
||||
/// </summary>
|
||||
public async Task<WeatherInfo> GetWeatherInfo()
|
||||
public async Task<ServerConfiguration> GetServerConfigurationAsync()
|
||||
{
|
||||
string url = ApiUrl + "/ServerConfiguration";
|
||||
|
||||
using (Stream stream = await GetSerializedStreamAsync(url).ConfigureAwait(false))
|
||||
{
|
||||
return DeserializeFromStream<ServerConfiguration>(stream);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets weather information for the default location as set in configuration
|
||||
/// </summary>
|
||||
public async Task<WeatherInfo> GetWeatherInfoAsync()
|
||||
{
|
||||
string url = ApiUrl + "/weather";
|
||||
|
||||
|
@ -581,7 +595,7 @@ namespace MediaBrowser.ApiInteraction
|
|||
/// <summary>
|
||||
/// Gets weather information for a specific zip code
|
||||
/// </summary>
|
||||
public async Task<WeatherInfo> GetWeatherInfo(string zipCode)
|
||||
public async Task<WeatherInfo> GetWeatherInfoAsync(string zipCode)
|
||||
{
|
||||
string url = ApiUrl + "/weather?zipcode=" + zipCode;
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
using System.IO;
|
||||
using System.Reflection;
|
||||
|
||||
namespace MediaBrowser.Common.Configuration
|
||||
namespace MediaBrowser.Common.Kernel
|
||||
{
|
||||
/// <summary>
|
||||
/// Provides a base class to hold common application paths used by both the UI and Server.
|
|
@ -6,11 +6,11 @@ using System.IO;
|
|||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Threading.Tasks;
|
||||
using MediaBrowser.Common.Configuration;
|
||||
using MediaBrowser.Common.Logging;
|
||||
using MediaBrowser.Common.Net;
|
||||
using MediaBrowser.Common.Plugins;
|
||||
using MediaBrowser.Common.Serialization;
|
||||
using MediaBrowser.Model.Configuration;
|
||||
using MediaBrowser.Model.Progress;
|
||||
|
||||
namespace MediaBrowser.Common.Kernel
|
||||
|
@ -93,17 +93,17 @@ namespace MediaBrowser.Common.Kernel
|
|||
protected void ReloadComposableParts()
|
||||
{
|
||||
DisposeComposableParts();
|
||||
|
||||
|
||||
// Gets all plugin assemblies by first reading all bytes of the .dll and calling Assembly.Load against that
|
||||
// This will prevent the .dll file from getting locked, and allow us to replace it when needed
|
||||
IEnumerable<Assembly> pluginAssemblies = Directory.GetFiles(ApplicationPaths.PluginsPath, "*.dll", SearchOption.AllDirectories).Select(f => Assembly.Load(File.ReadAllBytes((f))));
|
||||
|
||||
var catalog = new AggregateCatalog(pluginAssemblies.Select(a => new AssemblyCatalog(a)));
|
||||
|
||||
|
||||
// Include composable parts in the Common assembly
|
||||
// Uncomment this if it's ever needed
|
||||
//catalog.Catalogs.Add(new AssemblyCatalog(Assembly.GetExecutingAssembly()));
|
||||
|
||||
|
||||
// Include composable parts in the subclass assembly
|
||||
catalog.Catalogs.Add(new AssemblyCatalog(GetType().Assembly));
|
||||
|
||||
|
@ -171,7 +171,7 @@ namespace MediaBrowser.Common.Kernel
|
|||
Configuration = XmlSerializer.DeserializeFromFile<TConfigurationType>(ApplicationPaths.SystemConfigurationFilePath);
|
||||
}
|
||||
|
||||
Logger.LoggerInstance.LogSeverity = Configuration.LogSeverity;
|
||||
Logger.LoggerInstance.LogSeverity = Configuration.EnableDebugLevelLogging ? LogSeverity.Debug : LogSeverity.Info;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
|
@ -74,8 +74,7 @@
|
|||
<Reference Include="WindowsBase" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Configuration\BaseApplicationConfiguration.cs" />
|
||||
<Compile Include="Configuration\BaseApplicationPaths.cs" />
|
||||
<Compile Include="Kernel\BaseApplicationPaths.cs" />
|
||||
<Compile Include="Drawing\DrawingUtils.cs" />
|
||||
<Compile Include="Net\Handlers\StaticFileHandler.cs" />
|
||||
<Compile Include="Net\MimeTypes.cs" />
|
||||
|
|
|
@ -1,13 +1,10 @@
|
|||
using System;
|
||||
using System.IO;
|
||||
using System.Threading.Tasks;
|
||||
using System.Reflection;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Media.Imaging;
|
||||
using MediaBrowser.Common.Kernel;
|
||||
using MediaBrowser.Common.Logging;
|
||||
using MediaBrowser.Model.Progress;
|
||||
using System.Reflection;
|
||||
|
||||
namespace MediaBrowser.Common.UI
|
||||
{
|
||||
|
|
|
@ -9,12 +9,12 @@ using System.Text;
|
|||
using System.Threading.Tasks;
|
||||
using MediaBrowser.Common.Kernel;
|
||||
using MediaBrowser.Common.Logging;
|
||||
using MediaBrowser.Controller.Configuration;
|
||||
using MediaBrowser.Controller.IO;
|
||||
using MediaBrowser.Controller.Library;
|
||||
using MediaBrowser.Controller.Providers;
|
||||
using MediaBrowser.Controller.Resolvers;
|
||||
using MediaBrowser.Controller.Weather;
|
||||
using MediaBrowser.Model.Configuration;
|
||||
using MediaBrowser.Model.Entities;
|
||||
using MediaBrowser.Model.Progress;
|
||||
|
||||
|
|
|
@ -58,8 +58,7 @@
|
|||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Configuration\ServerApplicationPaths.cs" />
|
||||
<Compile Include="Configuration\ServerConfiguration.cs" />
|
||||
<Compile Include="ServerApplicationPaths.cs" />
|
||||
<Compile Include="Library\ItemResolveEventArgs.cs" />
|
||||
<Compile Include="FFMpeg\FFProbe.cs" />
|
||||
<Compile Include="FFMpeg\FFProbeResult.cs" />
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
using System.IO;
|
||||
using MediaBrowser.Common.Configuration;
|
||||
using MediaBrowser.Common.Kernel;
|
||||
|
||||
namespace MediaBrowser.Controller.Configuration
|
||||
namespace MediaBrowser.Controller
|
||||
{
|
||||
/// <summary>
|
||||
/// Extends BaseApplicationPaths to add paths that are only applicable on the server
|
|
@ -1,18 +1,16 @@
|
|||
using MediaBrowser.Common.Logging;
|
||||
|
||||
namespace MediaBrowser.Common.Configuration
|
||||
|
||||
namespace MediaBrowser.Model.Configuration
|
||||
{
|
||||
/// <summary>
|
||||
/// Serves as a common base class for the Server and UI application Configurations
|
||||
/// </summary>
|
||||
public class BaseApplicationConfiguration
|
||||
{
|
||||
public LogSeverity LogSeverity { get; set; }
|
||||
public bool EnableDebugLevelLogging { get; set; }
|
||||
public int HttpServerPortNumber { get; set; }
|
||||
|
||||
public BaseApplicationConfiguration()
|
||||
{
|
||||
LogSeverity = LogSeverity.Info;
|
||||
HttpServerPortNumber = 8096;
|
||||
}
|
||||
}
|
|
@ -1,6 +1,5 @@
|
|||
using MediaBrowser.Common.Configuration;
|
||||
|
||||
namespace MediaBrowser.Controller.Configuration
|
||||
|
||||
namespace MediaBrowser.Model.Configuration
|
||||
{
|
||||
public class ServerConfiguration : BaseApplicationConfiguration
|
||||
{
|
|
@ -32,6 +32,8 @@
|
|||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Configuration\BaseApplicationConfiguration.cs" />
|
||||
<Compile Include="Configuration\ServerConfiguration.cs" />
|
||||
<Compile Include="DTO\AudioInfo.cs" />
|
||||
<Compile Include="DTO\DTOBaseItem.cs" />
|
||||
<Compile Include="DTO\DTOUser.cs" />
|
||||
|
|
Loading…
Reference in New Issue
Block a user