mirror of
https://github.com/derfenix/photocatalog.git
synced 2026-03-12 06:34:57 +03:00
29 lines
460 B
Go
29 lines
460 B
Go
package metadata
|
|
|
|
import (
|
|
"fmt"
|
|
"io"
|
|
|
|
"github.com/rwcarlsen/goexif/exif"
|
|
)
|
|
|
|
type Exif struct{}
|
|
|
|
func (j Exif) Extract(_ string, data io.Reader) (Metadata, error) {
|
|
decode, err := exif.Decode(data)
|
|
if err != nil {
|
|
return Metadata{}, fmt.Errorf("decode exif: %w", err)
|
|
}
|
|
|
|
meta := Metadata{}
|
|
|
|
created, err := decode.DateTime()
|
|
if err != nil {
|
|
return Metadata{}, fmt.Errorf("parse datetime: %w", err)
|
|
}
|
|
|
|
meta.Created = created
|
|
|
|
return meta, nil
|
|
}
|