mirror of https://github.com/Sonarr/Sonarr
54 lines
1.4 KiB
C#
54 lines
1.4 KiB
C#
|
using System;
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.IO;
|
|||
|
using System.Linq;
|
|||
|
using System.Reflection;
|
|||
|
using System.Text;
|
|||
|
using System.Xml.Linq;
|
|||
|
|
|||
|
namespace NzbDrone.Core.Providers.Core
|
|||
|
{
|
|||
|
public class ConfigFileProvider
|
|||
|
{
|
|||
|
public string ConfigFile
|
|||
|
{
|
|||
|
get { return Path.Combine(CentralDispatch.AppPath, "App_Data", "Config.xml"); }
|
|||
|
}
|
|||
|
|
|||
|
public virtual int Port
|
|||
|
{
|
|||
|
get { return GetValueInt("Port"); }
|
|||
|
}
|
|||
|
|
|||
|
public virtual bool LaunchBrowser
|
|||
|
{
|
|||
|
get { return GetValueBoolean("LaunchBrowser"); }
|
|||
|
}
|
|||
|
|
|||
|
public virtual string GetValue(string key, string parent = null)
|
|||
|
{
|
|||
|
var xDoc = XDocument.Load(ConfigFile);
|
|||
|
var config = xDoc.Descendants("Config").Single();
|
|||
|
|
|||
|
var parentContainer = config;
|
|||
|
|
|||
|
if (parent != null)
|
|||
|
parentContainer = config.Descendants(parent).Single();
|
|||
|
|
|||
|
var value = parentContainer.Descendants(key).Single().Value;
|
|||
|
|
|||
|
return value;
|
|||
|
}
|
|||
|
|
|||
|
public virtual int GetValueInt(string key, string parent = null)
|
|||
|
{
|
|||
|
return Convert.ToInt32(GetValue(key, parent));
|
|||
|
}
|
|||
|
|
|||
|
public virtual bool GetValueBoolean(string key, string parent = null)
|
|||
|
{
|
|||
|
return Convert.ToBoolean(GetValue(key, parent));
|
|||
|
}
|
|||
|
}
|
|||
|
}
|