aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormurilo ijanc2025-11-20 18:07:13 -0300
committermurilo ijanc2025-11-20 18:07:13 -0300
commit33358932cb04eb9edf1acda90a331fea4f1ef0dd (patch)
treec2389b73f48ea341e7366e1bc56885db14e2e65b
parent45e7a4100091a435f585a24eed4ea099f795b6f6 (diff)
downloadimgst-33358932cb04eb9edf1acda90a331fea4f1ef0dd.tar.gz
Finish clean exif from image
-rw-r--r--src/main.rs20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/main.rs b/src/main.rs
index 8474782..77d32b1 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -210,8 +210,28 @@ fn process_img(
src.display(),
dst.display()
);
+ return Ok(());
}
+ if let Some(parent) = dst.parent() {
+ fs::create_dir_all(parent).with_context(|| {
+ format!("failed to create parent dir '{}'", parent.display())
+ })?;
+ }
+
+ let data = fs::read(src)
+ .with_context(|| format!("failed to read '{}'", src.display()))?;
+
+ let cleaned =
+ web_image_meta::jpeg::clean_metadata(&data).with_context(|| {
+ format!("failed to clean metadata for '{}'", src.display())
+ })?;
+
+ fs::write(&dst, &cleaned)
+ .with_context(|| format!("failed to write '{}'", dst.display()))?;
+
+ debug!("cleaned '{}' -> '{}'", src.display(), dst.display());
+
Ok(())
}