diff --git a/src/dl.rs b/src/dl.rs index b885e76..9c101f4 100644 --- a/src/dl.rs +++ b/src/dl.rs @@ -10,7 +10,7 @@ pub mod yt_dlp; pub enum DownloadError { Message(String), NoFormatFound, - MakePathError + MakePathError, } impl From for DownloadError { @@ -25,12 +25,12 @@ impl From for DownloadError { } } -fn make_download_path(info: &YtDlpInfo, format: &YtDlpFormat) -> Option { +fn make_download_path(info: &YtDlpInfo, format: &YtDlpFormat) -> Result { std::env::temp_dir() .join(format!("{}.{}", info.id, format.ext)) .into_os_string() .into_string() - .ok() + .map_err(|e| DownloadError::MakePathError) } pub async fn download(url: &str) -> Result { @@ -39,10 +39,7 @@ pub async fn download(url: &str) -> Result { Some(av) => av, None => return Err(DownloadError::NoFormatFound), }; - let output_path = match make_download_path(&info, &av) { - Some(path) => path, - None => return Err(DownloadError::MakePathError) - }; + let output_path = make_download_path(&info, &av)?; todo!() }