Simplify code to get data dir

This commit is contained in:
Bond_009 2019-02-09 20:20:39 +01:00 committed by Bond-009
parent 395072239d
commit a94aeb5c87

View File

@ -181,26 +181,13 @@ namespace Jellyfin.Server
if (string.IsNullOrEmpty(dataDir)) if (string.IsNullOrEmpty(dataDir))
{ {
if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) // LocalApplicationData follows the XDG spec on unix machines
{ dataDir = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "jellyfin");
dataDir = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
}
else
{
// $XDG_DATA_HOME defines the base directory relative to which user specific data files should be stored.
dataDir = Environment.GetEnvironmentVariable("XDG_DATA_HOME");
// If $XDG_DATA_HOME is either not set or empty, a default equal to $HOME/.local/share should be used.
if (string.IsNullOrEmpty(dataDir))
{
dataDir = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.UserProfile), ".local", "share");
}
}
dataDir = Path.Combine(dataDir, "jellyfin");
} }
} }
Directory.CreateDirectory(dataDir);
// configDir // configDir
// IF --configdir // IF --configdir
// ELSE IF $JELLYFIN_CONFIG_DIR // ELSE IF $JELLYFIN_CONFIG_DIR
@ -210,7 +197,6 @@ namespace Jellyfin.Server
// ELSE IF $XDG_CONFIG_HOME use $XDG_CONFIG_HOME/jellyfin // ELSE IF $XDG_CONFIG_HOME use $XDG_CONFIG_HOME/jellyfin
// ELSE $HOME/.config/jellyfin // ELSE $HOME/.config/jellyfin
var configDir = options.ConfigDir; var configDir = options.ConfigDir;
if (string.IsNullOrEmpty(configDir)) if (string.IsNullOrEmpty(configDir))
{ {
configDir = Environment.GetEnvironmentVariable("JELLYFIN_CONFIG_DIR"); configDir = Environment.GetEnvironmentVariable("JELLYFIN_CONFIG_DIR");