Crate thumbsdb [] [src]

A simple parser and reader for Thumbs.db files.

This uses the crate ole for parsing Thumbs.db files. Then, it extracts the thumbnails.

Example


use thumbsdb::ThumbsDb;

// Reads a Thumbs.db file
let thumbsdb = ThumbsDb::from_path("assets/Thumbs.db").unwrap();

// Iterates through all thumbnails inside the Thumbs.db
for thumbnail in thumbsdb.iterate() {
  let mut buf = std::vec::Vec::<u8>::new();

  // Extracts the thumbnail and saves it into a file
  match thumbsdb.extract_thumbnail(thumbnail, &mut buf) {
    Ok(()) => {
      use std::io::Write;
      let mut output_file
        = std::fs::File::create(format!("assets/streams/{}",
            thumbnail.name())).unwrap();
      output_file.write_all(&buf);
    },
    Err(e) => eprintln!("error: {}", e)
  };
}

Compatibility

This crate works fine for rust 1.9 or greater.

Structs

Thumbnail

A thumbnail inside a Thumbs.db file.

ThumbnailIterator

A simple iterator for thumbnails inside a Thumbs.db file.

ThumbsDb

A Thumbs.db file reader.

Enums

Error

Errors related to the process of parsing and reading.