diff options
author | Christopher Speller <crspeller@gmail.com> | 2016-05-12 23:56:07 -0400 |
---|---|---|
committer | Christopher Speller <crspeller@gmail.com> | 2016-05-12 23:56:07 -0400 |
commit | 38ee83e45b4de7edf89bf9f0ef629eb4c6ad0fa8 (patch) | |
tree | a4fde09672192b97d453ad605b030bd5a10c5a45 /vendor/github.com/rwcarlsen/goexif/exifstat | |
parent | 84d2482ddbff9564c9ad75b2d30af66e3ddfd44d (diff) | |
download | chat-38ee83e45b4de7edf89bf9f0ef629eb4c6ad0fa8.tar.gz chat-38ee83e45b4de7edf89bf9f0ef629eb4c6ad0fa8.tar.bz2 chat-38ee83e45b4de7edf89bf9f0ef629eb4c6ad0fa8.zip |
Moving to glide
Diffstat (limited to 'vendor/github.com/rwcarlsen/goexif/exifstat')
-rw-r--r-- | vendor/github.com/rwcarlsen/goexif/exifstat/main.go | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/vendor/github.com/rwcarlsen/goexif/exifstat/main.go b/vendor/github.com/rwcarlsen/goexif/exifstat/main.go new file mode 100644 index 000000000..0b383c9d5 --- /dev/null +++ b/vendor/github.com/rwcarlsen/goexif/exifstat/main.go @@ -0,0 +1,60 @@ +package main + +import ( + "flag" + "fmt" + "log" + "os" + + "github.com/rwcarlsen/goexif/exif" + "github.com/rwcarlsen/goexif/mknote" + "github.com/rwcarlsen/goexif/tiff" +) + +var mnote = flag.Bool("mknote", false, "try to parse makernote data") +var thumb = flag.Bool("thumb", false, "dump thumbail data to stdout (for first listed image file)") + +func main() { + flag.Parse() + fnames := flag.Args() + + if *mnote { + exif.RegisterParsers(mknote.All...) + } + + for _, name := range fnames { + f, err := os.Open(name) + if err != nil { + log.Printf("err on %v: %v", name, err) + continue + } + + x, err := exif.Decode(f) + if err != nil { + log.Printf("err on %v: %v", name, err) + continue + } + + if *thumb { + data, err := x.JpegThumbnail() + if err != nil { + log.Fatal("no thumbnail present") + } + if _, err := os.Stdout.Write(data); err != nil { + log.Fatal(err) + } + return + } + + fmt.Printf("\n---- Image '%v' ----\n", name) + x.Walk(Walker{}) + } +} + +type Walker struct{} + +func (_ Walker) Walk(name exif.FieldName, tag *tiff.Tag) error { + data, _ := tag.MarshalJSON() + fmt.Printf(" %v: %v\n", name, string(data)) + return nil +} |