diff options
author | metamuffin <metamuffin@disroot.org> | 2023-08-06 12:52:42 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2023-08-06 12:52:42 +0200 |
commit | 8551bf2e34d9543fa41a83fae785ed81d6a6c10f (patch) | |
tree | aaa79d1572b253c35576685945280438fe68f4d4 /server/src/import.rs | |
parent | cd366dfdfad18b38c4e542e6db61ced3929d42f9 (diff) | |
download | jellything-8551bf2e34d9543fa41a83fae785ed81d6a6c10f.tar jellything-8551bf2e34d9543fa41a83fae785ed81d6a6c10f.tar.bz2 jellything-8551bf2e34d9543fa41a83fae785ed81d6a6c10f.tar.zst |
move shared server code to own crate
Diffstat (limited to 'server/src/import.rs')
-rw-r--r-- | server/src/import.rs | 27 |
1 files changed, 2 insertions, 25 deletions
diff --git a/server/src/import.rs b/server/src/import.rs index 9ffab48..48bdcdc 100644 --- a/server/src/import.rs +++ b/server/src/import.rs @@ -6,14 +6,12 @@ use crate::{database::Database, federation::Federation, CONF}; use anyhow::{anyhow, bail, Context, Ok}; use async_recursion::async_recursion; -use base64::Engine; use futures::{stream::FuturesUnordered, StreamExt}; +use jellybase::cache_file; use jellyclient::Session; use jellycommon::{AssetLocation, MediaSource, Node, NodePrivate, RemoteImportOptions}; use log::{debug, error, info}; -use std::{ - ffi::OsStr, fs::File, os::unix::prelude::OsStrExt, path::PathBuf, str::FromStr, sync::LazyLock, -}; +use std::{ffi::OsStr, fs::File, os::unix::prelude::OsStrExt, path::PathBuf, sync::LazyLock}; use tokio::sync::Semaphore; static IMPORT_SEM: LazyLock<Semaphore> = LazyLock::new(|| Semaphore::new(1)); @@ -194,24 +192,3 @@ async fn cache_federation_asset( } Ok(poster) } - -fn cache_file(seed: &[&str]) -> (PathBuf, Option<File>) { - use sha2::Digest; - let mut d = sha2::Sha512::new(); - for s in seed { - d.update(s.as_bytes()); - d.update(b"\0"); - } - let d = d.finalize(); - let fname = base64::engine::general_purpose::URL_SAFE.encode(d); - let fname = &fname[..22]; // about 128 bits - let fullpath = CONF.cache_path.join(fname); - let cachepath = PathBuf::from_str(fname).unwrap(); - - let f = if !fullpath.exists() { - Some(File::create(&fullpath).unwrap()) - } else { - None - }; - (cachepath, f) -} |