diff options
Diffstat (limited to 'cache')
| -rw-r--r-- | cache/tools/Cargo.toml | 16 | ||||
| -rw-r--r-- | cache/tools/cache_fs_to_rocksdb.rs | 38 | ||||
| -rw-r--r-- | cache/tools/cache_rocksdb_delete_prefix.rs | 25 |
3 files changed, 0 insertions, 79 deletions
diff --git a/cache/tools/Cargo.toml b/cache/tools/Cargo.toml deleted file mode 100644 index bf0427d..0000000 --- a/cache/tools/Cargo.toml +++ /dev/null @@ -1,16 +0,0 @@ -[package] -name = "tools" -version = "0.1.0" -edition = "2024" - -[dependencies] -rocksdb = { version = "0.24.0", features = ["multi-threaded-cf"] } -anyhow = { workspace = true } - -[[bin]] -name = "cache_fs_to_rocksdb" -path = "cache_fs_to_rocksdb.rs" - -[[bin]] -name = "cache_rocksdb_delete_prefix" -path = "cache_rocksdb_delete_prefix.rs" diff --git a/cache/tools/cache_fs_to_rocksdb.rs b/cache/tools/cache_fs_to_rocksdb.rs deleted file mode 100644 index d283dcb..0000000 --- a/cache/tools/cache_fs_to_rocksdb.rs +++ /dev/null @@ -1,38 +0,0 @@ -/* - This file is part of jellything (https://codeberg.org/metamuffin/jellything) - which is licensed under the GNU Affero General Public License (version 3); see /COPYING. - Copyright (C) 2026 metamuffin <metamuffin.org> -*/ - -use anyhow::{Result, bail}; -use rocksdb::DB; -use std::{env::args, fs::File, io::Read, path::Path}; - -fn main() -> Result<()> { - let in_path = args().nth(1).unwrap(); - let out_path = args().nth(2).unwrap(); - let db = DB::open_default(out_path)?; - if !in_path.ends_with("/") { - bail!("path needs to end with /") - } - traverse(&db, &in_path, in_path.as_ref())?; - db.flush()?; - Ok(()) -} - -fn traverse(db: &DB, prefix: &str, path: &Path) -> Result<()> { - if path.is_dir() { - for e in path.read_dir()? { - traverse(db, prefix, &e?.path())?; - } - } - if path.is_file() { - let key = path.to_string_lossy(); - let key = key.strip_prefix(prefix).unwrap(); - let mut value = Vec::new(); - File::open(path)?.read_to_end(&mut value)?; - println!("{key}"); - db.put(key, value)?; - } - Ok(()) -} diff --git a/cache/tools/cache_rocksdb_delete_prefix.rs b/cache/tools/cache_rocksdb_delete_prefix.rs deleted file mode 100644 index e09ce61..0000000 --- a/cache/tools/cache_rocksdb_delete_prefix.rs +++ /dev/null @@ -1,25 +0,0 @@ -/* - This file is part of jellything (https://codeberg.org/metamuffin/jellything) - which is licensed under the GNU Affero General Public License (version 3); see /COPYING. - Copyright (C) 2026 metamuffin <metamuffin.org> -*/ - -use anyhow::Result; -use rocksdb::DB; -use std::env::args; - -fn main() -> Result<()> { - let db = DB::open_default(args().nth(1).unwrap())?; - let prefix = args().nth(2).unwrap(); - for r in db.prefix_iterator(&prefix) { - let key = r?.0; - let key_s = String::from_utf8_lossy(&key); - if !key_s.starts_with(&prefix) { - break; - } - println!("{key_s}"); - db.delete(key)?; - } - db.flush()?; - Ok(()) -} |