Commit graph

1003 commits

Author SHA1 Message Date
Michael Mayer
fe732e274c Fix saving photo metadata
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-26 12:46:22 +02:00
Michael Mayer
dd42d2b823 Entities: Refactor FirstOrCreate
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-26 11:00:39 +02:00
Michael Mayer
10d5f433aa Albums/Folders: Add category, country, year & month columns #154
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-26 09:02:19 +02:00
Michael Mayer
26f749cfdc Folder selections should include sub directories #260
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-26 07:14:50 +02:00
Michael Mayer
2156afd85a File browser: Implement clipboard; refactor entities and fixtures #260
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-25 19:10:44 +02:00
Michael Mayer
4421e7d203 Add simple file browser to Library #260
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-24 22:16:06 +02:00
Michael Mayer
03ec4b586d Initial commit for folders and moments #154 #260 #331
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-23 20:58:58 +02:00
Michael Mayer
65212f393f API: Shorten cache debug messages #260
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-22 20:08:28 +02:00
Michael Mayer
75fd1904f3 Add caching to folders API #260
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-22 20:00:33 +02:00
Michael Mayer
c88cd69e5c Backend: Make sure dirs exist in folder API tests #328
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-22 19:25:53 +02:00
Michael Mayer
e796d036c2 Fix indexer and add sort by file name #328
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-22 19:05:16 +02:00
Michael Mayer
a7122ff4e1 Add /folders API to get directory lists for browsing #260
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-22 16:29:12 +02:00
Michael Mayer
0eb30715b3 Backend: Add folder as alias for path in search form
Due to popular request, see https://twitter.com/browseyourlife/status/1263442036570697731

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-21 16:46:22 +02:00
Michael Mayer
f9b6952947 Support for Live Photos #177
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-21 13:26:28 +02:00
Michael Mayer
2efb0039e8 Photos: Add photo_type column and search filters for path / name
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-21 10:03:56 +02:00
Michael Mayer
c7e46c44d9 API: Add return to preview error handler
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-20 22:21:59 +02:00
Michael Mayer
1297a8cc1f Read taken date from file name #304
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-20 15:10:24 +02:00
Michael Mayer
a77d74e6eb Add play button for videos to photo viewer #321
You can now play a video by clicking on the title (or description) if a video icon is shown next to it.

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-20 10:42:48 +02:00
Michael Mayer
d3cc3ccc82 Sync: Disable account when retry limit is reached
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-19 19:55:20 +02:00
Michael Mayer
6f3ccc95aa Backend: Make sure .photoprism directory exists
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-19 19:49:32 +02:00
Michael Mayer
4300d45482 Backend: Log errors in database
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-19 13:48:05 +02:00
Michael Mayer
a785a9d708 Backend: Update TestPhoto_Save test
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-19 12:51:19 +02:00
Michael Mayer
27ea0cb214 Backend: Improve entity log and error messages
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-19 12:48:32 +02:00
Michael Mayer
1cf0893b18 Backend: Fix AfterCreate after upgrading GORM
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-19 12:30:26 +02:00
Michael Mayer
132db3c0d2 Backend: Upgrade Go modules
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-19 12:09:48 +02:00
Michael Mayer
f720ca6664 Check PHOTOPRISM_JPEG_HIDDEN flag when converting #311
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-19 11:33:39 +02:00
Michael Mayer
e61dda495a Add PHOTOPRISM_SIDECAR_HIDDEN and PHOTOPRISM_JPEG_HIDDEN flags #311
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-19 11:00:17 +02:00
Michael Mayer
7777fa95a5 Backend: Don't backup albums to photo yaml (just yet)
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-19 09:44:49 +02:00
Michael Mayer
bbe60d120b Backend: Set DescriptionSrc when restored from YAML
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-19 09:21:10 +02:00
Michael Mayer
da067f52e7 Improve command flag descriptions for sidecar files
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-18 22:21:27 +02:00
Michael Mayer
b24d5c03a1 Use YAML files to save and restore photo metadata
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-18 22:18:58 +02:00
Michael Mayer
f057880df3 Backend: Fix panic in File.Save()
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-18 17:57:40 +02:00
Michael Mayer
7f2b13bf71 Backend: Use actual instead of original dimensions from metadata #304
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-18 17:38:14 +02:00
Michael Mayer
0bf17206d0 Entity: Return error in File.Save() if PhotoID is 0
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-18 17:25:28 +02:00
Theresa Gresch
1fdc2cf610 Backend: Add tests to internal/entity 2020-05-18 16:37:37 +02:00
Michael Mayer
a2d5da7afd Entity: Fix query in File.AllFilesMissing()
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-18 16:36:24 +02:00
Michael Mayer
39878b3f83 Store created files in .photoprism sub directory
See #268, #311 and #313

Hidden directory name poll: https://twitter.com/browseyourlife/status/1262320988081074178

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-18 15:45:55 +02:00
Theresa Gresch
d2975666e5 Backend: Make LocLabel unique in place fixtures 2020-05-18 10:05:33 +02:00
Michael Mayer
7121c09d66 Upgrade go-exif and go-jpeg-image-structure; see #302, #304, #305 and #295
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-18 08:44:40 +02:00
Michael Mayer
46f3f12da8 Upgrade go-exif, go-jpeg-image-structure and go-png-image-structure
See #302, #304, #305 and #295

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-17 11:05:57 +02:00
Michael Mayer
abfd2fa79d Videos: Improve indexing and searching #312
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-16 17:07:44 +02:00
Michael Mayer
ba524d05d6 Metadata: Add DateTimeDigitized as fallback value for TakenAt #304
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-16 09:27:21 +02:00
Michael Mayer
7ee4d5eda5 Photo: Update year and month whenever takenAt may change
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-15 16:06:32 +02:00
Michael Mayer
9937304d0c Metadata: Improve date and error handling; see #302, #304, #305 and #295
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-15 15:29:56 +02:00
Theresa Gresch
e4c521d9b3 Backend: Update FindPlaceByLabel function 2020-05-15 13:16:03 +02:00
Theresa Gresch
4aaa4e9fc2 Backend: Add tests to internal/entity 2020-05-15 13:15:10 +02:00
Theresa Gresch
238468c8f9 Backend: Add tests to internal/api 2020-05-15 13:14:50 +02:00
Michael Mayer
fbc2cfaf22 Backend: Add test for (resized) JPEG with GPS issues #295
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-15 12:45:42 +02:00
Michael Mayer
a16f00f359 Backend: Add support for DateTime in Exif metadata #304
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-15 11:15:15 +02:00
Michael Mayer
71fb67adb2 Videos: Support H.264/AVC .mov files
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-15 09:39:32 +02:00
Michael Mayer
eba0b1d896 Backend: Fix search query (photo:true filter)
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-14 22:49:01 +02:00
Michael Mayer
871c5aae9c Backend: Don't abort import / index options API requests
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-14 19:45:01 +02:00
Michael Mayer
2d1763edbe Add videos to main navigation #17
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-14 19:03:12 +02:00
Theresa Gresch
afc1e10646 Backend: Add tests to internal/api 2020-05-14 18:10:01 +02:00
Theresa Gresch
e3993b3dbf Backend: Add tests to internal/thumb 2020-05-14 17:28:55 +02:00
Theresa Gresch
b4c27ffb51 Backend: Add tests to internal/query 2020-05-14 15:43:39 +02:00
Theresa Gresch
07e4d22464 Backend: Add tests to internal/entity 2020-05-14 15:28:11 +02:00
Theresa Gresch
269915d77b Backend: Remove unnecessary group in photos.go 2020-05-14 15:27:12 +02:00
Theresa Gresch
6c9b994664 Backend: Add tests to internal/query 2020-05-14 15:27:12 +02:00
Theresa Gresch
156c7b295e Backend: Add tests to internal/entity 2020-05-14 15:27:12 +02:00
Michael Mayer
2c564ed145 Backend: Swap width and height to fix rotation when reading from JSON
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-14 14:28:57 +02:00
Theresa Gresch
160977fec4 Backend: Add tests to internal/query 2020-05-14 14:18:28 +02:00
Theresa Gresch
05078b0e4b Backend: Add test fixtures 2020-05-14 14:17:12 +02:00
Michael Mayer
2045e3d770 Index and show video metadata #17
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-14 11:57:26 +02:00
Michael Mayer
cbeaab64e7 Backend: Remove story flag code
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-13 21:22:49 +02:00
Michael Mayer
55819dba9b Backend: Read JSON from sidecar file #4 #243
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-13 21:06:34 +02:00
Michael Mayer
5f408f4f76 Backend: Read from JSON sidecar files (created by exiftool) #4 #243
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-13 20:53:15 +02:00
Theresa Gresch
47e4abe9a4 Backend: Fix test 2020-05-13 20:05:33 +02:00
Theresa Gresch
9fc0265d9a Backend: Add tests to internal/query 2020-05-13 19:47:17 +02:00
Theresa Gresch
c0a2da8bab Backend: Add tests fixtures 2020-05-13 19:46:49 +02:00
Michael Mayer
bd59dc2564 Backend: Don't import / index sidecar files without media file
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-13 17:42:25 +02:00
Theresa Gresch
a123726d28 Backend: Add tests to internal/query 2020-05-13 17:23:16 +02:00
Michael Mayer
bd3426ae51 Add video player #17
Still need to index metadata. Work in progress.

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-13 15:36:49 +02:00
Theresa Gresch
e634fd97a7 Backend: Add tests to internal/query 2020-05-13 11:57:54 +02:00
Theresa Gresch
25da779c43 Backend: Add tests fixtures 2020-05-13 11:51:51 +02:00
Theresa Gresch
f949db0b38 Backend: Add tests to internal/query 2020-05-13 10:16:12 +02:00
Theresa Gresch
0284f7c101 Backend: Add test fixtures 2020-05-13 10:15:43 +02:00
Theresa Gresch
c0b6eaa9d5 Backend: Add tests to internal/entity 2020-05-12 13:52:09 +02:00
Theresa Gresch
687c85ed73 Backend: Fix bug in addLabels function 2020-05-12 11:52:46 +02:00
Theresa Gresch
96208d2c51 Backend: Add tests to internal/entity 2020-05-12 11:51:54 +02:00
Theresa Gresch
ac698b6eab Backend: Add test fixtures 2020-05-12 11:51:28 +02:00
Michael Mayer
a61f2384b3 Initial video support #17
Still need to add a player and index metadata. Work in progress.

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-11 18:29:17 +02:00
Theresa Gresch
510df88d7f Backend: Add tests to internal/api 2020-05-11 17:11:04 +02:00
Theresa Gresch
e95260e3ab Backend: Add tests to internal/entity 2020-05-11 17:01:19 +02:00
Theresa Gresch
95ab6dfb94 Backend: Add test fixtures 2020-05-11 17:01:05 +02:00
Theresa Gresch
7cce763864 Backend: Refactor test fixtures 2020-05-11 14:49:53 +02:00
Michael Mayer
cdadf664ff Backend: Improve query parser #266
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-11 14:49:00 +02:00
Michael Mayer
3c47a85ea5 Backend: Move UpdatePhotoCounts() to entity package
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-11 11:01:28 +02:00
Michael Mayer
71c849c23b Backend: Update photo counts after sync download
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-11 10:48:18 +02:00
Michael Mayer
984ffb511d Tests: Improve TestImport_DestinationFilename
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-11 10:03:03 +02:00
Michael Mayer
4e3c076511 Backend: Re-import missing files #300
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-11 09:47:10 +02:00
Michael Mayer
4fbed12e94 Backend: Skip archived photos while indexing #300
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-11 08:57:58 +02:00
Michael Mayer
78d1230088 Purge: Increase batch size to 500 and reduce sleep to 50ms
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-11 07:51:31 +02:00
Michael Mayer
2d9be81658 Backend: Don't use a view for label photo counts
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-11 07:44:45 +02:00
Michael Mayer
923093042a Purge: Improve photo counts and logging
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-11 07:23:23 +02:00
Michael Mayer
7f48ad5efa Purge: Only process 250 rows per iteration
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-10 22:36:08 +02:00
Michael Mayer
b865203d89 Purge: Sleep 250ms to give database time for other tasks
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-10 22:21:05 +02:00
Michael Mayer
561323d544 Backend: Re-render thumbs after files changed #299
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-10 20:10:17 +02:00
Michael Mayer
8ccaaff4e5 Backend: Update label photo count and refactor entity fixtures
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-10 19:43:49 +02:00
Michael Mayer
406737e180 Fix places counter #292
See https://github.com/photoprism/photoprism/issues/292#issuecomment-626203720

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-10 16:12:15 +02:00