diff options
Diffstat (limited to 'MediaBrowser.Api/ConfigurationService.cs')
| -rw-r--r-- | MediaBrowser.Api/ConfigurationService.cs | 60 |
1 files changed, 9 insertions, 51 deletions
diff --git a/MediaBrowser.Api/ConfigurationService.cs b/MediaBrowser.Api/ConfigurationService.cs index 7b6e5ed19..3eb0296fc 100644 --- a/MediaBrowser.Api/ConfigurationService.cs +++ b/MediaBrowser.Api/ConfigurationService.cs @@ -9,7 +9,6 @@ using MediaBrowser.Model.Serialization; using ServiceStack; using ServiceStack.Text.Controller; using ServiceStack.Web; -using System; using System.Collections.Generic; using System.IO; using System.Linq; @@ -33,18 +32,18 @@ namespace MediaBrowser.Api [ApiMember(Name = "Key", Description = "Key", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "GET")] public string Key { get; set; } } - + /// <summary> /// Class UpdateConfiguration /// </summary> [Route("/System/Configuration", "POST", Summary = "Updates application configuration")] - [Authenticated] + [Authenticated(Roles = "Admin")] public class UpdateConfiguration : ServerConfiguration, IReturnVoid { } [Route("/System/Configuration/{Key}", "POST", Summary = "Updates named configuration")] - [Authenticated] + [Authenticated(Roles = "Admin")] public class UpdateNamedConfiguration : IReturnVoid, IRequiresRequestStream { [ApiMember(Name = "Key", Description = "Key", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "GET")] @@ -52,23 +51,23 @@ namespace MediaBrowser.Api public Stream RequestStream { get; set; } } - + [Route("/System/Configuration/MetadataOptions/Default", "GET", Summary = "Gets a default MetadataOptions object")] - [Authenticated] + [Authenticated(Roles = "Admin")] public class GetDefaultMetadataOptions : IReturn<MetadataOptions> { } [Route("/System/Configuration/MetadataPlugins", "GET", Summary = "Gets all available metadata plugins")] - [Authenticated] + [Authenticated(Roles = "Admin")] public class GetMetadataPlugins : IReturn<List<MetadataPluginSummary>> { } [Route("/System/Configuration/MetadataPlugins/Autoset", "POST")] - [Authenticated] + [Authenticated(Roles = "Admin", AllowBeforeStartupWizard = true)] public class AutoSetMetadataOptions : IReturnVoid { @@ -122,53 +121,12 @@ namespace MediaBrowser.Api return ToOptimizedResult(result); } - const string XbmcMetadata = "Xbmc Nfo"; - const string MediaBrowserMetadata = "Media Browser Xml"; - public void Post(AutoSetMetadataOptions request) { - var service = AutoDetectMetadataService(); - - Logger.Info("Setting preferred metadata format to " + service); - - var serviceToDisable = string.Equals(service, XbmcMetadata) ? - MediaBrowserMetadata : - XbmcMetadata; - - _configurationManager.DisableMetadataService(serviceToDisable); + _configurationManager.DisableMetadataService("Media Browser Xml"); _configurationManager.SaveConfiguration(); } - private string AutoDetectMetadataService() - { - try - { - var paths = _libraryManager.GetDefaultVirtualFolders() - .SelectMany(i => i.Locations) - .Distinct(StringComparer.OrdinalIgnoreCase) - .Select(i => new DirectoryInfo(i)) - .ToList(); - - if (paths.SelectMany(i => i.EnumerateFiles("*.xml", SearchOption.AllDirectories)) - .Any()) - { - return XbmcMetadata; - } - - if (paths.SelectMany(i => i.EnumerateFiles("*.xml", SearchOption.AllDirectories)) - .Any(i => string.Equals(i.Name, "series.xml", StringComparison.OrdinalIgnoreCase) || string.Equals(i.Name, "movie.xml", StringComparison.OrdinalIgnoreCase))) - { - return MediaBrowserMetadata; - } - } - catch (Exception) - { - - } - - return XbmcMetadata; - } - /// <summary> /// Posts the specified configuraiton. /// </summary> @@ -190,7 +148,7 @@ namespace MediaBrowser.Api var configurationType = _configurationManager.GetConfigurationType(key); var configuration = _jsonSerializer.DeserializeFromStream(request.RequestStream, configurationType); - + _configurationManager.SaveConfiguration(key, configuration); } |
