using System.IO; using MediaBrowser.Common.Configuration; namespace MediaBrowser.Controller.Configuration { public class ServerApplicationPaths : BaseApplicationPaths { private string _rootFolderPath; /// /// Gets the path to the root media directory /// public string RootFolderPath { get { if (_rootFolderPath == null) { _rootFolderPath = Path.Combine(ProgramDataPath, "root"); if (!Directory.Exists(_rootFolderPath)) { Directory.CreateDirectory(_rootFolderPath); } } return _rootFolderPath; } } private string _ibnPath; /// /// Gets the path to the Images By Name directory /// public string ImagesByNamePath { get { if (_ibnPath == null) { _ibnPath = Path.Combine(ProgramDataPath, "ImagesByName"); if (!Directory.Exists(_ibnPath)) { Directory.CreateDirectory(_ibnPath); } } return _ibnPath; } } private string _PeoplePath; /// /// Gets the path to the People directory /// public string PeoplePath { get { if (_PeoplePath == null) { _PeoplePath = Path.Combine(ImagesByNamePath, "People"); if (!Directory.Exists(_PeoplePath)) { Directory.CreateDirectory(_PeoplePath); } } return _PeoplePath; } } private string _GenrePath; /// /// Gets the path to the Genre directory /// public string GenrePath { get { if (_GenrePath == null) { _GenrePath = Path.Combine(ImagesByNamePath, "Genre"); if (!Directory.Exists(_GenrePath)) { Directory.CreateDirectory(_GenrePath); } } return _GenrePath; } } private string _StudioPath; /// /// Gets the path to the Studio directory /// public string StudioPath { get { if (_StudioPath == null) { _StudioPath = Path.Combine(ImagesByNamePath, "Studio"); if (!Directory.Exists(_StudioPath)) { Directory.CreateDirectory(_StudioPath); } } return _StudioPath; } } private string _yearPath; /// /// Gets the path to the Year directory /// public string YearPath { get { if (_yearPath == null) { _yearPath = Path.Combine(ImagesByNamePath, "Year"); if (!Directory.Exists(_yearPath)) { Directory.CreateDirectory(_yearPath); } } return _yearPath; } } private string _userConfigurationDirectoryPath; /// /// Gets the path to the user configuration directory /// public string UserConfigurationDirectoryPath { get { if (_userConfigurationDirectoryPath == null) { _userConfigurationDirectoryPath = Path.Combine(ConfigurationDirectoryPath, "user"); if (!Directory.Exists(_userConfigurationDirectoryPath)) { Directory.CreateDirectory(_userConfigurationDirectoryPath); } } return _userConfigurationDirectoryPath; } } } }