nouveau mediarenderer

This commit is contained in:
2025-10-18 09:58:39 +02:00
parent d86cfe46df
commit ff515e22bd
19 changed files with 353 additions and 111 deletions

View File

@@ -63,7 +63,6 @@ fn create_webp_transformer() -> StreamTransformer {
///
/// * `dir` - Répertoire de stockage du cache
/// * `limit` - Limite de taille du cache (nombre d'images)
/// * `base_url` - URL de base pour la génération d'URLs
///
/// # Returns
///
@@ -74,9 +73,27 @@ fn create_webp_transformer() -> StreamTransformer {
/// ```rust,no_run
/// use pmocovers::cache;
///
/// let cache = cache::new_cache("./cache", 1000, "http://localhost:8080").unwrap();
/// let cache = cache::new_cache("./cache", 1000).unwrap();
/// ```
pub fn new_cache(dir: &str, limit: usize, base_url: &str) -> Result<Cache> {
pub fn new_cache(dir: &str, limit: usize) -> Result<Cache> {
let transformer_factory = Arc::new(|| create_webp_transformer());
Cache::with_transformer(dir, limit, base_url, Some(transformer_factory))
Cache::with_transformer(dir, limit, Some(transformer_factory))
}
/// Retourne la route relative pour accéder à une couverture
///
/// # Arguments
///
/// * `pk` - Clé primaire de l'image
/// * `size` - Taille optionnelle de l'image
///
/// # Returns
///
/// Route relative (ex: "/covers/images/abc123" ou "/covers/images/abc123/300")
pub fn route_for(pk: &str, size: Option<usize>) -> String {
if let Some(s) = size {
format!("/covers/images/{}/{}", pk, s)
} else {
format!("/covers/images/{}", pk)
}
}

View File

@@ -114,8 +114,7 @@ impl CoverCacheExt for pmoserver::Server {
-> anyhow::Result<Arc<Cache>> {
use pmocache::pmoserver_ext::{create_file_router_with_generator, create_api_router};
let base_url = self.info().base_url;
let cache = Arc::new(cache::new_cache(cache_dir, limit, &base_url)?);
let cache = Arc::new(cache::new_cache(cache_dir, limit)?);
// Router de fichiers avec génération de variantes
// Routes: GET /covers/image/{pk} et GET /covers/image/{pk}/{size}