Michael Mayer
973911fabf
Backend: Code clean-up and small improvements
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-01 12:08:08 +02:00
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
b4c27ffb51
Backend: Add tests to internal/query
2020-05-14 15:43:39 +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
160977fec4
Backend: Add tests to internal/query
2020-05-14 14:18:28 +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
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
9fc0265d9a
Backend: Add tests to internal/query
2020-05-13 19:47:17 +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
f949db0b38
Backend: Add tests to internal/query
2020-05-13 10:16:12 +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
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
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
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
253fbc632b
Backend: Add Hidden column to PhotoAlbum
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-09 20:59:45 +02:00
Michael Mayer
252e67ce03
Add photo_count column to labels table
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-09 11:00:22 +02:00
Michael Mayer
3aad02501f
Run unit tests in separate databases to avoid conflicts
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-08 19:34:29 +02:00
Michael Mayer
94dfb3cd19
Add WaitForMigration() function to avoid db test failures
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-08 16:36:09 +02:00
Michael Mayer
842da9f09b
Backend: Query package refactoring
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-08 15:41:01 +02:00
Michael Mayer
1894b4440f
Detect and report photos without primary file, e.g. after purging #234
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-08 12:01:28 +02:00
Michael Mayer
979a5f5c76
Code clean-up and refactoring of purge command #234
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-07 21:55:34 +02:00
Michael Mayer
252672b291
Run purge after indexing files in Web UI #234
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-07 21:46:00 +02:00
Michael Mayer
ac33ee87a1
Purge command: Fix database query and add --dry flag #234
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-07 20:33:11 +02:00
Michael Mayer
f0187df4a1
Purge command to remove missing files from the index #234
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-07 19:42:04 +02:00
Michael Mayer
2032b40f2b
Backend: Code clean-up
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-03 18:00:50 +02:00
Theresa Gresch
2a21bc5158
Backend: Use new fixtures in query tests
2020-05-01 14:18:51 +02:00
Michael Mayer
b4a04a478f
Backend: Set test database using PHOTOPRISM_TEST_DSN
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-30 22:39:38 +02:00
Michael Mayer
260cca91fe
Backend: Refactor entity package
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-30 20:07:03 +02:00
Michael Mayer
eaae910014
Backend: Refactor entity tests
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-30 14:32:48 +02:00
Michael Mayer
783e8ec3af
Backend: Don't use private photos as cover for labels or albums
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-27 17:06:36 +02:00
Michael Mayer
8cd075cf0f
Labels: Sort results by quality and uncertainty
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-27 14:41:22 +02:00
Michael Mayer
d6dc411a88
Labels: Use most probable photo with best quality as cover
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-27 14:32:15 +02:00
Michael Mayer
d5490c0364
Albums: Use most recent photo with best quality as cover
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-27 14:25:04 +02:00
Michael Mayer
3630a49df0
Backend: Improve metadata indexing
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-26 16:22:29 +02:00
Michael Mayer
882340a14c
Refactor string clipping in frontend & backend
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-26 14:31:33 +02:00
Michael Mayer
3edf30ab3a
Reduce location precision to float32
...
This is the practical limit of commercial data and should be more than enough for our use case while ideally providing better index performance.
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-26 11:41:54 +02:00
Michael Mayer
e8e0639d78
Backend: Provide unknown camera & lens as default
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-25 14:22:47 +02:00
Michael Mayer
8609ab805f
Automatically set private flag if detect-nsfw is enabled
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-24 20:28:16 +02:00
Michael Mayer
a57ca79663
Improve settings page #288
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-24 16:05:57 +02:00
Michael Mayer
67eb71681f
Add Quality and Review to geo search form #288
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-24 13:25:04 +02:00
Michael Mayer
77cea5d719
Implement score to sort photos by quality #288
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-24 13:21:18 +02:00
Michael Mayer
e55df7ed37
Backend: Add PhotoFavorite to geo json response
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-24 10:07:13 +02:00
Michael Mayer
a88c499b70
Backend: Include categories when creating albums from labels
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-23 19:22:41 +02:00
Michael Mayer
122e4730a3
Select primary file for grouped photos
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-21 10:23:27 +02:00
Michael Mayer
f31c405475
Merge photo updated event results
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-21 02:10:59 +02:00
Michael Mayer
360c87c348
Show grouped photos in search results
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-20 20:07:58 +02:00
Michael Mayer
9f188a7b93
Albums: Set default sort order to "oldest first"
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-20 12:53:58 +02:00
Michael Mayer
65a7ee01f2
Albums: Fix update event for syncing clients
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-20 11:51:42 +02:00
Michael Mayer
b31508e4f3
Refactor & improve editing of photo labels
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-19 01:13:55 +02:00
Michael Mayer
f07064c2c3
Refresh titles, labels and locations
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-18 23:20:54 +02:00
Michael Mayer
20a5912210
Rename, remove and re-activate labels
...
Still need to fix label names when re-indexing so that custom names are used, if changed by the user.
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-17 21:20:38 +02:00
Michael Mayer
e3f614bc23
Backend: Update photo title when location or labels change
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-16 20:57:00 +02:00
Michael Mayer
6941028c4f
Backend: View and edit archived photos
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-15 14:27:48 +02:00
Michael Mayer
3ad73a752c
Backend: Update label rules
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-12 15:39:36 +02:00
Michael Mayer
a06ac39639
Add "similar" sorting option as proof-of-concept
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-11 12:14:37 +02:00
Michael Mayer
96c7337fea
Make tests more resilient
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-09 19:39:09 +02:00
Michael Mayer
a8c48ab40e
Initial API and entities for link sharing
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-08 13:24:06 +02:00
Michael Mayer
590420c870
Search: Remove stopwords
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-07 22:03:31 +02:00
Michael Mayer
f1b3b4b6bc
Sync: Upload local files #225
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-07 12:51:01 +02:00
Michael Mayer
2f5da21a5b
Sync: Code clean-up #225
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-06 22:27:05 +02:00
Michael Mayer
02810ffa94
Sync: Import/index after downloading #225
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-06 22:09:45 +02:00
Michael Mayer
c882b56f82
Sync: Download remote files #225
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-04 17:19:34 +02:00
Michael Mayer
3de78e3124
Sharing: Delete expired files #225
...
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-04 13:53:52 +02:00