diff options
| author | JPVenson <github@jpb.email> | 2025-04-26 18:30:25 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-04-26 09:30:25 -0600 |
| commit | 8ee358de2ca956d22c14f28c3783ba99acd87a32 (patch) | |
| tree | 8127a03e3ef0b7b2a19a51781ec809ba2ce66216 /MediaBrowser.Common | |
| parent | df5671263fc8370ae17b7a5d53f06a86de5cbc93 (diff) | |
Check for path overlaps (#12832)
Diffstat (limited to 'MediaBrowser.Common')
| -rw-r--r-- | MediaBrowser.Common/Configuration/EncodingConfigurationExtensions.cs | 3 | ||||
| -rw-r--r-- | MediaBrowser.Common/Configuration/IApplicationPaths.cs | 13 |
2 files changed, 14 insertions, 2 deletions
diff --git a/MediaBrowser.Common/Configuration/EncodingConfigurationExtensions.cs b/MediaBrowser.Common/Configuration/EncodingConfigurationExtensions.cs index 70a4fe409..78e96ab47 100644 --- a/MediaBrowser.Common/Configuration/EncodingConfigurationExtensions.cs +++ b/MediaBrowser.Common/Configuration/EncodingConfigurationExtensions.cs @@ -35,8 +35,7 @@ namespace MediaBrowser.Common.Configuration transcodingTempPath = Path.Combine(configurationManager.CommonApplicationPaths.CachePath, "transcodes"); } - // Make sure the directory exists - Directory.CreateDirectory(transcodingTempPath); + configurationManager.CommonApplicationPaths.CreateAndCheckMarker(transcodingTempPath, "transcode", true); return transcodingTempPath; } } diff --git a/MediaBrowser.Common/Configuration/IApplicationPaths.cs b/MediaBrowser.Common/Configuration/IApplicationPaths.cs index 7a8ab3236..fa0d8247b 100644 --- a/MediaBrowser.Common/Configuration/IApplicationPaths.cs +++ b/MediaBrowser.Common/Configuration/IApplicationPaths.cs @@ -90,5 +90,18 @@ namespace MediaBrowser.Common.Configuration /// </summary> /// <value>The trickplay path.</value> string TrickplayPath { get; } + + /// <summary> + /// Checks and creates all known base paths. + /// </summary> + void MakeSanityCheckOrThrow(); + + /// <summary> + /// Checks and creates the given path and adds it with a marker file if non existant. + /// </summary> + /// <param name="path">The path to check.</param> + /// <param name="markerName">The common marker file name.</param> + /// <param name="recursive">Check for other settings paths recursivly.</param> + void CreateAndCheckMarker(string path, string markerName, bool recursive = false); } } |
