Commit graph

750 commits

Author SHA1 Message Date
Michael Mayer c978fa00f1 Backend: Proof-of-concept for indexing XMP files #68
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-13 23:14:10 +01:00
Michael Mayer 9cc918ce0d Backend: Update label rules
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-13 20:32:37 +01:00
Michael Mayer b5424d3b22 Backend: Disable NSFW detection by default to boost performance
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-13 16:48:32 +01:00
Michael Mayer 74a14e265f Backend: Rename "thumb-algorithm" to "thumb-filter" #157
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-13 13:46:05 +01:00
Michael Mayer 5bada6c339 Backend: Update label rules
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-13 13:30:42 +01:00
Michael Mayer ac7382971d Backend: Add blackman resample filter and set default to cubic #157
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-13 12:25:16 +01:00
Michael Mayer c6866bb746 Backend: Update label rules
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-13 11:08:50 +01:00
Michael Mayer e184cad553 Backend: Add thumb config options and lower defaults #157
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-13 11:07:09 +01:00
Michael Mayer 106e9c3e1e Backend: Remove OLC code
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-12 17:23:41 +01:00
Theresa Gresch 9c767dbf39 Add test for classify/labels 2020-01-12 15:43:14 +01:00
Theresa Gresch 6bf12c4d12 Add test for classify/label_rule 2020-01-12 15:43:14 +01:00
Michael Mayer 90df882376 Backend: Update label rules
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-12 15:39:45 +01:00
Michael Mayer 3e4e72b00f Backend: Move capture package to pkg/
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-12 14:25:58 +01:00
Michael Mayer f8a45b14d9 Backend: Move reusable packages to pkg/
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-12 14:00:56 +01:00
Michael Mayer fbea88bd74 Backend: Add PPID() to rnd package
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-12 12:32:24 +01:00
Michael Mayer d6b459186e Backend: Ignore label "ball"
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-12 12:20:53 +01:00
Michael Mayer 387abb915b Backend: Add TitlesAndRanks to txt package
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-12 12:20:10 +01:00
Michael Mayer f7e865a979 Backend: Make fmt
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-11 02:33:07 +01:00
Michael Mayer ba9b3cad72 Backend: Increase S2 cell level from 18 to 21 and remove suburb
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-11 01:59:43 +01:00
Kelvin cd7339d8a0 [Minor/Wording] Update photo.go url route docs (#186)
Minor change.
2020-01-10 10:43:51 +01:00
Michael Mayer 17d7551be5 Frontend: Rename "archive" to "hide" for soft delete #185
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-09 02:09:54 +01:00
Michael Mayer e9874d6e0c Backend: Compile labels into source #160
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-09 01:21:09 +01:00
Michael Mayer 182b169ac0 Backend: Improve thumbnail rendering #157
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-08 22:29:40 +01:00
Michael Mayer 719fd1a811 Backend: Use mutex in convert so that it can be canceled
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-08 20:51:49 +01:00
Michael Mayer b37d4472e4 Backend: Use original file if thumb size exceeds limit #172
Plus some mutex and config refactoring along the way...

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-08 19:51:21 +01:00
Michael Mayer 21451e8263 Backend: Code refactoring and clean-up #172
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-08 09:27:39 +01:00
Michael Mayer b21ad9bece Backend: Rename MediaFile.Exif() to MetaData() #172
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-07 18:13:53 +01:00
Michael Mayer c147eee30f Backend: Add stub for meta package #172
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-07 17:36:49 +01:00
Michael Mayer fc65ec61f7 Backend: Add workers config parameter
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-06 23:43:26 +01:00
Theresa Gresch 4cf7cd98b1 Add test for country.go 2020-01-06 20:16:31 +01:00
Michael Mayer 3d990fc3fd Backend: Add support for PNG, TIFF, BMP and GIF #38 #156
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-06 17:50:05 +01:00
Michael Mayer 49de1e83aa Backend: Remove filetypes.go from photoprism package
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-06 15:42:00 +01:00
Michael Mayer f6d4e62ea8 Backend: Split up "util" package
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-06 15:22:46 +01:00
Michael Mayer e43983d579 Backend: Refactor thumbnail package #157
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-06 14:32:15 +01:00
Michael Mayer 17f6cd9593 Backend: Fix error handling in location lookup #180
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-06 11:12:26 +01:00
Michael Mayer 5ec2d9e9a4 Backend: Add config parameters #99 #157 #180
This commit adds config parameters for thumbnail quality, max thumbnail size and geocoding api as well as a flag to to disable TensorFlow.

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-06 06:59:35 +01:00
Michael Mayer 10b143f8ae Implement restore for hidden (deleted) photos #167
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-06 05:45:03 +01:00
Michael Mayer 582113fed4 Backend: Add write mutex to entities and improve test fixtures #164
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-06 04:24:49 +01:00
Michael Mayer 01ca94d536 Backend: Initialize test db with fixtures #84 #129
Fixtures can be found in assets/resources/examples/fixtures.sql and must be maintained manually for now

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-06 02:14:17 +01:00
Michael Mayer 0df82a27cd Backend: Code clean-up
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-05 14:26:13 +01:00
Michael Mayer f89a3d7bb1 Backend: Rename repo package to query
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-05 14:18:40 +01:00
Michael Mayer a3b3136498 Backend: Add "idx_photos_taken_uuid" for consistent sorting by time
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-05 14:09:17 +01:00
Michael Mayer 474c7a97c9 Backend: Improve photo title fallback
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-04 13:55:39 +01:00
Michael Mayer be79dd521b Backend: Add stopwords for fulltext indexing
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-04 12:10:05 +01:00
Michael Mayer c87ec0a07a Backend: Add stopwords for fulltext indexing
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-04 12:09:44 +01:00
Michael Mayer dc0ba7b808 Backend: Fix config_test.go
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-04 08:10:47 +01:00
Michael Mayer e27835fb21 Backend: Fix import / index bugs
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-04 07:56:56 +01:00
Michael Mayer 28f62cb9ac Backend: Add mutex to NSFW detector initialization
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-02 06:16:58 +01:00
Michael Mayer 29db7abfd1 Backend: Add mutex for location updates
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-02 06:10:28 +01:00
Michael Mayer 4263061a89 Backend: Fix index events after refactoring
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-02 05:38:21 +01:00
Michael Mayer b87465f776 Backend: Fix index API after refactoring
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-02 05:28:40 +01:00
Michael Mayer f69d970f5a Backend: Code clean-up
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-02 05:12:18 +01:00
Michael Mayer 057204d379 Backend: Major code refactoring
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-02 05:03:47 +01:00
Michael Mayer 32fdb72ac9 Backend: Code clean-up
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-02 04:08:33 +01:00
Michael Mayer 6478417d23 Backend: Remove IndexRelated() (not needed anymore)
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-02 04:01:40 +01:00
Michael Mayer c74bb7d13a Import: Use goroutines and channels
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-02 03:57:28 +01:00
Michael Mayer d5d3fa8131 Indexer: Use goroutines and channels
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-02 02:58:26 +01:00
Michael Mayer a2db77af86 Backend: Refactor RelatedFiles()
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-02 00:45:58 +01:00
Michael Mayer 357b557aac Backend: Refactor config package and add Workers() func
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-02 00:03:07 +01:00
Michael Mayer 6da8bd098a Backend: Add support for new Places API #173
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-31 07:16:11 +01:00
Michael Mayer cf909e2a4e Backend: Use S2 tokens for location and place ID #173
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-31 01:34:27 +01:00
Michael Mayer 7d5bc0619e Add "experimental" feature flag #152 #153 #154
Use this flag to test new features before they are stable.

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-30 12:38:11 +01:00
Michael Mayer 843ac27e4a First draft for a "Discover" area #153
It should enable users to find photos by similarity, by color, by season or just randomly.

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-29 15:35:23 +01:00
Michael Mayer a559c0b23c Backend: Rename color "dark" back to "black"
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-29 01:50:23 +01:00
Michael Mayer cedb222c12 Backend: Move brown next to orange in color list
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-29 00:28:21 +01:00
Michael Mayer a66d0887bd Add lens, category, color and year search filters
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-28 23:06:44 +01:00
Michael Mayer fe705bb512 Code clean-up (make fmt)
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-28 20:39:51 +01:00
Michael Mayer ca8cfffc24 Backend: Prepare database for advanced filtering and grouping #154
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-28 20:24:20 +01:00
Michael Mayer de6503646c Backend: Refactor location
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-28 12:28:06 +01:00
Michael Mayer 211ed6acb4 Backend: Fix usage description of NSFW flags #170
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-28 09:56:35 +01:00
Michael Mayer bdf0cde8a6 Backend: Add session package #169
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-28 09:48:36 +01:00
Michael Mayer 875245f1d4 Backend: Use uint64 for location IDs
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-27 23:58:51 +01:00
Michael Mayer e93f49f87e Backend: Fix olc "out of range" log message
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-27 23:22:09 +01:00
Michael Mayer e7f757a631 Backend: Refactor position data in client config
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-27 11:17:55 +01:00
Michael Mayer 14617b4387 Backend: Fix country list order
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-27 08:18:10 +01:00
Michael Mayer a8a5384759 Locations: Reduce S2 level to 15
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-27 07:25:40 +01:00
Michael Mayer 04cb2be1d4 Frontend: Edit album name
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-27 07:02:49 +01:00
Michael Mayer 366c70d992 Optimize performance and data structures
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-27 05:18:52 +01:00
Theresa Gresch f433214c4d Add test for maps/location 2019-12-22 21:39:53 +01:00
Theresa Gresch 1e9fdf260a Add test for osm/title 2019-12-22 21:39:25 +01:00
Theresa Gresch c7bb862008 Add test for osm/location 2019-12-22 21:38:55 +01:00
Theresa Gresch a3e9e1a39a Add test for osm/categories 2019-12-22 21:38:33 +01:00
Theresa Gresch 6a480edba1 Add tests for test.go 2019-12-22 19:21:47 +01:00
Theresa Gresch 228682400b Add tests for config.go 2019-12-22 19:21:30 +01:00
Michael Mayer 8e15c1d6fd Code clean-up (make fmt)
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-21 17:24:29 +01:00
Michael Mayer 974880401e Frontend: Make new albums favorite by default and refresh navigation
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-21 17:18:47 +01:00
Michael Mayer 245c8beb69 OSM: Add Village field to Address struct #166
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-21 16:22:24 +01:00
Michael Mayer 768b039889 Backend: Rename "black" to "dark" and "white" to "bright"
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-21 14:29:08 +01:00
Michael Mayer c4818417ee Backend: Remove drawing label
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-21 11:23:52 +01:00
Michael Mayer 1e7c0c2435 Backend: Improve location hashing and categories
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-20 23:05:44 +01:00
Michael Mayer f3cf300590 Backend: Refactor location entity and indexer
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-20 20:23:16 +01:00
Michael Mayer e55bc8330c Backend: Refactor maps and osm packages
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-20 12:20:35 +01:00
Michael Mayer 1d0b1f8533 Backend: Refactor maps and osm packages
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-20 12:04:26 +01:00
Michael Mayer 52b57e9fba Backend: Add maps package
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-20 11:30:58 +01:00
Michael Mayer 410e82f5c3 Backend: Add OpenStreetMap package
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-19 17:17:13 +01:00
Michael Mayer be2376d986 Backend: Rename forms_test.go to form_test.go
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-19 17:16:35 +01:00
Michael Mayer d0104560de Labels: Update labels.yml and location.go
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-19 12:31:13 +01:00
Michael Mayer fc5d327494 Photo: DATETIME instead of TIMESTAMP for TakenAt #162
Error logging and labels were also improved along the way.

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-19 09:37:10 +01:00
Theresa Gresch 10f3c11c61 Add test for settings.go 2019-12-17 19:29:43 +01:00
Theresa Gresch 2658767d72 Add test for entity/share.go 2019-12-17 18:28:47 +01:00
Theresa Gresch 98ebf18ff5 Add test for entity/photo_label.go 2019-12-17 18:28:07 +01:00
Theresa Gresch b5336eebb0 Add test for entity/photo_keyword.go 2019-12-17 18:27:48 +01:00
Theresa Gresch cf08fd4256 Add test for entity/photo_album.go 2019-12-17 18:27:25 +01:00
Theresa Gresch 156a13358e Add test for entity/location.go 2019-12-17 18:27:08 +01:00
Theresa Gresch 8cb5041f96 Add test for entity/lens.go 2019-12-17 18:26:50 +01:00
Theresa Gresch a9f55ed73f Add test for entity/keyword.go 2019-12-17 18:26:33 +01:00
Theresa Gresch 11f29ba5e4 Add test for entity/file.go 2019-12-17 18:26:13 +01:00
Theresa Gresch da2aefa446 Add test for entity/event.go 2019-12-17 18:25:56 +01:00
Theresa Gresch 2d12e6aa72 Add test for entity/category.go 2019-12-17 18:25:39 +01:00
Theresa Gresch 1b78ae2513 Add test for entity/album.go 2019-12-17 18:25:13 +01:00
Theresa Gresch 4c5219c4f4 Add test for strings.go 2019-12-17 17:03:56 +01:00
Theresa Gresch dffd61037a Add test for token.go 2019-12-17 17:03:36 +01:00
Theresa Gresch 1f40f7eab7 Add test for mime.go 2019-12-17 17:03:14 +01:00
Theresa Gresch 6e53a88708 Add test for keywords.go 2019-12-17 17:02:56 +01:00
Michael Mayer f39d34b43a Places: Improve UX
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-17 15:28:54 +01:00
Michael Mayer ed182537f1 Frontend: Add button to show all labels
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-17 07:13:09 +01:00
Michael Mayer 4ab44c5c23 Frontend: Add photos to new album
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-17 04:39:23 +01:00
Michael Mayer 1cc8cefc92 Labels: Add cache, fix bugs & improve SQL queries
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-16 23:33:52 +01:00
Michael Mayer 2d490812d2 Backend: Higher default threshold for labels #160
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-16 20:22:46 +01:00
Michael Mayer 2281c0c675 Backend: Refactor API source structure
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-16 11:04:49 +01:00
Michael Mayer 5b44d3137f Backend: Exclude location types from labels #160
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-16 10:34:11 +01:00
Michael Mayer e9c8ca3e54 Backend: Reduce labels and sort them by name #160
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-15 22:49:37 +01:00
Michael Mayer 06b0296797 Backend: Only send count.labels event if priority >= 0
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-15 18:46:20 +01:00
Michael Mayer 4b7857891a Backend: Fix tensorflow_test.go
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-15 18:36:27 +01:00
Michael Mayer a4b475cbd6 Backend: Improve classification labels
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-15 18:26:16 +01:00
Michael Mayer b5da75a2e6 Backend: Delete upload folder after import #158
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-15 17:43:17 +01:00
Michael Mayer 016d90054e Backend: Implement NSFW config flags
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-15 17:19:16 +01:00
Theresa Gresch 94c3f534be Make label search working for umlauts 2019-12-15 13:29:18 +01:00
Theresa Gresch 67cf854ae8 Make album search working for umlauts 2019-12-15 13:25:23 +01:00
Theresa Gresch 08d2b29219 Add test to search for umlauts to album search 2019-12-15 13:24:27 +01:00
Theresa Gresch 0a86cad638 Add test to search for umlauts to label search 2019-12-15 13:24:10 +01:00
Theresa Gresch 1053cd0fe3 Add test to search for umlauts to photo search 2019-12-15 13:23:45 +01:00
Michael Mayer d2eac5aacf Backend: Improve indexer and labels
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-15 11:52:10 +01:00
Michael Mayer 8cce9f7c8c Backend: Set NSFW flag while indexing
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-14 20:35:14 +01:00
Michael Mayer 78eae2f14e Backend: Add NSFW detector
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-14 15:41:37 +01:00
Michael Mayer 9987d65933 Backend: Remove NSFW code from photoprism package
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-14 14:38:43 +01:00
Michael Mayer 63dab60a5e Backend: Prepare TensorFlow for NSFW model
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-13 16:25:47 +01:00
Michael Mayer 13536bb8b2 Backend: Log indexing duration for files
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-13 07:54:05 +01:00
Michael Mayer f92c21aef9 Indexer: Improve labels
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-13 03:07:26 +01:00
Michael Mayer 645d02d782 Indexer: Improve titles, labels and performance
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-12 16:31:55 +01:00
Michael Mayer 845cc5a77d Backend: API stub for editing photo metadata
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-11 19:11:44 +01:00
Michael Mayer 4e06deda76 Backend: Rename "models" package to "entity"
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-11 16:55:18 +01:00
Michael Mayer dac272468e Sharing: Render preview image & site info
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-11 14:10:20 +01:00
Michael Mayer a24bf5611a Backend: Add test workaround, solution requires db fixtures
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-11 08:36:14 +01:00
Michael Mayer a702844782 Improve repo test logging
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-11 08:18:48 +01:00
Michael Mayer d4b3e456f7 Backend: Move SQL queries to repo package
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-11 07:37:39 +01:00
Michael Mayer 458a2afbd4 Use Errorf() instead of Printf() for panic log
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-11 05:38:03 +01:00
Michael Mayer 9d3bb8fb73 Indexing: Disable "convert to jpeg" if library is read only (backend)
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-11 05:04:41 +01:00
Michael Mayer 592a6eac7a Indexing: Add "Groom metadata" option to UI
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-11 04:57:32 +01:00
Michael Mayer 559da16f23 Indexing: Move log
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-11 04:37:15 +01:00
Michael Mayer 288e40aa83 Indexing: Set photo title default to "Unknown"
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-11 04:35:10 +01:00
Michael Mayer 27ca260942 Indexing: Add "convert to jpeg" and "create thumbnails" options
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-11 04:12:54 +01:00
Michael Mayer 9086bd18f6 Search for all words that start with query string
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-10 17:12:02 +01:00
Michael Mayer dc46ab9bc8 Fix indexer issues & use go generate to create stopwords map
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-10 16:58:01 +01:00
Michael Mayer 6d4e42c79e Added option to skip indexing existing files
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-09 08:04:41 +01:00
Michael Mayer 760df93214 Backend: Only return distinct labels and keywords
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-09 04:48:30 +01:00
Michael Mayer 84bf4700ec Fix search query parser (unicode)
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-08 22:45:45 +01:00
Michael Mayer c796431e1b Faster keyword search (proof-of-concept)
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-08 15:05:35 +01:00
Michael Mayer 661f1bfa9b Albums: Select, delete & download #15
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-06 16:47:30 +01:00
Michael Mayer a32970a888 Albums: Delete API #15
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-06 11:56:24 +01:00
Michael Mayer af154d2f47 Backend: Add/update db columns for sharing
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-06 10:26:57 +01:00
Michael Mayer 47450cad91 Albums: Download single file #15
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-05 21:06:53 +01:00
Michael Mayer 1e4d272ee7 Albums: Change zip file name and remove downloaded archives #15
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-05 19:49:05 +01:00
Michael Mayer 25d0e92036 Albums: Zip download #15
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-05 19:21:35 +01:00
Michael Mayer 85489bf5e1 Albums: Remove photo #15
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-05 14:11:45 +01:00
Michael Mayer 77af67dd36 Albums: Refactor API #15
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-05 12:10:30 +01:00
Michael Mayer 309317d23d Backend: Improve log messages
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-05 02:52:00 +01:00
Michael Mayer fc3d319dfd Backend: Fix API after switching to UUIDs
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-04 16:47:47 +01:00
Michael Mayer 2c95d73520 Albums: Add photos by UUID #15
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-04 15:14:04 +01:00
Michael Mayer c1088d4b54 Albums: Use month and year as default name #15
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-04 12:11:11 +01:00
Michael Mayer ded37fc486 Albums: Add BatchPhotosAlbum API #15
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-04 01:46:17 +01:00
Michael Mayer 6f3593ec9a Albums: Use album slug in URL #15
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-03 23:55:24 +01:00
Michael Mayer d3cdffb0a0 Albums: Routing & navigation #15
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-03 23:17:55 +01:00
Michael Mayer c584a79a6f Add album name edit dialog #15
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-03 21:25:40 +01:00
Michael Mayer 7339e67201 Backend: Fix profiling timer test
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-03 13:21:41 +01:00
Michael Mayer 2b6b1b9f79 API: Improve logging
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-03 12:51:23 +01:00
Michael Mayer cd461d5594 Frontend: Real-time logging
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-02 13:14:01 +01:00
Michael Mayer a2963e9fc6 Add event hook for sending logs to frontend
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-02 00:30:58 +01:00
Michael Mayer fcca602bfc Import: Change filename after removing old file #136
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-01 20:24:19 +01:00
Michael Mayer 895a1cf175 Import: Fix for "invalid cross-device link" error #136
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-12-01 16:23:18 +01:00
Michael Mayer 1547ee2145 Refactor clientConfig (frontend configuration)
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-11-17 06:21:43 +01:00
Michael Mayer 5a85fe9f83 Save and load settings to / from settings.yml
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-11-17 03:08:13 +01:00
Michael Mayer 53078f41a0 Frontend: Run import / index in background (cancel request)
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-11-17 02:11:27 +01:00
Michael Mayer 98cb0b2c28 Improve notifications for import / index
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-11-17 00:55:40 +01:00
Michael Mayer 25742c9f1e Fix: Don't change private together with story flag
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-11-16 23:56:47 +01:00
Michael Mayer 2c3d6070cc Code clean-up: Rename alert to notify
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-11-16 23:55:56 +01:00
Michael Mayer aebbb17a53 Update client config after upload, import or index
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-11-16 23:22:50 +01:00
Michael Mayer c602ce82b8 Fix upload page
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-11-16 17:48:51 +01:00
Michael Mayer 65f084193e Add event hub & websocket for push notifications
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-11-16 16:06:34 +01:00
Michael Mayer f88c574f3f Improve HTTP header auth
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-11-12 05:49:10 +01:00
Michael Mayer 0becb8a92d Stub for settings page & api
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-11-12 04:34:37 +01:00
Michael Mayer 8e1d872a7b Canonical API headers
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-11-11 23:38:43 +01:00
Michael Mayer a14b74dfa6 Config: Add public flag to disable auth #16
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-11-11 21:10:41 +01:00
Michael Mayer 56c97ec057 Basic login for admin #16
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-11-08 06:53:40 +01:00
Michael Mayer 49c7fafa87 Upgrade from Mysql 8.0 to MariaDB 10.4
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-11-07 20:31:50 +01:00
Michael Mayer 3fedffe21b Index F Number instead of Aperture
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-11-07 19:00:26 +01:00
Theresa Gresch 37602a0956 Feature/improve support for exif (#149)
* #13 Extract flash and imageDescription information from exif

* #13 Add tests for exif.go
2019-11-07 14:22:45 +01:00
Michael Mayer b194090d6b Make sure TakenAt and TakenAtLocal are always set
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-09-19 15:46:04 -07:00
Michael Mayer 0f47c84138 Implement time zone support for "TakenAt"
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-09-19 14:23:39 -07:00
vijay korimilli 31d5f30637 Handle filenames with special characters #131 2019-09-08 05:53:04 +02:00
Michael Mayer de1a02694c Mediafile: Remove test for filesystem case-sensitivity #126
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-07-18 16:24:29 +02:00
Theresa Gresch 01b35d0cf5 Add tests for thumbnail api 2019-07-17 17:38:51 +02:00
Theresa Gresch c7e7014c3a Add tests for labels api 2019-07-17 17:16:33 +02:00
Theresa Gresch 43aebf6066 Add util_test.go to log test logs 2019-07-17 17:03:12 +02:00
Theresa Gresch 418b638999 Add test for time util 2019-07-17 17:01:53 +02:00
Theresa Gresch 7fc789e639 Add tests for album api 2019-07-17 16:46:54 +02:00
Theresa Gresch 4811fc9146 Add test conditions to photos api test 2019-07-17 16:44:21 +02:00
Theresa Gresch f527dbd272 Add test condition to IsSeparator test 2019-07-17 15:34:34 +02:00
Theresa Gresch 5bc213f6f2 Adapt DirectoryIsEmpty test to create and delete empty directory 2019-07-17 14:59:29 +02:00
Theresa Gresch 8f52e57d9c Add tests for file util 2019-07-17 14:33:01 +02:00
Theresa Gresch 411d998ac6 Add more test conditions to strings test 2019-07-17 13:46:21 +02:00
Theresa Gresch f7063e7643 Add test for strings functions 2019-07-17 13:26:20 +02:00
Theresa Gresch 429f226c5c Add test for hash function 2019-07-17 13:22:55 +02:00
Theresa Gresch a995bb87de Add test for makeTensor 2019-07-17 12:22:50 +02:00
Theresa Gresch 30013b6ea7 Add NewTestParamsError and NewTestErrorConfig function 2019-07-17 12:00:15 +02:00
Theresa Gresch e66f795783 Add test for loadLabels function 2019-07-17 11:59:21 +02:00
Theresa Gresch d63f4ec09f Created loadLabels function 2019-07-17 11:53:33 +02:00
Theresa Gresch 73b16162ab Add test for bestLabels function 2019-07-17 11:52:26 +02:00
Theresa Gresch 1972662669 Add test for loadlLabelRule function 2019-07-17 10:59:19 +02:00
Theresa Gresch 4aa110396e Add tests for LoadLabelRules, LabelsFromFile, Labels and LoadModel functions 2019-07-17 10:48:23 +02:00
Theresa Gresch e782abd7e3 Add new test condition to openstreetmap test 2019-07-17 09:53:53 +02:00
Theresa Gresch a6bf3161c2 Add test for openstreetmap.go 2019-07-17 09:49:00 +02:00
Theresa Gresch 99738790cb Refactored order of tests in mediafile_test.go 2019-07-16 17:27:51 +02:00
Theresa Gresch ffcb498fce Add tests for HastTimeAndPlace, Aperture, Iso and Exposure functions 2019-07-16 17:11:22 +02:00
Theresa Gresch f2b6d4f31f Add tests for TimeZone, CameraModel, CameraMake, LensModel, LensMake and FocalLength functions 2019-07-16 17:02:40 +02:00
Theresa Gresch 253923ce48 Add tests for Extension, Basename and Directory functions of mediafiles 2019-07-16 16:45:32 +02:00
Theresa Gresch 3c7dba5d51 Add tests for decodeDimension, Jpeg, IsPhoto, IsRaw, IsHEIF, HasType and IsJpeg functions 2019-07-16 16:25:36 +02:00
Theresa Gresch bd5d32fa84 Add tests for aspect ratio, height and orientation function to mediafile_test.go 2019-07-16 14:12:10 +02:00
Theresa Gresch 7f444185c0 Add test condition for camera model 2019-07-16 14:11:33 +02:00
Theresa Gresch 8d7cbe3cb0 Add test photoLabel model 2019-07-16 13:10:31 +02:00
Theresa Gresch d2c9b73a38 Add test for lens model 2019-07-16 13:02:42 +02:00
Theresa Gresch adead738cd Add tests for label model 2019-07-16 12:57:55 +02:00
Theresa Gresch 2eb0011377 Add test for country model 2019-07-16 12:53:23 +02:00
Theresa Gresch 67c21ab0d1 Add tests for album model 2019-07-16 12:44:13 +02:00
Theresa Gresch 1fec474bd0 Add tests for camera model 2019-07-16 12:36:30 +02:00
Theresa Gresch ab9938999c Add tests for label search form 2019-07-16 11:18:30 +02:00
Theresa Gresch 8cedf9d192 Add tests for album search form 2019-07-16 11:17:52 +02:00
Theresa Gresch 0b26f813ca Add more test conditions to photos search form 2019-07-16 11:17:33 +02:00
Theresa Gresch 81f6ded2cc Add tests for photos search form 2019-07-16 10:41:30 +02:00
Michael Mayer 9b73c91ed5 Remove index from label name (use slug instead)
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2019-07-15 23:11:29 +02:00
Michael Mayer 7afb7a87db Search performance improvements (indexes and labels) 2019-07-15 22:54:54 +02:00
Michael Mayer b628592510 Fix TestConfig_ClientConfig 2019-07-15 21:19:11 +02:00
Michael Mayer 61c1478533 Fix for finding existing photo by time and place 2019-07-15 20:42:49 +02:00
Michael Mayer c531c5aec9 Use test config for TestConfig_Db and TestConfig_CloseDb 2019-07-14 19:06:44 +02:00
Theresa Gresch 801097c368 Revert change to Db function 2019-07-10 10:33:16 +02:00
Theresa Gresch 31b29fa42b Adapt Db function to return nil in case the db is not initialized 2019-07-10 09:10:46 +02:00
Theresa Gresch 73d5871886 Add tests for config.go 2019-07-10 09:10:02 +02:00
Theresa Gresch 9c6c6f2539 Add tests for config.go 2019-07-09 17:43:34 +02:00
Theresa Gresch 3813ee327a Add tests for config.co 2019-07-09 16:57:37 +02:00
Theresa Gresch 92e03b2069 Add test for indexAll function 2019-07-09 14:30:08 +02:00
Theresa Gresch 775a48727b Add assertion for chroma hex value to colors test 2019-07-09 14:16:41 +02:00
Theresa Gresch 064a5b7c09 Add tests ThumbnailFromFile and CreateThumbnail functions 2019-07-09 13:55:31 +02:00
Theresa Gresch 7e537014e2 Add test for ThumbnailFilename function 2019-07-09 13:26:54 +02:00
Theresa Gresch 46f997e8ba Add tests for invalid thumbnail type and invalid image format for thumbnail function 2019-07-09 12:46:43 +02:00
Theresa Gresch b99753b051 Add tests for more search queries 2019-07-08 17:42:06 +02:00
Theresa Gresch 0db08e26d2 Add tests for different search queries 2019-07-08 17:25:51 +02:00
Theresa Gresch f7c18a17f8 Use more suited testdata in lables test 2019-07-08 16:23:34 +02:00
Theresa Gresch 03d7e6af2f Add tests for mediafile.go 2019-07-08 16:09:10 +02:00
Theresa Gresch 416c8ccec0 Refactored RelativeFilename and RelativePath function to be able to deal with paths ending with or without slashes 2019-07-08 16:08:32 +02:00
Theresa Gresch 3dc9abea67 Add tests for label.go 2019-07-08 14:09:21 +02:00
Theresa Gresch 61b5bb028c Add tests for mediafile 2019-07-05 15:56:21 +02:00
Theresa Gresch f85b7904a3 Adapt importer test to use files from new smaller testdata 2019-07-05 13:48:34 +02:00
Theresa Gresch 3a10911659 Adapt converter test to use files from new smaller testdata 2019-07-05 13:48:13 +02:00
Theresa Gresch a85805c8e1 Update testdata hash 2019-07-05 13:47:48 +02:00
Theresa Gresch 0173d4943a Use example data instead of testdata in thumbnail tests 2019-07-05 12:38:59 +02:00
Theresa Gresch a5152e71b0 Remove initialize testdata in search tests 2019-07-05 12:35:57 +02:00
Theresa Gresch 687a1829eb Remove logger declaration from time.go as it is already defined in utils.go 2019-07-05 12:32:59 +02:00
Theresa Gresch 562341e197 Add logger to util.go 2019-07-05 12:32:06 +02:00
Theresa Gresch fa332454c5 Use file basename in colors test so that assertion gets executed independent from the files location 2019-07-05 10:36:19 +02:00
Theresa Gresch 10a18914da Add HEIF as possible main file format 2019-07-04 18:39:54 +02:00
Theresa Gresch 77bbb1ee84 Add check for HEIF file to converter to convert HEIF images to jpg 2019-07-04 18:38:26 +02:00
Theresa Gresch c379a936e2 Convert HEIF files to jpeg during import 2019-07-04 18:37:20 +02:00
Theresa Gresch d145e9258a Make HEIF files compatible with exif functionality 2019-07-04 18:35:14 +02:00
Theresa Gresch 23e0dde0e3 Renamed ctx to conf in search test 2019-07-04 09:52:30 +02:00
Theresa Gresch 4e088ef7b7 Correct spelling mistake (Change Filemame to Filename) in converter test 2019-07-04 09:51:43 +02:00
Theresa Gresch 4b44373253 Use image from examples to prevent use of initialize testdata in tensorflow test to make test faster 2019-07-04 09:50:39 +02:00
Theresa Gresch 516c9a892e Use images from examples to prevent use of initialize testdata in mediafile test to make test faster 2019-07-04 09:49:32 +02:00
Theresa Gresch 31896eda13 Use images from example data to prevent initializing testdata in colors test to make test faster 2019-07-04 09:48:09 +02:00
Michael Mayer f9c18446bf PhotoLabel: Change index order for improved performance #121 2019-07-03 19:58:53 +02:00
Michael Mayer 10269c6f6c Code clean-up in commands 2019-07-03 19:56:47 +02:00
Michael Mayer 909b1d9f8a Mediafile: Basename should also trim " copy" at the end of file names 2019-07-03 10:55:46 +02:00
Michael Mayer 8f35907533 Importer: Revert replace 2019-07-03 09:49:53 +02:00
Michael Mayer 874e728c9c Importer: DestinationFilename should always return file name 2019-07-03 09:43:11 +02:00
Michael Mayer d93acb0a63 Importer: Skip / delete files that already exist and check for errors 2019-07-03 09:27:30 +02:00
Michael Mayer cf61c66ce5 Remove SQL_CALC_FOUND_ROWS from search query #121 2019-07-03 07:56:44 +02:00
Michael Mayer d596818928 Indexer: Fix query for existing files #56 2019-07-02 23:56:47 +02:00
Michael Mayer d4526bedd2 Read-only mode: Disable upload & import in frontend and show info #56 2019-07-02 23:01:56 +02:00
Michael Mayer 1c4bd8e218 Fix for photo model (typo in gorm annotations) 2019-07-02 22:14:20 +02:00
Michael Mayer bc65ad57d5 Disable import, upload and raw converter in read-only mode #56 2019-07-02 22:09:06 +02:00
Michael Mayer b976c095f3 Code clean-up #56 2019-07-02 22:09:06 +02:00
Michael Mayer 772251ca0d Revert extended names for imported files and fix related test #56 2019-07-02 22:09:06 +02:00
Michael Mayer 89b7886581 Add index to photo_lat, photo_long and taken_at 2019-07-02 22:09:06 +02:00
Michael Mayer 5662fc35ed Refactor indexer in preparation to read only mode #56 2019-07-02 22:09:06 +02:00
Michael Mayer 3655ebf9d8 Use daemon server mode to run acceptance tests #58 2019-06-30 05:38:39 +02:00
Michael Mayer 74f8044cd2 Database: Change init log message 2019-06-30 00:21:02 +02:00
Michael Mayer 5e37cd54fc Update Docker images: new directory structure 2019-06-29 23:27:42 +02:00
Michael Mayer ad93ad1289 Use dsoprea/go-exif to parse Exif tags #21 2019-06-20 05:38:23 +02:00
Vedhavyas Singareddi f63efc5f51 Implement daemon mode (#119)
* add daemon process
* add daemon stop command
* add daemon log to log file
* check for running daemons
* minor changes
2019-06-20 01:11:03 +02:00
Michael Mayer dd10265ae8 Frontend: Add story toggle button to clipboard menu 2019-06-18 07:28:30 +02:00
Michael Mayer df5aa57e68 Albums: Code clean-up and small fixes #15 2019-06-18 06:37:10 +02:00