diff options
Diffstat (limited to 'MediaBrowser.Controller/ServerApplicationPaths.cs')
| -rw-r--r-- | MediaBrowser.Controller/ServerApplicationPaths.cs | 612 |
1 files changed, 334 insertions, 278 deletions
diff --git a/MediaBrowser.Controller/ServerApplicationPaths.cs b/MediaBrowser.Controller/ServerApplicationPaths.cs index f657ee259..a376afed8 100644 --- a/MediaBrowser.Controller/ServerApplicationPaths.cs +++ b/MediaBrowser.Controller/ServerApplicationPaths.cs @@ -1,278 +1,334 @@ -using System.IO;
-using MediaBrowser.Common.Kernel;
-
-namespace MediaBrowser.Controller
-{
- /// <summary>
- /// Extends BaseApplicationPaths to add paths that are only applicable on the server
- /// </summary>
- 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;
- }
- }
-
- private string _CacheDirectory;
- /// <summary>
- /// Gets the folder path to the cache directory
- /// </summary>
- public string CacheDirectory
- {
- get
- {
- if (_CacheDirectory == null)
- {
- _CacheDirectory = Path.Combine(Kernel.Instance.ApplicationPaths.ProgramDataPath, "cache");
-
- if (!Directory.Exists(_CacheDirectory))
- {
- Directory.CreateDirectory(_CacheDirectory);
- }
- }
-
- return _CacheDirectory;
- }
- }
-
- private string _FFProbeAudioCacheDirectory;
- /// <summary>
- /// Gets the folder path to the ffprobe audio cache directory
- /// </summary>
- public string FFProbeAudioCacheDirectory
- {
- get
- {
- if (_FFProbeAudioCacheDirectory == null)
- {
- _FFProbeAudioCacheDirectory = Path.Combine(Kernel.Instance.ApplicationPaths.CacheDirectory, "ffprobe-audio");
-
- if (!Directory.Exists(_FFProbeAudioCacheDirectory))
- {
- Directory.CreateDirectory(_FFProbeAudioCacheDirectory);
- }
- }
-
- return _FFProbeAudioCacheDirectory;
- }
- }
-
- private string _FFProbeVideoCacheDirectory;
- /// <summary>
- /// Gets the folder path to the ffprobe video cache directory
- /// </summary>
- public string FFProbeVideoCacheDirectory
- {
- get
- {
- if (_FFProbeVideoCacheDirectory == null)
- {
- _FFProbeVideoCacheDirectory = Path.Combine(Kernel.Instance.ApplicationPaths.CacheDirectory, "ffprobe-video");
-
- if (!Directory.Exists(_FFProbeVideoCacheDirectory))
- {
- Directory.CreateDirectory(_FFProbeVideoCacheDirectory);
- }
- }
-
- return _FFProbeVideoCacheDirectory;
- }
- }
-
- private string _FFMpegDirectory;
- /// <summary>
- /// Gets the folder path to ffmpeg
- /// </summary>
- public string FFMpegDirectory
- {
- get
- {
- if (_FFMpegDirectory == null)
- {
- _FFMpegDirectory = Path.Combine(Kernel.Instance.ApplicationPaths.ProgramDataPath, "FFMpeg");
-
- if (!Directory.Exists(_FFMpegDirectory))
- {
- Directory.CreateDirectory(_FFMpegDirectory);
- }
- }
-
- return _FFMpegDirectory;
- }
- }
-
- private string _FFMpegPath;
- /// <summary>
- /// Gets the path to ffmpeg.exe
- /// </summary>
- public string FFMpegPath
- {
- get
- {
- if (_FFMpegPath == null)
- {
- _FFMpegPath = Path.Combine(FFMpegDirectory, "ffmpeg.exe");
- }
-
- return _FFMpegPath;
- }
- }
-
- private string _FFProbePath;
- /// <summary>
- /// Gets the path to ffprobe.exe
- /// </summary>
- public string FFProbePath
- {
- get
- {
- if (_FFProbePath == null)
- {
- _FFProbePath = Path.Combine(FFMpegDirectory, "ffprobe.exe");
- }
-
- return _FFProbePath;
- }
- }
- }
-}
+using MediaBrowser.Common.Kernel; +using System.IO; + +namespace MediaBrowser.Controller +{ + /// <summary> + /// Extends BaseApplicationPaths to add paths that are only applicable on the server + /// </summary> + public class ServerApplicationPaths : BaseApplicationPaths + { + /// <summary> + /// The _root folder path + /// </summary> + private string _rootFolderPath; + /// <summary> + /// Gets the path to the base root media directory + /// </summary> + /// <value>The root folder path.</value> + public string RootFolderPath + { + get + { + if (_rootFolderPath == null) + { + _rootFolderPath = Path.Combine(ProgramDataPath, "Root"); + if (!Directory.Exists(_rootFolderPath)) + { + Directory.CreateDirectory(_rootFolderPath); + } + } + return _rootFolderPath; + } + } + + /// <summary> + /// The _default user views path + /// </summary> + private string _defaultUserViewsPath; + /// <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 + { + get + { + if (_defaultUserViewsPath == null) + { + _defaultUserViewsPath = Path.Combine(RootFolderPath, "Default"); + if (!Directory.Exists(_defaultUserViewsPath)) + { + Directory.CreateDirectory(_defaultUserViewsPath); + } + } + return _defaultUserViewsPath; + } + } + + /// <summary> + /// The _localization path + /// </summary> + private string _localizationPath; + /// <summary> + /// Gets the path to localization data. + /// </summary> + /// <value>The localization path.</value> + public string LocalizationPath + { + get + { + if (_localizationPath == null) + { + _localizationPath = Path.Combine(ProgramDataPath, "Localization"); + if (!Directory.Exists(_localizationPath)) + { + Directory.CreateDirectory(_localizationPath); + } + } + return _localizationPath; + } + } + + /// <summary> + /// The _ibn path + /// </summary> + private string _ibnPath; + /// <summary> + /// Gets the path to the Images By Name directory + /// </summary> + /// <value>The images by name path.</value> + public string ImagesByNamePath + { + get + { + if (_ibnPath == null) + { + _ibnPath = Path.Combine(ProgramDataPath, "ImagesByName"); + if (!Directory.Exists(_ibnPath)) + { + Directory.CreateDirectory(_ibnPath); + } + } + + return _ibnPath; + } + } + + /// <summary> + /// The _people path + /// </summary> + private string _peoplePath; + /// <summary> + /// Gets the path to the People directory + /// </summary> + /// <value>The people path.</value> + public string PeoplePath + { + get + { + if (_peoplePath == null) + { + _peoplePath = Path.Combine(ImagesByNamePath, "People"); + if (!Directory.Exists(_peoplePath)) + { + Directory.CreateDirectory(_peoplePath); + } + } + + return _peoplePath; + } + } + + /// <summary> + /// The _genre path + /// </summary> + private string _genrePath; + /// <summary> + /// Gets the path to the Genre directory + /// </summary> + /// <value>The genre path.</value> + public string GenrePath + { + get + { + if (_genrePath == null) + { + _genrePath = Path.Combine(ImagesByNamePath, "Genre"); + if (!Directory.Exists(_genrePath)) + { + Directory.CreateDirectory(_genrePath); + } + } + + return _genrePath; + } + } + + /// <summary> + /// The _studio path + /// </summary> + private string _studioPath; + /// <summary> + /// Gets the path to the Studio directory + /// </summary> + /// <value>The studio path.</value> + public string StudioPath + { + get + { + if (_studioPath == null) + { + _studioPath = Path.Combine(ImagesByNamePath, "Studio"); + if (!Directory.Exists(_studioPath)) + { + Directory.CreateDirectory(_studioPath); + } + } + + return _studioPath; + } + } + + /// <summary> + /// The _year path + /// </summary> + private string _yearPath; + /// <summary> + /// Gets the path to the Year directory + /// </summary> + /// <value>The year path.</value> + public string YearPath + { + get + { + if (_yearPath == null) + { + _yearPath = Path.Combine(ImagesByNamePath, "Year"); + if (!Directory.Exists(_yearPath)) + { + Directory.CreateDirectory(_yearPath); + } + } + + return _yearPath; + } + } + + /// <summary> + /// The _general path + /// </summary> + private string _generalPath; + /// <summary> + /// Gets the path to the General IBN directory + /// </summary> + /// <value>The general path.</value> + public string GeneralPath + { + get + { + if (_generalPath == null) + { + _generalPath = Path.Combine(ImagesByNamePath, "General"); + if (!Directory.Exists(_generalPath)) + { + Directory.CreateDirectory(_generalPath); + } + } + + return _generalPath; + } + } + + /// <summary> + /// The _ratings path + /// </summary> + private string _ratingsPath; + /// <summary> + /// Gets the path to the Ratings IBN directory + /// </summary> + /// <value>The ratings path.</value> + public string RatingsPath + { + get + { + if (_ratingsPath == null) + { + _ratingsPath = Path.Combine(ImagesByNamePath, "Ratings"); + if (!Directory.Exists(_ratingsPath)) + { + Directory.CreateDirectory(_ratingsPath); + } + } + + return _ratingsPath; + } + } + + /// <summary> + /// The _user configuration directory path + /// </summary> + private string _userConfigurationDirectoryPath; + /// <summary> + /// Gets the path to the user configuration directory + /// </summary> + /// <value>The user configuration directory path.</value> + public string UserConfigurationDirectoryPath + { + get + { + if (_userConfigurationDirectoryPath == null) + { + _userConfigurationDirectoryPath = Path.Combine(ConfigurationDirectoryPath, "users"); + if (!Directory.Exists(_userConfigurationDirectoryPath)) + { + Directory.CreateDirectory(_userConfigurationDirectoryPath); + } + } + return _userConfigurationDirectoryPath; + } + } + + /// <summary> + /// The _f F MPEG stream cache path + /// </summary> + private string _fFMpegStreamCachePath; + /// <summary> + /// Gets the FF MPEG stream cache path. + /// </summary> + /// <value>The FF MPEG stream cache path.</value> + public string FFMpegStreamCachePath + { + get + { + if (_fFMpegStreamCachePath == null) + { + _fFMpegStreamCachePath = Path.Combine(CachePath, "ffmpeg-streams"); + + if (!Directory.Exists(_fFMpegStreamCachePath)) + { + Directory.CreateDirectory(_fFMpegStreamCachePath); + } + } + + return _fFMpegStreamCachePath; + } + } + + /// <summary> + /// The _media tools path + /// </summary> + private string _mediaToolsPath; + /// <summary> + /// Gets the folder path to tools + /// </summary> + /// <value>The media tools path.</value> + public string MediaToolsPath + { + get + { + if (_mediaToolsPath == null) + { + _mediaToolsPath = Path.Combine(ProgramDataPath, "MediaTools"); + + if (!Directory.Exists(_mediaToolsPath)) + { + Directory.CreateDirectory(_mediaToolsPath); + } + } + + return _mediaToolsPath; + } + } + } +} |
