aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBond_009 <bond.009@outlook.com>2018-12-12 18:55:14 +0100
committerBond_009 <bond.009@outlook.com>2018-12-13 11:33:27 +0100
commit0f5c0cca3768efd106192add90090c893b2ea60c (patch)
tree7d8e6a30f8a276d7bdb652630db5903b881bc363
parentb36b526f27ebd9ac716d743eea26e65407ceeea4 (diff)
Move default folder for *nix platforms to $HOME/.jellyfin
Remove dependency on System.Configuration.ConfigurationManager
-rw-r--r--MediaBrowser.Server.Mono/ApplicationPathHelper.cs60
-rw-r--r--MediaBrowser.Server.Mono/EmbyServer.csproj1
-rw-r--r--MediaBrowser.Server.Mono/Program.cs12
-rw-r--r--MediaBrowser.Server.Mono/app.config7
4 files changed, 10 insertions, 70 deletions
diff --git a/MediaBrowser.Server.Mono/ApplicationPathHelper.cs b/MediaBrowser.Server.Mono/ApplicationPathHelper.cs
deleted file mode 100644
index ac55693fa..000000000
--- a/MediaBrowser.Server.Mono/ApplicationPathHelper.cs
+++ /dev/null
@@ -1,60 +0,0 @@
-using System;
-using System.Configuration;
-using System.IO;
-using System.Runtime.InteropServices;
-
-namespace MediaBrowser.Server.Mono
-{
- public static class ApplicationPathHelper
- {
- /// <summary>
- /// Gets the path to the application's ProgramDataFolder
- /// </summary>
- /// <returns>System.String.</returns>
- public static string GetProgramDataPath(string applicationPath)
- {
- var useDebugPath = false;
-
-#if DEBUG
- useDebugPath = true;
-#endif
-
- var programDataPath = useDebugPath ?
- ConfigurationManager.AppSettings["DebugProgramDataPath"] :
- ConfigurationManager.AppSettings["ReleaseProgramDataPath"];
-
- if (System.Runtime.InteropServices.RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
- {
- programDataPath = programDataPath.Replace("%ApplicationData%", Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData));
- }
- else
- {
- programDataPath = programDataPath.Replace("%ApplicationData%", "/var/lib");
- }
-
-
- programDataPath = programDataPath
- .Replace('/', Path.DirectorySeparatorChar)
- .Replace('\\', Path.DirectorySeparatorChar);
-
- // If it's a relative path, e.g. "..\"
- if (!Path.IsPathRooted(programDataPath))
- {
- var path = Path.GetDirectoryName(applicationPath);
-
- if (string.IsNullOrEmpty(path))
- {
- throw new ApplicationException("Unable to determine running assembly location");
- }
-
- programDataPath = Path.Combine(path, programDataPath);
-
- programDataPath = Path.GetFullPath(programDataPath);
- }
-
- Directory.CreateDirectory(programDataPath);
-
- return programDataPath;
- }
- }
-}
diff --git a/MediaBrowser.Server.Mono/EmbyServer.csproj b/MediaBrowser.Server.Mono/EmbyServer.csproj
index cafee872b..480b422bc 100644
--- a/MediaBrowser.Server.Mono/EmbyServer.csproj
+++ b/MediaBrowser.Server.Mono/EmbyServer.csproj
@@ -22,7 +22,6 @@
<PackageReference Include="SQLitePCLRaw.bundle_e_sqlite3" Version="1.1.11" />
<PackageReference Include="SQLitePCLRaw.core" Version="1.1.11" />
<PackageReference Include="SQLitePCLRaw.provider.sqlite3.netstandard11" Version="1.1.11" />
- <PackageReference Include="System.Configuration.ConfigurationManager" Version="4.5.0" />
</ItemGroup>
<ItemGroup>
diff --git a/MediaBrowser.Server.Mono/Program.cs b/MediaBrowser.Server.Mono/Program.cs
index 3bcfff983..8d0c9ee0e 100644
--- a/MediaBrowser.Server.Mono/Program.cs
+++ b/MediaBrowser.Server.Mono/Program.cs
@@ -24,6 +24,7 @@ using Mono.Unix.Native;
using ILogger = MediaBrowser.Model.Logging.ILogger;
using X509Certificate = System.Security.Cryptography.X509Certificates.X509Certificate;
using System.Threading;
+using InteropServices = System.Runtime.InteropServices;
namespace MediaBrowser.Server.Mono
{
@@ -87,12 +88,19 @@ namespace MediaBrowser.Server.Mono
{
if (string.IsNullOrEmpty(programDataPath))
{
- programDataPath = ApplicationPathHelper.GetProgramDataPath(applicationPath);
+ if (InteropServices.RuntimeInformation.IsOSPlatform(InteropServices.OSPlatform.Windows))
+ {
+ programDataPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "jellyfin");
+ }
+ else
+ {
+ programDataPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.UserProfile), ".jellyfin");
+ }
}
var appFolderPath = Path.GetDirectoryName(applicationPath);
- return new ServerApplicationPaths(programDataPath, appFolderPath, Path.GetDirectoryName(applicationPath));
+ return new ServerApplicationPaths(programDataPath, appFolderPath, appFolderPath);
}
private static void RunApplication(ServerApplicationPaths appPaths, ILogManager logManager, StartupOptions options)
diff --git a/MediaBrowser.Server.Mono/app.config b/MediaBrowser.Server.Mono/app.config
deleted file mode 100644
index a93871625..000000000
--- a/MediaBrowser.Server.Mono/app.config
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<configuration>
- <appSettings>
- <add key="DebugProgramDataPath" value="%ApplicationData%/jellyfin-debug/" />
- <add key="ReleaseProgramDataPath" value="%ApplicationData%/jellyfin/" />
- </appSettings>
-</configuration> \ No newline at end of file