diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/main.rs | 20 |
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(()) } |