From c8b942b1fbe8fdab1db0e0f56d3ed86a7486b578 Mon Sep 17 00:00:00 2001 From: Malte Voos Date: Thu, 1 Jan 2026 19:26:01 +0100 Subject: cache extracted subtitles & deepl translations --- src/util/cache.rs | 24 ++++++++++++++++++++++++ src/util/mod.rs | 2 ++ 2 files changed, 26 insertions(+) create mode 100644 src/util/cache.rs (limited to 'src/util') diff --git a/src/util/cache.rs b/src/util/cache.rs new file mode 100644 index 0000000..6e4672f --- /dev/null +++ b/src/util/cache.rs @@ -0,0 +1,24 @@ +use std::env; + +use cached::DiskCache; +use directories::BaseDirs; +use serde::{Serialize, de::DeserializeOwned}; + +pub fn make_cache(name: &str) -> DiskCache +where + K: ToString, + V: Serialize + DeserializeOwned, +{ + let dir = match BaseDirs::new() { + Some(base_dirs) => base_dirs.cache_dir().join("lleap"), + None => env::current_dir() + .expect("unable to determine current directory") + .join("lleap_cache"), + }; + + DiskCache::new(name) + .set_disk_directory(dir) + .set_sync_to_disk_on_cache_change(true) + .build() + .expect("unable to open disk cache") +} diff --git a/src/util/mod.rs b/src/util/mod.rs index 4d19eff..2098a35 100644 --- a/src/util/mod.rs +++ b/src/util/mod.rs @@ -1,3 +1,5 @@ +mod cache; mod tracker; +pub use cache::make_cache; pub use tracker::Tracker; -- cgit 1.4.1