From ad06096f347c72b1d10cd70aaf1df0820bf37d55 Mon Sep 17 00:00:00 2001 From: ByteDream Date: Sun, 9 Apr 2023 15:52:21 +0200 Subject: [PATCH] Add function to get temp directory --- crunchy-cli-core/src/utils/os.rs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/crunchy-cli-core/src/utils/os.rs b/crunchy-cli-core/src/utils/os.rs index f33fee2..bd30c2a 100644 --- a/crunchy-cli-core/src/utils/os.rs +++ b/crunchy-cli-core/src/utils/os.rs @@ -19,17 +19,21 @@ pub fn has_ffmpeg() -> bool { } } +/// Get the temp directory either by the specified `CRUNCHY_CLI_TEMP_DIR` env variable or the dir +/// provided by the os. +pub fn temp_directory() -> PathBuf { + env::var("CRUNCHY_CLI_TEMP_DIR").map_or(env::temp_dir(), |d| PathBuf::from(d)) +} + /// Any tempfile should be created with this function. The prefix and directory of every file /// created with this method stays the same which is helpful to query all existing tempfiles and /// e.g. remove them in a case of ctrl-c. Having one function also good to prevent mistakes like /// setting the wrong prefix if done manually. pub fn tempfile>(suffix: S) -> io::Result { - let tmp_dir = env::var("CRUNCHY_CLI_TEMP_DIR").map_or(env::temp_dir(), |d| PathBuf::from(d)); - let tempfile = Builder::default() .prefix(".crunchy-cli_") .suffix(suffix.as_ref()) - .tempfile_in(tmp_dir)?; + .tempfile_in(temp_directory())?; debug!( "Created temporary file: {}", tempfile.path().to_string_lossy()