From 70c6a68169e67945beb3002df89045746530c4f7 Mon Sep 17 00:00:00 2001 From: Michael Mayer Date: Mon, 13 Jul 2020 19:33:58 +0200 Subject: [PATCH] Use date from file name if no metadata was found #396 Signed-off-by: Michael Mayer --- internal/photoprism/index_mediafile.go | 2 +- internal/photoprism/mediafile_test.go | 19 ++++++++++++ .../testdata/2018-04-12 19:24:49.gif | Bin 0 -> 5760 bytes .../testdata/2018-04-12 19:24:49.jpg | Bin 0 -> 66371 bytes .../testdata/2018-04-12 19:24:49.json | 29 ++++++++++++++++++ pkg/txt/convert_test.go | 6 ++++ 6 files changed, 55 insertions(+), 1 deletion(-) create mode 100644 internal/photoprism/testdata/2018-04-12 19:24:49.gif create mode 100644 internal/photoprism/testdata/2018-04-12 19:24:49.jpg create mode 100755 internal/photoprism/testdata/2018-04-12 19:24:49.json diff --git a/internal/photoprism/index_mediafile.go b/internal/photoprism/index_mediafile.go index 5d2bff332..c31590c07 100644 --- a/internal/photoprism/index_mediafile.go +++ b/internal/photoprism/index_mediafile.go @@ -468,7 +468,7 @@ func (ind *Index) MediaFile(m *MediaFile, o IndexOptions, originalName string) ( photo.PhotoExposure = m.Exposure() } - if photo.TakenAt.IsZero() || photo.TakenAtLocal.IsZero() { + if photo.TakenSrc == entity.SrcAuto { takenUtc, takenSrc := m.TakenAt() photo.SetTakenAt(takenUtc, takenUtc, "", takenSrc) } diff --git a/internal/photoprism/mediafile_test.go b/internal/photoprism/mediafile_test.go index 923b3b199..d45a06c7f 100644 --- a/internal/photoprism/mediafile_test.go +++ b/internal/photoprism/mediafile_test.go @@ -67,7 +67,26 @@ func TestMediaFile_DateCreated(t *testing.T) { func TestMediaFile_TakenAt(t *testing.T) { conf := config.TestConfig() + t.Run("testdata/2018-04-12 19:24:49.gif", func(t *testing.T) { + mediaFile, err := NewMediaFile("testdata/2018-04-12 19:24:49.gif") + if err != nil { + t.Fatal(err) + } + date, src := mediaFile.TakenAt() + assert.Equal(t, "2018-04-12 19:24:49 +0000 UTC", date.String()) + assert.Equal(t, entity.SrcName, src) + }) + t.Run("testdata/2018-04-12 19:24:49.jpg", func(t *testing.T) { + mediaFile, err := NewMediaFile("testdata/2018-04-12 19:24:49.jpg") + if err != nil { + t.Fatal(err) + } + + date, src := mediaFile.TakenAt() + assert.Equal(t, "2018-04-12 19:24:49 +0000 UTC", date.String()) + assert.Equal(t, entity.SrcName, src) + }) t.Run("telegram_2020-01-30_09-57-18.jpg", func(t *testing.T) { mediaFile, err := NewMediaFile(conf.ExamplesPath() + "/telegram_2020-01-30_09-57-18.jpg") if err != nil { diff --git a/internal/photoprism/testdata/2018-04-12 19:24:49.gif b/internal/photoprism/testdata/2018-04-12 19:24:49.gif new file mode 100644 index 0000000000000000000000000000000000000000..d5326632ef568f65f0490bbec28769a77871c895 GIT binary patch literal 5760 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 literal 0 HcmV?d00001 diff --git a/internal/photoprism/testdata/2018-04-12 19:24:49.json b/internal/photoprism/testdata/2018-04-12 19:24:49.json new file mode 100755 index 000000000..7d0926e97 --- /dev/null +++ b/internal/photoprism/testdata/2018-04-12 19:24:49.json @@ -0,0 +1,29 @@ +[{ + "SourceFile": "/go/src/github.com/photoprism/photoprism/storage/originals/Debug/2018-04-12 19:24:49.gif", + "ExifToolVersion": 10.80, + "FileName": "2018-04-12 19:24:49.gif", + "Directory": "/go/src/github.com/photoprism/photoprism/storage/originals/Debug", + "FileSize": "4.9 MB", + "FileModifyDate": "2020:07:13 16:41:17+00:00", + "FileAccessDate": "2020:07:13 16:45:39+00:00", + "FileInodeChangeDate": "2020:07:13 16:45:37+00:00", + "FilePermissions": "rw-r--r--", + "FileType": "GIF", + "FileTypeExtension": "gif", + "MIMEType": "image/gif", + "GIFVersion": "89a", + "ImageWidth": 640, + "ImageHeight": 480, + "HasColorMap": "No", + "ColorResolutionDepth": 8, + "BitsPerPixel": 8, + "BackgroundColor": 0, + "AnimationIterations": "Infinite", + "XMPToolkit": "Adobe XMP Core 5.1.0-jc003", + "CameraBurstID": "830cb602-95b4-4c2e-aed3-0ce827b226de", + "Type": "GCameraAnimation", + "FrameCount": 35, + "Duration": "2.25 s", + "ImageSize": "640x480", + "Megapixels": 0.307 +}] diff --git a/pkg/txt/convert_test.go b/pkg/txt/convert_test.go index 0863eb2aa..6e06a14c6 100644 --- a/pkg/txt/convert_test.go +++ b/pkg/txt/convert_test.go @@ -13,6 +13,12 @@ func TestTime(t *testing.T) { assert.Equal(t, "2018-04-12 19:24:49 +0000 UTC", result.String()) }) + t.Run("2018-04-12 19/24/49.gif", func(t *testing.T) { + result := Time("2018-04-12 19/24/49.gif") + assert.False(t, result.IsZero()) + assert.Equal(t, "2018-04-12 19:24:49 +0000 UTC", result.String()) + }) + t.Run("/2020/1212/20130518_142022_3D657EBD.jpg", func(t *testing.T) { result := Time("/2020/1212/20130518_142022_3D657EBD.jpg") //assert.False(t, result.IsZero())