mirror of
https://github.com/lidarr/lidarr.git
synced 2025-08-21 14:03:29 -07:00
Added NzbDrone.Update, refactored some common wrappers to NzbDrone.Common
This commit is contained in:
parent
7563527eac
commit
fb0b505bf4
42 changed files with 1316 additions and 97 deletions
58
NzbDrone.Common/EnviromentProvider.cs
Normal file
58
NzbDrone.Common/EnviromentProvider.cs
Normal file
|
@ -0,0 +1,58 @@
|
|||
using System;
|
||||
using System.IO;
|
||||
using System.Reflection;
|
||||
|
||||
namespace NzbDrone.Common
|
||||
{
|
||||
public class EnviromentProvider
|
||||
{
|
||||
public virtual String LogPath
|
||||
{
|
||||
get { return Environment.CurrentDirectory; }
|
||||
}
|
||||
|
||||
public virtual bool IsUserInteractive
|
||||
{
|
||||
get { return Environment.UserInteractive; }
|
||||
}
|
||||
|
||||
public virtual string ApplicationPath
|
||||
{
|
||||
get
|
||||
{
|
||||
var dir = new FileInfo(Environment.CurrentDirectory).Directory;
|
||||
|
||||
while (!ContainsIIS(dir))
|
||||
{
|
||||
if (dir.Parent == null) break;
|
||||
dir = dir.Parent;
|
||||
}
|
||||
|
||||
if (ContainsIIS(dir)) return dir.FullName;
|
||||
|
||||
dir = new FileInfo(Assembly.GetExecutingAssembly().Location).Directory;
|
||||
|
||||
while (!ContainsIIS(dir))
|
||||
{
|
||||
if (dir.Parent == null) throw new ApplicationException("Can't fine IISExpress folder.");
|
||||
dir = dir.Parent;
|
||||
}
|
||||
|
||||
return dir.FullName;
|
||||
}
|
||||
}
|
||||
|
||||
public virtual string StartUpPath
|
||||
{
|
||||
get
|
||||
{
|
||||
return new FileInfo(Assembly.GetExecutingAssembly().Location).Directory.FullName;
|
||||
}
|
||||
}
|
||||
|
||||
private static bool ContainsIIS(DirectoryInfo dir)
|
||||
{
|
||||
return dir.GetDirectories("iisexpress").Length != 0;
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue