mirror of
https://github.com/lidarr/lidarr.git
synced 2025-08-21 14:03:29 -07:00
App_Data added to .gitignore
Added SetValue to ConfigFileProvider. Added creating of default config file in ConfigFileProvider. Added more ConfigFileProvider tests. Added UI for Settings/System
This commit is contained in:
parent
f0f706b32c
commit
ec6a0e6b7f
9 changed files with 185 additions and 3 deletions
|
@ -18,11 +18,13 @@ namespace NzbDrone.Core.Providers.Core
|
|||
public virtual int Port
|
||||
{
|
||||
get { return GetValueInt("Port"); }
|
||||
set { SetValue("Port", value); }
|
||||
}
|
||||
|
||||
public virtual bool LaunchBrowser
|
||||
{
|
||||
get { return GetValueBoolean("LaunchBrowser"); }
|
||||
set { SetValue("LaunchBrowser", value); }
|
||||
}
|
||||
|
||||
public virtual string GetValue(string key, string parent = null)
|
||||
|
@ -32,7 +34,7 @@ namespace NzbDrone.Core.Providers.Core
|
|||
|
||||
var parentContainer = config;
|
||||
|
||||
if (parent != null)
|
||||
if (!String.IsNullOrEmpty(parent))
|
||||
parentContainer = config.Descendants(parent).Single();
|
||||
|
||||
var value = parentContainer.Descendants(key).Single().Value;
|
||||
|
@ -49,5 +51,44 @@ namespace NzbDrone.Core.Providers.Core
|
|||
{
|
||||
return Convert.ToBoolean(GetValue(key, parent));
|
||||
}
|
||||
|
||||
public virtual void SetValue(string key, object value, string parent = null)
|
||||
{
|
||||
var xDoc = XDocument.Load(ConfigFile);
|
||||
var config = xDoc.Descendants("Config").Single();
|
||||
|
||||
var parentContainer = config;
|
||||
|
||||
if (!String.IsNullOrEmpty(parent))
|
||||
parentContainer = config.Descendants(parent).Single();
|
||||
|
||||
parentContainer.Descendants(key).Single().Value = value.ToString();
|
||||
|
||||
xDoc.Save(ConfigFile);
|
||||
}
|
||||
|
||||
public virtual void CreateDefaultConfigFile()
|
||||
{
|
||||
//Create the config file here
|
||||
Directory.CreateDirectory(Path.Combine(CentralDispatch.AppPath, "App_Data"));
|
||||
|
||||
if (!File.Exists(ConfigFile))
|
||||
{
|
||||
WriteDefaultConfig();
|
||||
}
|
||||
}
|
||||
|
||||
public virtual void WriteDefaultConfig()
|
||||
{
|
||||
var xDoc = new XDocument(new XDeclaration("1.0", "utf-8", "yes"));
|
||||
|
||||
xDoc.Add(new XElement("Config",
|
||||
new XElement("Port", 8989),
|
||||
new XElement("LaunchBrowser", true)
|
||||
)
|
||||
);
|
||||
|
||||
xDoc.Save(ConfigFile);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue