Moved server configuration to the model so that the UI can read it

This commit is contained in:
LukePulverenti Luke Pulverenti luke pulverenti 2012-09-02 09:45:02 -04:00
parent 7ad612bb4b
commit e52833059b
14 changed files with 55 additions and 27 deletions

View 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);
}
}
}

View File

@ -65,6 +65,7 @@
<Compile Include="HttpHandlers\PersonHandler.cs" /> <Compile Include="HttpHandlers\PersonHandler.cs" />
<Compile Include="HttpHandlers\PluginConfigurationHandler.cs" /> <Compile Include="HttpHandlers\PluginConfigurationHandler.cs" />
<Compile Include="HttpHandlers\PluginsHandler.cs" /> <Compile Include="HttpHandlers\PluginsHandler.cs" />
<Compile Include="HttpHandlers\ServerConfigurationHandler.cs" />
<Compile Include="HttpHandlers\StudioHandler.cs" /> <Compile Include="HttpHandlers\StudioHandler.cs" />
<Compile Include="HttpHandlers\StudiosHandler.cs" /> <Compile Include="HttpHandlers\StudiosHandler.cs" />
<Compile Include="HttpHandlers\UsersHandler.cs" /> <Compile Include="HttpHandlers\UsersHandler.cs" />

View File

@ -105,6 +105,10 @@ namespace MediaBrowser.Api
{ {
return new WeatherHandler(); return new WeatherHandler();
} }
else if (localPath.EndsWith("/api/cerverconfiguration", StringComparison.OrdinalIgnoreCase))
{
return new ServerConfigurationHandler();
}
return null; return null;
} }

View File

@ -4,6 +4,7 @@ using System.IO;
using System.Net; using System.Net;
using System.Net.Http; using System.Net.Http;
using System.Threading.Tasks; using System.Threading.Tasks;
using MediaBrowser.Model.Configuration;
using MediaBrowser.Model.DTO; using MediaBrowser.Model.DTO;
using MediaBrowser.Model.Entities; using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Weather; using MediaBrowser.Model.Weather;
@ -568,7 +569,20 @@ namespace MediaBrowser.ApiInteraction
/// <summary> /// <summary>
/// Gets weather information for the default location as set in configuration /// Gets weather information for the default location as set in configuration
/// </summary> /// </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"; string url = ApiUrl + "/weather";
@ -581,7 +595,7 @@ namespace MediaBrowser.ApiInteraction
/// <summary> /// <summary>
/// Gets weather information for a specific zip code /// Gets weather information for a specific zip code
/// </summary> /// </summary>
public async Task<WeatherInfo> GetWeatherInfo(string zipCode) public async Task<WeatherInfo> GetWeatherInfoAsync(string zipCode)
{ {
string url = ApiUrl + "/weather?zipcode=" + zipCode; string url = ApiUrl + "/weather?zipcode=" + zipCode;

View File

@ -2,7 +2,7 @@
using System.IO; using System.IO;
using System.Reflection; using System.Reflection;
namespace MediaBrowser.Common.Configuration namespace MediaBrowser.Common.Kernel
{ {
/// <summary> /// <summary>
/// Provides a base class to hold common application paths used by both the UI and Server. /// Provides a base class to hold common application paths used by both the UI and Server.

View File

@ -6,11 +6,11 @@ using System.IO;
using System.Linq; using System.Linq;
using System.Reflection; using System.Reflection;
using System.Threading.Tasks; using System.Threading.Tasks;
using MediaBrowser.Common.Configuration;
using MediaBrowser.Common.Logging; using MediaBrowser.Common.Logging;
using MediaBrowser.Common.Net; using MediaBrowser.Common.Net;
using MediaBrowser.Common.Plugins; using MediaBrowser.Common.Plugins;
using MediaBrowser.Common.Serialization; using MediaBrowser.Common.Serialization;
using MediaBrowser.Model.Configuration;
using MediaBrowser.Model.Progress; using MediaBrowser.Model.Progress;
namespace MediaBrowser.Common.Kernel namespace MediaBrowser.Common.Kernel
@ -171,7 +171,7 @@ namespace MediaBrowser.Common.Kernel
Configuration = XmlSerializer.DeserializeFromFile<TConfigurationType>(ApplicationPaths.SystemConfigurationFilePath); Configuration = XmlSerializer.DeserializeFromFile<TConfigurationType>(ApplicationPaths.SystemConfigurationFilePath);
} }
Logger.LoggerInstance.LogSeverity = Configuration.LogSeverity; Logger.LoggerInstance.LogSeverity = Configuration.EnableDebugLevelLogging ? LogSeverity.Debug : LogSeverity.Info;
} }
/// <summary> /// <summary>

View File

@ -74,8 +74,7 @@
<Reference Include="WindowsBase" /> <Reference Include="WindowsBase" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Compile Include="Configuration\BaseApplicationConfiguration.cs" /> <Compile Include="Kernel\BaseApplicationPaths.cs" />
<Compile Include="Configuration\BaseApplicationPaths.cs" />
<Compile Include="Drawing\DrawingUtils.cs" /> <Compile Include="Drawing\DrawingUtils.cs" />
<Compile Include="Net\Handlers\StaticFileHandler.cs" /> <Compile Include="Net\Handlers\StaticFileHandler.cs" />
<Compile Include="Net\MimeTypes.cs" /> <Compile Include="Net\MimeTypes.cs" />

View File

@ -1,13 +1,10 @@
using System; using System;
using System.IO; using System.Reflection;
using System.Threading.Tasks;
using System.Windows; using System.Windows;
using System.Windows.Controls;
using System.Windows.Media.Imaging; using System.Windows.Media.Imaging;
using MediaBrowser.Common.Kernel; using MediaBrowser.Common.Kernel;
using MediaBrowser.Common.Logging; using MediaBrowser.Common.Logging;
using MediaBrowser.Model.Progress; using MediaBrowser.Model.Progress;
using System.Reflection;
namespace MediaBrowser.Common.UI namespace MediaBrowser.Common.UI
{ {

View File

@ -9,12 +9,12 @@ using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using MediaBrowser.Common.Kernel; using MediaBrowser.Common.Kernel;
using MediaBrowser.Common.Logging; using MediaBrowser.Common.Logging;
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.IO; using MediaBrowser.Controller.IO;
using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Providers; using MediaBrowser.Controller.Providers;
using MediaBrowser.Controller.Resolvers; using MediaBrowser.Controller.Resolvers;
using MediaBrowser.Controller.Weather; using MediaBrowser.Controller.Weather;
using MediaBrowser.Model.Configuration;
using MediaBrowser.Model.Entities; using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Progress; using MediaBrowser.Model.Progress;

View File

@ -58,8 +58,7 @@
<Reference Include="System.Xml" /> <Reference Include="System.Xml" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Compile Include="Configuration\ServerApplicationPaths.cs" /> <Compile Include="ServerApplicationPaths.cs" />
<Compile Include="Configuration\ServerConfiguration.cs" />
<Compile Include="Library\ItemResolveEventArgs.cs" /> <Compile Include="Library\ItemResolveEventArgs.cs" />
<Compile Include="FFMpeg\FFProbe.cs" /> <Compile Include="FFMpeg\FFProbe.cs" />
<Compile Include="FFMpeg\FFProbeResult.cs" /> <Compile Include="FFMpeg\FFProbeResult.cs" />

View File

@ -1,7 +1,7 @@
using System.IO; using System.IO;
using MediaBrowser.Common.Configuration; using MediaBrowser.Common.Kernel;
namespace MediaBrowser.Controller.Configuration namespace MediaBrowser.Controller
{ {
/// <summary> /// <summary>
/// Extends BaseApplicationPaths to add paths that are only applicable on the server /// Extends BaseApplicationPaths to add paths that are only applicable on the server

View File

@ -1,18 +1,16 @@
using MediaBrowser.Common.Logging; 
namespace MediaBrowser.Model.Configuration
namespace MediaBrowser.Common.Configuration
{ {
/// <summary> /// <summary>
/// Serves as a common base class for the Server and UI application Configurations /// Serves as a common base class for the Server and UI application Configurations
/// </summary> /// </summary>
public class BaseApplicationConfiguration public class BaseApplicationConfiguration
{ {
public LogSeverity LogSeverity { get; set; } public bool EnableDebugLevelLogging { get; set; }
public int HttpServerPortNumber { get; set; } public int HttpServerPortNumber { get; set; }
public BaseApplicationConfiguration() public BaseApplicationConfiguration()
{ {
LogSeverity = LogSeverity.Info;
HttpServerPortNumber = 8096; HttpServerPortNumber = 8096;
} }
} }

View File

@ -1,6 +1,5 @@
using MediaBrowser.Common.Configuration; 
namespace MediaBrowser.Model.Configuration
namespace MediaBrowser.Controller.Configuration
{ {
public class ServerConfiguration : BaseApplicationConfiguration public class ServerConfiguration : BaseApplicationConfiguration
{ {

View File

@ -32,6 +32,8 @@
<WarningLevel>4</WarningLevel> <WarningLevel>4</WarningLevel>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Compile Include="Configuration\BaseApplicationConfiguration.cs" />
<Compile Include="Configuration\ServerConfiguration.cs" />
<Compile Include="DTO\AudioInfo.cs" /> <Compile Include="DTO\AudioInfo.cs" />
<Compile Include="DTO\DTOBaseItem.cs" /> <Compile Include="DTO\DTOBaseItem.cs" />
<Compile Include="DTO\DTOUser.cs" /> <Compile Include="DTO\DTOUser.cs" />