aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Emby.Server.Implementations/AppBase/BaseApplicationPaths.cs4
-rw-r--r--Emby.Server.Implementations/Localization/iso6392.txt1
-rw-r--r--Emby.Server.Implementations/ServerApplicationPaths.cs9
-rw-r--r--Jellyfin.Server/Program.cs27
-rw-r--r--Jellyfin.Server/StartupOptions.cs3
-rw-r--r--MediaBrowser.LocalMetadata/Savers/PersonXmlSaver.cs47
6 files changed, 40 insertions, 51 deletions
diff --git a/Emby.Server.Implementations/AppBase/BaseApplicationPaths.cs b/Emby.Server.Implementations/AppBase/BaseApplicationPaths.cs
index e4a2cd9df..701c04f9e 100644
--- a/Emby.Server.Implementations/AppBase/BaseApplicationPaths.cs
+++ b/Emby.Server.Implementations/AppBase/BaseApplicationPaths.cs
@@ -16,12 +16,14 @@ namespace Emby.Server.Implementations.AppBase
string programDataPath,
string appFolderPath,
string logDirectoryPath = null,
- string configurationDirectoryPath = null)
+ string configurationDirectoryPath = null,
+ string cacheDirectoryPath = null)
{
ProgramDataPath = programDataPath;
ProgramSystemPath = appFolderPath;
LogDirectoryPath = logDirectoryPath;
ConfigurationDirectoryPath = configurationDirectoryPath;
+ CachePath = cacheDirectoryPath;
}
public string ProgramDataPath { get; private set; }
diff --git a/Emby.Server.Implementations/Localization/iso6392.txt b/Emby.Server.Implementations/Localization/iso6392.txt
index f2cea78b6..40f8614f1 100644
--- a/Emby.Server.Implementations/Localization/iso6392.txt
+++ b/Emby.Server.Implementations/Localization/iso6392.txt
@@ -400,6 +400,7 @@ sog|||Sogdian|sogdien
som||so|Somali|somali
son|||Songhai languages|songhai, langues
sot||st|Sotho, Southern|sotho du Sud
+spa||es-mx|Spanish; Latin|espagnol; Latin
spa||es|Spanish; Castilian|espagnol; castillan
srd||sc|Sardinian|sarde
srn|||Sranan Tongo|sranan tongo
diff --git a/Emby.Server.Implementations/ServerApplicationPaths.cs b/Emby.Server.Implementations/ServerApplicationPaths.cs
index 67389536b..36975df50 100644
--- a/Emby.Server.Implementations/ServerApplicationPaths.cs
+++ b/Emby.Server.Implementations/ServerApplicationPaths.cs
@@ -18,8 +18,13 @@ namespace Emby.Server.Implementations
string appFolderPath,
string applicationResourcesPath,
string logDirectoryPath = null,
- string configurationDirectoryPath = null)
- : base(programDataPath, appFolderPath, logDirectoryPath, configurationDirectoryPath)
+ string configurationDirectoryPath = null,
+ string cacheDirectoryPath = null)
+ : base(programDataPath,
+ appFolderPath,
+ logDirectoryPath,
+ configurationDirectoryPath,
+ cacheDirectoryPath)
{
ApplicationResourcesPath = applicationResourcesPath;
}
diff --git a/Jellyfin.Server/Program.cs b/Jellyfin.Server/Program.cs
index 2f1828336..5c8608a92 100644
--- a/Jellyfin.Server/Program.cs
+++ b/Jellyfin.Server/Program.cs
@@ -202,6 +202,31 @@ namespace Jellyfin.Server
Directory.CreateDirectory(configDir);
}
+ string cacheDir = Environment.GetEnvironmentVariable("JELLYFIN_CACHE_DIR");
+ if (string.IsNullOrEmpty(cacheDir))
+ {
+ if (options.CacheDir != null)
+ {
+ cacheDir = options.CacheDir;
+ }
+ else if (!RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
+ {
+ // $XDG_CACHE_HOME defines the base directory relative to which user specific non-essential data files should be stored.
+ cacheDir = Environment.GetEnvironmentVariable("XDG_CACHE_HOME");
+ // If $XDG_CACHE_HOME is either not set or empty, $HOME/.cache should be used.
+ if (string.IsNullOrEmpty(cacheDir))
+ {
+ cacheDir = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.UserProfile), ".cache");
+ }
+ cacheDir = Path.Combine(cacheDir, "jellyfin");
+ }
+ }
+
+ if (cacheDir != null)
+ {
+ Directory.CreateDirectory(cacheDir);
+ }
+
string logDir = Environment.GetEnvironmentVariable("JELLYFIN_LOG_DIR");
if (string.IsNullOrEmpty(logDir))
{
@@ -223,7 +248,7 @@ namespace Jellyfin.Server
string appPath = AppContext.BaseDirectory;
- return new ServerApplicationPaths(programDataPath, appPath, appPath, logDir, configDir);
+ return new ServerApplicationPaths(programDataPath, appPath, appPath, logDir, configDir, cacheDir);
}
private static async Task createLogger(IApplicationPaths appPaths)
diff --git a/Jellyfin.Server/StartupOptions.cs b/Jellyfin.Server/StartupOptions.cs
index 6e6b61725..5d3f7b171 100644
--- a/Jellyfin.Server/StartupOptions.cs
+++ b/Jellyfin.Server/StartupOptions.cs
@@ -11,6 +11,9 @@ namespace Jellyfin.Server
[Option('d', "datadir", Required = false, HelpText = "Path to use for the data folder (database files, etc.).")]
public string DataDir { get; set; }
+ [Option('C', "cachedir", Required = false, HelpText = "Path to use for caching.")]
+ public string CacheDir { get; set; }
+
[Option('c', "configdir", Required = false, HelpText = "Path to use for configuration data (user settings and pictures).")]
public string ConfigDir { get; set; }
diff --git a/MediaBrowser.LocalMetadata/Savers/PersonXmlSaver.cs b/MediaBrowser.LocalMetadata/Savers/PersonXmlSaver.cs
deleted file mode 100644
index 7dd2c589f..000000000
--- a/MediaBrowser.LocalMetadata/Savers/PersonXmlSaver.cs
+++ /dev/null
@@ -1,47 +0,0 @@
-namespace MediaBrowser.LocalMetadata.Savers
-{
- ///// <summary>
- ///// Class PersonXmlSaver
- ///// </summary>
- //public class PersonXmlSaver : BaseXmlSaver
- //{
- // public override bool IsEnabledFor(IHasMetadata item, ItemUpdateType updateType)
- // {
- // if (!item.SupportsLocalMetadata)
- // {
- // return false;
- // }
-
- // return item is Person && updateType >= ItemUpdateType.MetadataDownload;
- // }
-
- // protected override List<string> GetTagsUsed()
- // {
- // var list = new List<string>
- // {
- // "PlaceOfBirth"
- // };
-
- // return list;
- // }
-
- // protected override void WriteCustomElements(IHasMetadata item, XmlWriter writer)
- // {
- // var person = (Person)item;
-
- // if (person.ProductionLocations.Count > 0)
- // {
- // writer.WriteElementString("PlaceOfBirth", person.ProductionLocations[0]);
- // }
- // }
-
- // protected override string GetLocalSavePath(IHasMetadata item)
- // {
- // return Path.Combine(item.Path, "person.xml");
- // }
-
- // public PersonXmlSaver(IFileSystem fileSystem, IServerConfigurationManager configurationManager, ILibraryManager libraryManager, IUserManager userManager, IUserDataManager userDataManager, ILogger logger, IXmlReaderSettingsFactory xmlReaderSettingsFactory) : base(fileSystem, configurationManager, libraryManager, userManager, userDataManager, logger, xmlReaderSettingsFactory)
- // {
- // }
- //}
-}