mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-06-01 21:38:27 +01:00
Slight re-work of ApplicationPaths so that we can have inherited versions for the UI and Server
This commit is contained in:
parent
a508a997d9
commit
59a3dcc8c1
154
MediaBrowser.Controller/Configuration/ServerApplicationPaths.cs
Normal file
154
MediaBrowser.Controller/Configuration/ServerApplicationPaths.cs
Normal 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;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -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()
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
|
||||
@@ -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" />
|
||||
|
||||
Reference in New Issue
Block a user