mirror of
https://github.com/Sonarr/Sonarr.git
synced 2024-12-12 11:15:43 +02:00
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));
|
|
}
|
|
}
|
|
}
|