aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller
diff options
context:
space:
mode:
authorLukePulverenti Luke Pulverenti luke pulverenti <LukePulverenti Luke Pulverenti luke.pulverenti@gmail.com>2012-08-18 16:38:02 -0400
committerLukePulverenti Luke Pulverenti luke pulverenti <LukePulverenti Luke Pulverenti luke.pulverenti@gmail.com>2012-08-18 16:38:02 -0400
commit59a3dcc8c1c6b41560bd48507cfcf4f0ca0a8862 (patch)
tree895b181503897c3e02a6d35b7b05321e65492af5 /MediaBrowser.Controller
parenta508a997d9e7605c40f4442e367b9dd74e54f5e3 (diff)
Slight re-work of ApplicationPaths so that we can have inherited versions for the UI and Server
Diffstat (limited to 'MediaBrowser.Controller')
-rw-r--r--MediaBrowser.Controller/Configuration/ServerApplicationPaths.cs154
-rw-r--r--MediaBrowser.Controller/Kernel.cs4
-rw-r--r--MediaBrowser.Controller/Library/ItemController.cs8
-rw-r--r--MediaBrowser.Controller/MediaBrowser.Controller.csproj1
4 files changed, 161 insertions, 6 deletions
diff --git a/MediaBrowser.Controller/Configuration/ServerApplicationPaths.cs b/MediaBrowser.Controller/Configuration/ServerApplicationPaths.cs
new file mode 100644
index 0000000000..bd33b19842
--- /dev/null
+++ b/MediaBrowser.Controller/Configuration/ServerApplicationPaths.cs
@@ -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;
+ }
+ }
+
+ }
+}
diff --git a/MediaBrowser.Controller/Kernel.cs b/MediaBrowser.Controller/Kernel.cs
index 2058f6d611..a9e536c7bd 100644
--- a/MediaBrowser.Controller/Kernel.cs
+++ b/MediaBrowser.Controller/Kernel.cs
@@ -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()
diff --git a/MediaBrowser.Controller/Library/ItemController.cs b/MediaBrowser.Controller/Library/ItemController.cs
index 10648eca09..8d269679f5 100644
--- a/MediaBrowser.Controller/Library/ItemController.cs
+++ b/MediaBrowser.Controller/Library/ItemController.cs
@@ -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());
}
diff --git a/MediaBrowser.Controller/MediaBrowser.Controller.csproj b/MediaBrowser.Controller/MediaBrowser.Controller.csproj
index 5c60529710..3000fd7a06 100644
--- a/MediaBrowser.Controller/MediaBrowser.Controller.csproj
+++ b/MediaBrowser.Controller/MediaBrowser.Controller.csproj
@@ -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" />