Slight re-work of ApplicationPaths so that we can have inherited versions for the UI and Server

This commit is contained in:
LukePulverenti Luke Pulverenti luke pulverenti
2012-08-18 16:38:02 -04:00
parent a508a997d9
commit 59a3dcc8c1
11 changed files with 312 additions and 329 deletions

View File

@@ -0,0 +1,154 @@
using System.IO;
using MediaBrowser.Common.Configuration;
namespace MediaBrowser.Controller.Configuration
{
public class ServerApplicationPaths : BaseApplicationPaths
{
private string _rootFolderPath;
/// <summary>
/// Gets the path to the root media directory
/// </summary>
public string RootFolderPath
{
get
{
if (_rootFolderPath == null)
{
_rootFolderPath = Path.Combine(ProgramDataPath, "root");
if (!Directory.Exists(_rootFolderPath))
{
Directory.CreateDirectory(_rootFolderPath);
}
}
return _rootFolderPath;
}
}
private string _ibnPath;
/// <summary>
/// Gets the path to the Images By Name directory
/// </summary>
public string ImagesByNamePath
{
get
{
if (_ibnPath == null)
{
_ibnPath = Path.Combine(ProgramDataPath, "ImagesByName");
if (!Directory.Exists(_ibnPath))
{
Directory.CreateDirectory(_ibnPath);
}
}
return _ibnPath;
}
}
private string _PeoplePath;
/// <summary>
/// Gets the path to the People directory
/// </summary>
public string PeoplePath
{
get
{
if (_PeoplePath == null)
{
_PeoplePath = Path.Combine(ImagesByNamePath, "People");
if (!Directory.Exists(_PeoplePath))
{
Directory.CreateDirectory(_PeoplePath);
}
}
return _PeoplePath;
}
}
private string _GenrePath;
/// <summary>
/// Gets the path to the Genre directory
/// </summary>
public string GenrePath
{
get
{
if (_GenrePath == null)
{
_GenrePath = Path.Combine(ImagesByNamePath, "Genre");
if (!Directory.Exists(_GenrePath))
{
Directory.CreateDirectory(_GenrePath);
}
}
return _GenrePath;
}
}
private string _StudioPath;
/// <summary>
/// Gets the path to the Studio directory
/// </summary>
public string StudioPath
{
get
{
if (_StudioPath == null)
{
_StudioPath = Path.Combine(ImagesByNamePath, "Studio");
if (!Directory.Exists(_StudioPath))
{
Directory.CreateDirectory(_StudioPath);
}
}
return _StudioPath;
}
}
private string _yearPath;
/// <summary>
/// Gets the path to the Year directory
/// </summary>
public string YearPath
{
get
{
if (_yearPath == null)
{
_yearPath = Path.Combine(ImagesByNamePath, "Year");
if (!Directory.Exists(_yearPath))
{
Directory.CreateDirectory(_yearPath);
}
}
return _yearPath;
}
}
private string _userConfigurationDirectoryPath;
/// <summary>
/// Gets the path to the user configuration directory
/// </summary>
public string UserConfigurationDirectoryPath
{
get
{
if (_userConfigurationDirectoryPath == null)
{
_userConfigurationDirectoryPath = Path.Combine(ConfigurationDirectoryPath, "user");
if (!Directory.Exists(_userConfigurationDirectoryPath))
{
Directory.CreateDirectory(_userConfigurationDirectoryPath);
}
}
return _userConfigurationDirectoryPath;
}
}
}
}

View File

@@ -17,7 +17,7 @@ using MediaBrowser.Model.Progress;
namespace MediaBrowser.Controller
{
public class Kernel : BaseKernel<ServerConfiguration>
public class Kernel : BaseKernel<ServerConfiguration, ServerApplicationPaths>
{
public static Kernel Instance { get; private set; }
@@ -43,7 +43,7 @@ namespace MediaBrowser.Controller
public IEnumerable<IBaseItemResolver> EntityResolvers { get; private set; }
/// <summary>
/// Creates a kernal based on a Data path, which is akin to our current programdata path
/// Creates a kernel based on a Data path, which is akin to our current programdata path
/// </summary>
public Kernel()
: base()

View File

@@ -305,7 +305,7 @@ namespace MediaBrowser.Controller.Library
/// </summary>
public Person GetPerson(string name)
{
string path = Path.Combine(ApplicationPaths.PeoplePath, name);
string path = Path.Combine(Kernel.Instance.ApplicationPaths.PeoplePath, name);
return GetImagesByNameItem<Person>(path, name);
}
@@ -315,7 +315,7 @@ namespace MediaBrowser.Controller.Library
/// </summary>
public Studio GetStudio(string name)
{
string path = Path.Combine(ApplicationPaths.StudioPath, name);
string path = Path.Combine(Kernel.Instance.ApplicationPaths.StudioPath, name);
return GetImagesByNameItem<Studio>(path, name);
}
@@ -325,7 +325,7 @@ namespace MediaBrowser.Controller.Library
/// </summary>
public Genre GetGenre(string name)
{
string path = Path.Combine(ApplicationPaths.GenrePath, name);
string path = Path.Combine(Kernel.Instance.ApplicationPaths.GenrePath, name);
return GetImagesByNameItem<Genre>(path, name);
}
@@ -335,7 +335,7 @@ namespace MediaBrowser.Controller.Library
/// </summary>
public Year GetYear(int value)
{
string path = Path.Combine(ApplicationPaths.YearPath, value.ToString());
string path = Path.Combine(Kernel.Instance.ApplicationPaths.YearPath, value.ToString());
return GetImagesByNameItem<Year>(path, value.ToString());
}

View File

@@ -49,6 +49,7 @@
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Configuration\ServerApplicationPaths.cs" />
<Compile Include="Configuration\ServerConfiguration.cs" />
<Compile Include="Events\ItemResolveEventArgs.cs" />
<Compile Include="IO\DirectoryWatchers.cs" />