Theresa Gresch
ad9167360d
Feature/246 ( #345 )
...
* Import: Implement "add to album" in backend #246
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
* Import: Implement "add to album" in frontend #246
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
* Add OriginalName to photo search result
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
* Add json tags to PhotoName and PhotoPath
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
* Photo: Use EstimateCountry() in UpdateLocation()
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
* Photo: Set OriginalName earlier while indexing
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
* Ignore whitespace when stripping sequence from filename #335
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
* Fix labels count for SQLite
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
* Import: Show name of new albums #246
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
* Frontend: Add acceptance test files
Co-authored-by: Michael Mayer <michael@liquidbytes.net>
2020-06-01 09:45:24 +02:00
Michael Mayer
a1238c94cc
Fix photo test after improving location estimate #260
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-31 18:19:24 +02:00
Michael Mayer
68c758a686
Backend: Improve location list for estimates #260
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-31 17:45:58 +02:00
Michael Mayer
14c89022d3
Improve browsing by original file and folder name #260
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-31 14:42:41 +02:00
Michael Mayer
23df85375e
Originals and import path auto-configuration #66
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-31 12:20:32 +02:00
Michael Mayer
4684f66298
Improve storage path auto-configuration #66
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-31 11:28:28 +02:00
Michael Mayer
1d8e7f1ad3
Show all months in calendar, even with just one photo #154
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-31 11:28:05 +02:00
Michael Mayer
4e214ae202
Set year, month and country for folder albums #154
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-31 03:45:38 +02:00
Michael Mayer
d0199598d0
Simplify configuration #66
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-31 02:09:52 +02:00
Michael Mayer
825c8b31a7
Code clean-up (make fmt)
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-30 21:37:24 +02:00
Michael Mayer
cf05b82732
Fix albums test #154
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-30 21:34:42 +02:00
Michael Mayer
946f7967b5
Implement download as zip for moments, calendar and folders #154
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-30 21:31:32 +02:00
Michael Mayer
5d92ece264
Albums: Add category filter
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-30 21:11:56 +02:00
Michael Mayer
ea6ed61d1f
Automatically create albums from folders #260
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-30 15:42:04 +02:00
Michael Mayer
0b1bcf0d4a
Replace TiDB with SQLite for improved stability #66
...
As a side effect, we need less configuration values.
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-30 14:52:47 +02:00
Michael Mayer
dd442ab9e9
Add moments #154
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-30 01:41:47 +02:00
Michael Mayer
e775c8f910
Metadata: Limit Exif extraction to photos #338
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-29 18:14:43 +02:00
Michael Mayer
9a5d4fa719
Backend: Indexing improvements #154
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-29 18:04:30 +02:00
Michael Mayer
f6c929528e
Locations and places: Revert key renaming
...
Code reads better this way.
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-29 12:56:24 +02:00
Michael Mayer
dcc610d7a9
Use AlbumType to distinguish between manual collections and moments #154
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-29 12:21:17 +02:00
Alex Kay
c5c07d58f9
Fix inconsistent naming for PHOTOPRISM_READONLY ( #337 )
...
The actual name used throughout all Docker and YAML config files is `PHOTOPRISM_READONLY`
2020-05-29 09:23:26 +02:00
Michael Mayer
a77b2431d3
Backend: Improve labels, keywords and caching
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-28 21:20:42 +02:00
Michael Mayer
4783183790
Thumbnails: Improve log message
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-28 21:17:23 +02:00
Michael Mayer
52473a1ca9
Add thumbnail filename cache and reuse db connections
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-28 16:26:22 +02:00
Michael Mayer
ed8390906c
Add PHOTOPRISM_DATABASE_CONNS config parameter
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-28 15:37:08 +02:00
Michael Mayer
02800e796e
Guess title, location and date from file and path name #154
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-28 15:12:18 +02:00
Michael Mayer
94846c2337
Rename ThumbToken to PreviewToken
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-27 19:56:56 +02:00
Michael Mayer
6f6e3799dc
Refactor download urls and client config
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-27 19:38:40 +02:00
Michael Mayer
f510ac994c
XMP: Group files based on DocumentID and Instance ID #335
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-27 13:40:21 +02:00
Michael Mayer
301e510b2d
Photos: Generate title based on estimated place #154
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-26 21:51:34 +02:00
Michael Mayer
1df0d9a549
Change name of maintenance worker to "prism" #154
...
See https://twitter.com/browseyourlife/status/1265289044856123393
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-26 19:27:29 +02:00
Michael Mayer
968cd71f34
Backend: Add groom worker and test stubs #154
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-26 15:15:14 +02:00
Michael Mayer
24cc8089fa
Fix favorite counter for archived files #334
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-26 13:43:16 +02:00
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