Skip to content

Commit

Permalink
wip
Browse files Browse the repository at this point in the history
  • Loading branch information
eguzki committed Jul 22, 2024
1 parent af84c00 commit 5e1bd8e
Show file tree
Hide file tree
Showing 3 changed files with 56 additions and 54 deletions.
58 changes: 13 additions & 45 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,4 @@ serde_yaml = "0.9"
regex = "1.10"
chrono = "0.4.34"
filetime = "0.2"
little_exif = "0.3.3"
kamadak-exif = "0.5.5"
50 changes: 42 additions & 8 deletions src/stats.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
use crate::parser;
//use filetime::{set_file_mtime, FileTime};
use little_exif::metadata::Metadata;
//use little_exif::metadata::Metadata;
use exif::{DateTime, In, Reader, Tag, Value};
use serde::Serialize;
use std::fs::File;
use walkdir::DirEntry;

// Parsing stats
Expand Down Expand Up @@ -36,17 +38,49 @@ impl FromIterator<DirEntry> for Stats {

println!("{} {}", i.path().display(), i.file_name().to_str().unwrap());

match Metadata::new_from_path(i.path()) {
Ok(metadata) => {
println!("=== HELLO!");
for tag in metadata.data() {
println!("{:?}", tag);
let file = File::open(i.path()).unwrap();
let mut bufreader = std::io::BufReader::new(&file);
let exifreader = exif::Reader::new();
match exifreader.read_from_container(&mut bufreader) {
Ok(exif) => {
for f in exif.fields() {
println!(
" {}/{}: {}",
f.ifd_num.index(),
f.tag,
f.display_value().with_unit(&exif)
);
println!(" {:?}", f.value);
}
// To parse a DateTime-like field, `DateTime::from_ascii` can be used.
if let Some(field) = exif.get_field(Tag::DateTime, In::PRIMARY) {
match field.value {
Value::Ascii(ref vec) if !vec.is_empty() => {
if let Ok(datetime) = DateTime::from_ascii(&vec[0]) {
println!("Year of DateTime is {}.", datetime.year);
}
}
_ => {}
}
}
}
Err(e) => println!("error parsing metadata: {e:?}"),
Err(e) => match &e {
exif::Error::NotFound(msg) => println!("No Exif data found: {msg:?}"),
other_error => println!("error parsing metadata: {other_error:?}"),
},
}
//let exif = exifreader.read_from_container(&mut bufreader).unwrap();

//match Metadata::new_from_path(i.path()) {
// Ok(metadata) => {
// println!("=== HELLO!");
// for tag in metadata.data() {
// println!("{:?}", tag);
// }
// }
// Err(e) => println!("error parsing metadata: {e:?}"),
//}

println!("=== HELLO! 222");
//match p.captures(i.file_name().to_str().unwrap()) {
// None => {
// s.num_skipped_files += 1;
Expand Down

0 comments on commit 5e1bd8e

Please sign in to comment.