treewide: complete book management interface

Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: If5a21f16221f3c56a8008e139f93edc46a6a6964
This commit is contained in:
raf 2026-02-04 23:14:37 +03:00
commit 2f31242442
Signed by: NotAShelf
GPG key ID: 29D95B64378DB4BF
23 changed files with 1693 additions and 126 deletions

View file

@ -9,6 +9,7 @@ use std::path::Path;
use crate::error::Result;
use crate::media_type::MediaType;
use crate::model::ExtractedBookMetadata;
#[derive(Debug, Clone, Default)]
pub struct ExtractedMetadata {
@ -20,6 +21,7 @@ pub struct ExtractedMetadata {
pub duration_secs: Option<f64>,
pub description: Option<String>,
pub extra: HashMap<String, String>,
pub book_metadata: Option<ExtractedBookMetadata>,
}
pub trait MetadataExtractor: Send + Sync {