Commit Diff


commit - 45e7a4100091a435f585a24eed4ea099f795b6f6
commit + 33358932cb04eb9edf1acda90a331fea4f1ef0dd
blob - 8474782b417c841bda748cfdb5f339c0fdadd129
blob + 77d32b117dd1f738669711394b935721c1872727
--- src/main.rs
+++ 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(())
 }