From 077763fcbbf4226136ae92d7ebabaaf271a1d544 Mon Sep 17 00:00:00 2001 From: Brad Fitzpatrick Date: Sun, 13 Jul 2014 10:26:01 -0700 Subject: [PATCH] schema: use GPS location to find timezone from EXIF when UTC offset is unknown Change-Id: Ia3590424db36508b491d8f19829738fe102e5c3d --- pkg/schema/schema.go | 67 ++++++++++++++++++++++++++++ pkg/schema/schema_test.go | 32 +++++++++++++ pkg/schema/testdata/coffee-sf.jpg | Bin 0 -> 28083 bytes pkg/schema/testdata/gocon-tokyo.jpg | Bin 0 -> 27493 bytes 4 files changed, 99 insertions(+) create mode 100644 pkg/schema/testdata/coffee-sf.jpg create mode 100644 pkg/schema/testdata/gocon-tokyo.jpg diff --git a/pkg/schema/schema.go b/pkg/schema/schema.go index 295a3cda4..9123a9357 100644 --- a/pkg/schema/schema.go +++ b/pkg/schema/schema.go @@ -30,6 +30,7 @@ import ( "fmt" "hash" "io" + "log" "os" "reflect" "strconv" @@ -40,7 +41,9 @@ import ( "camlistore.org/pkg/blob" "camlistore.org/pkg/types" + "camlistore.org/third_party/github.com/bradfitz/latlong" "camlistore.org/third_party/github.com/camlistore/goexif/exif" + "camlistore.org/third_party/github.com/camlistore/goexif/tiff" ) // MaxSchemaBlobSize represents the upper bound for how large @@ -905,5 +908,69 @@ func FileTime(f io.ReaderAt) (time.Time, error) { if err != nil { return defaultTime() } + // If the EXIF file only had local timezone, but it did have + // GPS, then lookup the timezone and correct the time. + if ct.Location() == time.Local { + if lat, long, ok := ex.LatLong(); ok { + if loc := lookupLocation(latlong.LookupZoneName(lat, long)); loc != nil { + if t, err := exifDateTimeInLocation(ex, loc); err == nil { + return t, nil + } + } + } + } return ct, nil } + +// This is basically a copy of the exif.Exif.DateTime() method, except: +// * it takes a *time.Location to assume +// * the caller already assumes there's no timezone offset or GPS time +// in the EXIF, so any of that code can be ignored. +func exifDateTimeInLocation(x *exif.Exif, loc *time.Location) (time.Time, error) { + tag, err := x.Get(exif.DateTimeOriginal) + if err != nil { + tag, err = x.Get(exif.DateTime) + if err != nil { + return time.Time{}, err + } + } + if tag.Format() != tiff.StringVal { + return time.Time{}, errors.New("DateTime[Original] not in string format") + } + const exifTimeLayout = "2006:01:02 15:04:05" + dateStr := strings.TrimRight(string(tag.Val), "\x00") + return time.ParseInLocation(exifTimeLayout, dateStr, loc) +} + +var zoneCache struct { + sync.RWMutex + m map[string]*time.Location +} + +func lookupLocation(zone string) *time.Location { + if zone == "" { + return nil + } + zoneCache.RLock() + l, ok := zoneCache.m[zone] + zoneCache.RUnlock() + if ok { + return l + } + // could use singleflight here, but doesn't really + // matter if two callers both do this. + loc, err := time.LoadLocation(zone) + + zoneCache.Lock() + if zoneCache.m == nil { + zoneCache.m = make(map[string]*time.Location) + } + zoneCache.m[zone] = loc // even if nil + zoneCache.Unlock() + + if err != nil { + log.Printf("failed to lookup timezone %q: %v", zone, err) + return nil + } + return loc +} diff --git a/pkg/schema/schema_test.go b/pkg/schema/schema_test.go index dffd6988d..9436db9e6 100644 --- a/pkg/schema/schema_test.go +++ b/pkg/schema/schema_test.go @@ -18,6 +18,7 @@ package schema import ( "encoding/json" + "io" "io/ioutil" "os" "path/filepath" @@ -609,3 +610,34 @@ func TestStaticSocket(t *testing.T) { t.Fatalf("StaticFile.AsStaticSocket(): Expected true, got false") } } + +func TestTimezoneEXIFCorrection(t *testing.T) { + // Test that we get UTC times for photos taken in two + // different timezones. + // Both only have local time + GPS in the exif. + tests := []struct { + file, want, wantUTC string + }{ + {"coffee-sf.jpg", "2014-07-11 08:44:34 -0700 PDT", "2014-07-11 15:44:34 +0000 UTC"}, + {"gocon-tokyo.jpg", "2014-05-31 13:34:04 +0900 JST", "2014-05-31 04:34:04 +0000 UTC"}, + } + for _, tt := range tests { + f, err := os.Open("testdata/" + tt.file) + if err != nil { + t.Fatal(err) + } + // Hide *os.File type from FileTime, so it can't use modtime: + tm, err := FileTime(struct{ io.ReaderAt }{f}) + f.Close() + if err != nil { + t.Errorf("%s: %v", tt.file, err) + continue + } + if got := tm.String(); got != tt.want { + t.Errorf("%s: time = %q; want %q", tt.file, got, tt.want) + } + if got := tm.UTC().String(); got != tt.wantUTC { + t.Errorf("%s: utc time = %q; want %q", tt.file, got, tt.wantUTC) + } + } +} diff --git a/pkg/schema/testdata/coffee-sf.jpg b/pkg/schema/testdata/coffee-sf.jpg new file mode 100644 index 0000000000000000000000000000000000000000..10c800fb177450c9884d007f06bfc4e219189122 GIT binary patch literal 28083 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 Q?DZD+_YF)j{jp#F+27dnGXMYp literal 0 HcmV?d00001 diff --git a/pkg/schema/testdata/gocon-tokyo.jpg b/pkg/schema/testdata/gocon-tokyo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..34f58fa2845171c9ce47ca9378f6cc596d7e9c82 GIT binary patch literal 27493 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 literal 0 HcmV?d00001