jellyfin/Emby.Server.Implementations/ServerApplicationPaths.cs

110 lines
4.0 KiB
C#
Raw Normal View History

2017-02-20 20:50:58 +00:00
using System.IO;
using Emby.Server.Implementations.AppBase;
2013-02-24 21:53:54 +00:00
using MediaBrowser.Controller;
2013-02-21 01:33:05 +00:00
2017-02-20 20:50:58 +00:00
namespace Emby.Server.Implementations
2013-02-21 01:33:05 +00:00
{
/// <summary>
2019-09-10 20:37:53 +00:00
/// Extends BaseApplicationPaths to add paths that are only applicable on the server.
2013-02-21 01:33:05 +00:00
/// </summary>
2013-02-24 21:53:54 +00:00
public class ServerApplicationPaths : BaseApplicationPaths, IServerApplicationPaths
2013-02-21 01:33:05 +00:00
{
2013-09-21 01:04:14 +00:00
/// <summary>
2019-08-09 21:50:40 +00:00
/// Initializes a new instance of the <see cref="ServerApplicationPaths" /> class.
2013-09-21 01:04:14 +00:00
/// </summary>
2019-01-05 18:12:05 +00:00
public ServerApplicationPaths(
string programDataPath,
string logDirectoryPath,
string configurationDirectoryPath,
string cacheDirectoryPath,
string webDirectoryPath)
2019-12-04 20:47:01 +00:00
: base(
programDataPath,
2019-01-28 16:52:56 +00:00
logDirectoryPath,
configurationDirectoryPath,
cacheDirectoryPath,
webDirectoryPath)
2013-09-21 01:04:14 +00:00
{
InternalMetadataPath = DefaultInternalMetadataPath;
2013-09-21 01:04:14 +00:00
}
2013-02-21 01:33:05 +00:00
/// <summary>
2019-08-09 21:50:40 +00:00
/// Gets the path to the base root media directory.
2013-02-21 01:33:05 +00:00
/// </summary>
/// <value>The root folder path.</value>
public string RootFolderPath => Path.Combine(ProgramDataPath, "root");
2013-02-21 01:33:05 +00:00
/// <summary>
/// Gets the path to the default user view directory. Used if no specific user view is defined.
/// </summary>
/// <value>The default user views path.</value>
public string DefaultUserViewsPath => Path.Combine(RootFolderPath, "default");
2013-02-21 01:33:05 +00:00
/// <summary>
2019-08-09 21:50:40 +00:00
/// Gets the path to the People directory.
2013-02-21 01:33:05 +00:00
/// </summary>
/// <value>The people path.</value>
public string PeoplePath => Path.Combine(InternalMetadataPath, "People");
2013-02-21 01:33:05 +00:00
2019-12-04 20:47:01 +00:00
/// <inheritdoc />
public string ArtistsPath => Path.Combine(InternalMetadataPath, "artists");
2016-08-18 05:56:10 +00:00
2013-02-21 01:33:05 +00:00
/// <summary>
2019-08-09 21:50:40 +00:00
/// Gets the path to the Genre directory.
2013-02-21 01:33:05 +00:00
/// </summary>
/// <value>The genre path.</value>
public string GenrePath => Path.Combine(InternalMetadataPath, "Genre");
2013-02-21 01:33:05 +00:00
2013-06-11 03:31:00 +00:00
/// <summary>
2019-08-09 21:50:40 +00:00
/// Gets the path to the Genre directory.
2013-06-11 03:31:00 +00:00
/// </summary>
/// <value>The genre path.</value>
public string MusicGenrePath => Path.Combine(InternalMetadataPath, "MusicGenre");
2013-09-21 01:04:14 +00:00
2013-02-21 01:33:05 +00:00
/// <summary>
2019-08-09 21:50:40 +00:00
/// Gets the path to the Studio directory.
2013-02-21 01:33:05 +00:00
/// </summary>
/// <value>The studio path.</value>
public string StudioPath => Path.Combine(InternalMetadataPath, "Studio");
2013-02-21 01:33:05 +00:00
/// <summary>
2019-08-09 21:50:40 +00:00
/// Gets the path to the Year directory.
2013-02-21 01:33:05 +00:00
/// </summary>
/// <value>The year path.</value>
public string YearPath => Path.Combine(InternalMetadataPath, "Year");
2013-02-21 01:33:05 +00:00
/// <summary>
2019-08-09 21:50:40 +00:00
/// Gets the path to the General IBN directory.
2013-02-21 01:33:05 +00:00
/// </summary>
/// <value>The general path.</value>
public string GeneralPath => Path.Combine(InternalMetadataPath, "general");
2013-02-21 01:33:05 +00:00
/// <summary>
2019-08-09 21:50:40 +00:00
/// Gets the path to the Ratings IBN directory.
2013-02-21 01:33:05 +00:00
/// </summary>
/// <value>The ratings path.</value>
public string RatingsPath => Path.Combine(InternalMetadataPath, "ratings");
2013-02-21 01:33:05 +00:00
2013-05-02 14:30:38 +00:00
/// <summary>
/// Gets the media info images path.
/// </summary>
/// <value>The media info images path.</value>
public string MediaInfoImagesPath => Path.Combine(InternalMetadataPath, "mediainfo");
2013-05-02 14:30:38 +00:00
2013-02-21 01:33:05 +00:00
/// <summary>
2019-08-09 21:50:40 +00:00
/// Gets the path to the user configuration directory.
2013-02-21 01:33:05 +00:00
/// </summary>
/// <value>The user configuration directory path.</value>
public string UserConfigurationDirectoryPath => Path.Combine(ConfigurationDirectoryPath, "users");
2013-02-21 01:33:05 +00:00
/// <inheritdoc/>
public string DefaultInternalMetadataPath => Path.Combine(ProgramDataPath, "metadata");
2019-12-04 20:47:01 +00:00
/// <inheritdoc />
public string InternalMetadataPath { get; set; }
2018-09-12 17:26:21 +00:00
2019-12-04 20:47:01 +00:00
/// <inheritdoc />
2020-10-17 14:01:36 +00:00
public string VirtualInternalMetadataPath => "%MetadataPath%";
2013-02-21 01:33:05 +00:00
}
}