From d95ebeaba052f624fc080a727edc9e09008325b3 Mon Sep 17 00:00:00 2001
From: rm-dr <96270320+rm-dr@users.noreply.github.com>
Date: Mon, 23 Mar 2026 22:40:32 -0700
Subject: [PATCH] Extract epub covers
---
.../src/extract/item/epub/epub_cover.rs | 76 +++++++++++++++++++
.../pile-value/src/extract/item/epub/mod.rs | 19 +++++
2 files changed, 95 insertions(+)
create mode 100644 crates/pile-value/src/extract/item/epub/epub_cover.rs
diff --git a/crates/pile-value/src/extract/item/epub/epub_cover.rs b/crates/pile-value/src/extract/item/epub/epub_cover.rs
new file mode 100644
index 0000000..2623309
--- /dev/null
+++ b/crates/pile-value/src/extract/item/epub/epub_cover.rs
@@ -0,0 +1,76 @@
+use epub::doc::EpubDoc;
+use mime::Mime;
+use pile_io::SyncReadBridge;
+use std::sync::{Arc, OnceLock};
+use tracing::trace;
+
+use crate::{
+ extract::traits::ExtractState,
+ value::{Item, PileValue},
+};
+
+pub struct EpubCoverExtractor {
+ item: Item,
+ output: OnceLock