123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415 |
- using MediaBrowser.Common.Implementations;
- using MediaBrowser.Controller;
- using System.IO;
- namespace MediaBrowser.Server.Implementations
- {
- /// <summary>
- /// Extends BaseApplicationPaths to add paths that are only applicable on the server
- /// </summary>
- public class ServerApplicationPaths : BaseApplicationPaths, IServerApplicationPaths
- {
- #if (DEBUG)
- /// <summary>
- /// Initializes a new instance of the <see cref="ServerApplicationPaths" /> class.
- /// </summary>
- public ServerApplicationPaths()
- : base(true)
- {
- }
- #else
- /// <summary>
- /// Initializes a new instance of the <see cref="ServerApplicationPaths"/> class.
- /// </summary>
- public ServerApplicationPaths()
- : base(false)
- {
- }
- #endif
- /// <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 ItemsByNamePath
- {
- get
- {
- if (_ibnPath == null)
- {
- _ibnPath = Path.Combine(ProgramDataPath, "ImagesByName");
- if (!Directory.Exists(_ibnPath))
- {
- Directory.CreateDirectory(_ibnPath);
- }
- }
- return _ibnPath;
- }
- set
- {
- _ibnPath = value;
- _peoplePath = null;
- _studioPath = null;
- _genrePath = null;
- _yearPath = null;
- _musicArtistsPath = null;
- _generalPath = null;
- _ratingsPath = null;
- _mediaInfoImagesPath = null;
- }
- }
- /// <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(ItemsByNamePath, "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(ItemsByNamePath, "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(ItemsByNamePath, "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(ItemsByNamePath, "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(ItemsByNamePath, "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(ItemsByNamePath, "Ratings");
- if (!Directory.Exists(_ratingsPath))
- {
- Directory.CreateDirectory(_ratingsPath);
- }
- }
- return _ratingsPath;
- }
- }
- /// <summary>
- /// The _media info images path
- /// </summary>
- private string _mediaInfoImagesPath;
- /// <summary>
- /// Gets the media info images path.
- /// </summary>
- /// <value>The media info images path.</value>
- public string MediaInfoImagesPath
- {
- get
- {
- if (_mediaInfoImagesPath == null)
- {
- _mediaInfoImagesPath = Path.Combine(ItemsByNamePath, "MediaInfo");
- if (!Directory.Exists(_mediaInfoImagesPath))
- {
- Directory.CreateDirectory(_mediaInfoImagesPath);
- }
- }
- return _mediaInfoImagesPath;
- }
- }
- /// <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 EncodedMediaCachePath
- {
- get
- {
- if (_fFMpegStreamCachePath == null)
- {
- _fFMpegStreamCachePath = Path.Combine(CachePath, "encoded-media");
- if (!Directory.Exists(_fFMpegStreamCachePath))
- {
- Directory.CreateDirectory(_fFMpegStreamCachePath);
- }
- }
- return _fFMpegStreamCachePath;
- }
- }
- /// <summary>
- /// The _images data path
- /// </summary>
- private string _downloadedImagesDataPath;
- /// <summary>
- /// Gets the images data path.
- /// </summary>
- /// <value>The images data path.</value>
- public string DownloadedImagesDataPath
- {
- get
- {
- if (_downloadedImagesDataPath == null)
- {
- _downloadedImagesDataPath = Path.Combine(DataPath, "remote-images");
- if (!Directory.Exists(_downloadedImagesDataPath))
- {
- Directory.CreateDirectory(_downloadedImagesDataPath);
- }
- }
- return _downloadedImagesDataPath;
- }
- }
- /// <summary>
- /// The _music artists path
- /// </summary>
- private string _musicArtistsPath;
- /// <summary>
- /// Gets the artists path.
- /// </summary>
- /// <value>The artists path.</value>
- public string ArtistsPath
- {
- get
- {
- if (_musicArtistsPath == null)
- {
- _musicArtistsPath = Path.Combine(ItemsByNamePath, "Artists");
- if (!Directory.Exists(_musicArtistsPath))
- {
- Directory.CreateDirectory(_musicArtistsPath);
- }
- }
- return _musicArtistsPath;
- }
- }
- }
- }
|