1
0
mirror of https://github.com/Radarr/Radarr.git synced 2024-11-10 13:02:47 +01:00
Radarr/NzbDrone/Providers/EnviromentProvider.cs
2011-10-13 18:22:51 -07:00

59 lines
1.5 KiB
C#

using System;
using System.IO;
using System.Reflection;
namespace NzbDrone.Providers
{
public class EnviromentProvider
{
public virtual String LogPath
{
get { return Environment.CurrentDirectory; }
}
public virtual bool IsUserInteractive
{
get { return Environment.UserInteractive; }
}
public virtual bool IsRunningAsService
{
get
{
try
{
Console.Write("");
return false;
}
catch (Exception)
{
return true;
}
}
}
public virtual string ApplicationPath
{
get
{
var dir = new FileInfo(Environment.CurrentDirectory).Directory;
while (dir.GetDirectories("iisexpress").Length == 0)
{
if (dir.Parent == null) break;
dir = dir.Parent;
}
dir = new FileInfo(Assembly.GetExecutingAssembly().Location).Directory;
while (dir.GetDirectories("iisexpress").Length == 0)
{
if (dir.Parent == null) throw new ApplicationException("Can't fine IISExpress folder.");
dir = dir.Parent;
}
return dir.FullName;
}
}
}
}