Commit graph

1036 commits

Author SHA1 Message Date
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
Michael Mayer
4553344550 Add event table 2019-06-17 22:39:32 +02:00
Michael Mayer
6404b76c97 Add views counter to album, photo and share 2019-06-17 22:39:32 +02:00
Michael Mayer
27530bc0be Add shares table for sharing photos and albums 2019-06-17 22:39:32 +02:00
Michael Mayer
bb8c2dbbea Photos: Add story flag for blogging / timeline 2019-06-17 22:39:32 +02:00
Theresa Gresch
5f63f2999c Implement first album functionality 2019-06-17 21:45:06 +02:00
Michael Mayer
e2c630e57c Change chroma max value from 16 to 100 for better results 2019-06-15 16:11:55 -07:00
Michael Mayer
3ee3946011 Proof-of-concept for import and index from Web UI 2019-06-15 11:03:54 -07:00
Michael Mayer
0f6867af79 Photos: Add private and sensitive flag 2019-06-14 18:44:10 -07:00
Michael Mayer
ea3f209f8f Proof-of-concept for batch like & delete
Requires additional code clean-up and unit / acceptance tests
2019-06-14 16:35:18 -07:00
Michael Mayer
9e761549e4 API: Remove debug log from upload 2019-06-14 15:29:12 -07:00
Michael Mayer
e141b9edcd Photos: Add LocationEstimated flag 2019-06-14 15:15:49 -07:00
Michael Mayer
c133dbe3f9 Indexer: Code and label clean-up 2019-06-14 13:01:58 -07:00
Michael Mayer
2005da9a25 Rename "Import" to "Library" and add tabs to page 2019-06-14 12:16:59 -07:00
Michael Mayer
60e9346f08 Proof-of-concept for upload & import 2019-06-13 11:26:01 -07:00
Michael Mayer
f47d93be7f Format Go code: go fmt ./internal/... ./cmd/... 2019-06-09 05:22:53 +02:00
Michael Mayer
8642b6f664 Proof-of-concept for labels and search filters 2019-06-09 04:37:02 +02:00
Michael Mayer
9ead0ceef9 Fix TimeZone() 2019-06-07 00:19:12 +02:00
Michael Mayer
c230de6b2b Add time zone info to photos (if available) 2019-06-07 00:04:34 +02:00
Michael Mayer
aab504ffd6 Initial support for HEIF image files incl improved tests & example files 2019-06-06 14:44:35 +02:00
Michael Mayer
648d35115d Use labels up to 85% uncertainty for photo titles (without location) 2019-06-05 18:49:35 +02:00
Michael Mayer
a6131eeddd Move all config files to assets/config and resources to assets/resources 2019-06-05 18:25:20 +02:00
Michael Mayer
b835c22f7f Rename synonyms to categories 2019-06-05 14:05:21 +02:00
Michael Mayer
3d0ec3892f Skip city name in title if sub string of location name 2019-06-05 11:58:20 +02:00
Michael Mayer
c81b389799 Improve photo titles 2019-06-05 11:39:50 +02:00
Michael Mayer
c501abe932 Improve photo classification, indexing, titles & location info 2019-06-05 10:18:03 +02:00
Michael Mayer
df995b4f15 Rename tags to labels incl priority, source and uncertainty 2019-06-04 18:26:41 +02:00
Michael Mayer
89a1e8e7fc Console output text changes 2019-06-04 00:22:25 +02:00
Vedhavyas Singareddi
38b9889ef2 Add context for graceful shutdown #112
see pull request #114
2019-06-03 22:58:15 +02:00
Michael Mayer
cc4de67c3c Improve DateCreated() comment 2019-06-03 16:32:26 +02:00
Theresa Gresch
a18a7d9477 Rename materialColor to indexedColor 2019-06-03 12:32:51 +02:00
Michael Mayer
c7f426ac23 OSM: Translate location names to English 2019-05-30 02:53:35 +02:00
Michael Mayer
d31305a503 Move static assets from public/ to static/ for clearer structure 2019-05-22 13:55:11 +02:00
Theresa Gresch
8c63c345f0 Removes dark brown from color map to improve color indexing 2019-05-20 21:42:29 +02:00
Michael Mayer
d26f7fb0dc Docker: Add testcafe and firefox to development image; change mysql port 2019-05-20 16:39:41 +02:00
Michael Mayer
8124a8cde1 Use label rules to optimize image classification 2019-05-16 08:41:16 +02:00
Michael Mayer
7eeab25ae1 Rename file_saturation to file_chroma in search query 2019-05-16 04:17:45 +02:00
Michael Mayer
0400b6ec7a Add download links to thumbnails in photo viewer 2019-05-16 04:03:55 +02:00
Michael Mayer
b73093c2f0 Disable SQL query logger and enable photo model preload for search 2019-05-16 03:57:18 +02:00
Michael Mayer
a1f2146648 Set default distance to ~20km 2019-05-16 02:24:02 +02:00
Michael Mayer
1cf23aac3e Additional search parameters incl distance and location (lat/long) 2019-05-16 02:22:38 +02:00
Michael Mayer
9b6ad9968d Add support for time values in photo search, see #2 2019-05-15 23:07:25 +02:00
Michael Mayer
40b542276c Profiling log message for photo search, see #2 2019-05-15 23:00:16 +02:00
Theresa Gresch
5eb32d3353 Change color map for improved color indexing 2019-05-15 22:42:37 +02:00
Michael Mayer
9a320c60df Search string parser similar to GitHub, see #2 2019-05-15 21:51:00 +02:00
Michael Mayer
feda86f0e2 Location search must only return results with known location 2019-05-15 14:37:31 +02:00
Michael Mayer
7fd1ed7a7b New "mosaic" view (tiny tiles) 2019-05-15 11:07:26 +02:00
Michael Mayer
441922c35e Add download button to photo viewer 2019-05-14 18:16:35 +02:00
Michael Mayer
db261d40b3 Share available thumbnail types with JS frontend 2019-05-14 16:04:17 +02:00
Michael Mayer
5262cce647 Thumbnails code clean-up 2019-05-14 10:28:21 +02:00
Michael Mayer
40b7c33198 Fix for thumbnail size: fit_3840 instead of fit_3540 2019-05-13 21:22:16 +02:00
Michael Mayer
34b14c7099 Additional fix for running thumb unit tests on CI 2019-05-13 19:11:40 +02:00
Michael Mayer
1fc73e7285 Potential fix for running thumb unit tests on CI
testdata/ could not be found
2019-05-13 18:57:38 +02:00
Michael Mayer
dc4536b249 Improve thumbnail rendering and indexing performance 2019-05-13 18:01:50 +02:00
Theresa Gresch
f154c27b1c Change map and resampling for improved color indexing 2019-05-12 14:31:01 +02:00
Theresa Gresch
dc67f8ccb2 Merge branch 'develop' of /Users/theresa/Development/graciousgrey/photoprismRepo/photoprism with conflicts. 2019-05-12 13:03:18 +02:00
Michael Mayer
1125ba2da4 exif.RegisterParsers() should only be called once 2019-05-12 09:44:20 +02:00
Michael Mayer
a612609854 Thumbnail cache warm-up for demo 2019-05-09 07:48:41 +02:00
Michael Mayer
c5e2783b8d Upgrade Go to 1.12.5, improve Makefile and add chromium-browser 2019-05-09 06:18:22 +02:00
Michael Mayer
55c19635c9 Update inline comment regarding the use of Context 2019-05-06 23:41:49 +02:00
Michael Mayer
0ddef3a02d Rename context package to config and fsutil to util 2019-05-06 23:18:10 +02:00
Michael Mayer
cf8d4ce29b Remove syscall.Kill from context Shutdown() 2019-05-06 22:13:35 +02:00
Michael Mayer
1e6f41b417 Improve image classification performance and logging in debug mode 2019-05-04 17:34:51 +02:00
Michael Mayer
d83e81b49b Graceful web and database server shutdown; add log-level flag 2019-05-04 13:29:32 +02:00
Michael Mayer
ff09f76bc5 Add PhotoTag model to weight photo tags based on confidence and source 2019-05-04 11:50:19 +02:00
Michael Mayer
e148e7af46 Add ColorPerception struct and improve Color() tests, see #7
Since we're not using the very same colors as material design anymore,
MaterialColor was renamed to IndexedColor.
2019-05-04 11:27:33 +02:00
Michael Mayer
e565195f23 Add config flag for read-only mode, see #56 2019-05-04 09:11:33 +02:00
Michael Mayer
7074faabe0 Additional airport image for testing, see #7 2019-05-04 07:19:02 +02:00
Michael Mayer
5d80af8434 Add static testdata for color indexing and image classification, see #7
Images are scaled down to ~331px. Filenames contain object and color.
2019-05-04 07:10:39 +02:00
Michael Mayer
868e1b80b9 Use reflection and yaml.Unmarshal() for configuration, see #66 2019-05-04 05:25:00 +02:00
Michael Mayer
bd60b5d398 Remove deprecated PerceptualHashSize const 2019-05-04 01:24:43 +02:00
Michael Mayer
3389b5115e Use hash to keep TensorFlow model up to date 2019-05-04 00:53:02 +02:00
Michael Mayer
3589a410c2 Add test.jpg fixture for fsutil package 2019-05-03 18:58:33 +02:00
Michael Mayer
71adb35cff Remove test and frontend packages; app and test context refactoring 2019-05-03 18:57:28 +02:00
Michael Mayer
6cba9d061f Remove unnecessary getter prefix
See https://golang.org/doc/effective_go.html#Getters
2019-05-02 17:26:44 +02:00
Michael Mayer
3315b87305 Use logrus for logging 2019-05-02 14:10:05 +02:00
Michael Mayer
8289de2746 Improve logging and set optional password for built-in TiDB server 2019-05-01 14:54:11 +02:00
Michael Mayer
818019a7ec Use nasnet mobile instead of inception v1 for image classification 2019-04-30 13:17:01 +02:00
Michael Mayer
a82696f067 Move color, luminance and saturation to files table 2019-04-29 21:54:36 +02:00
Michael Mayer
b079882354 Slow test refactoring (now using testing.Short()) 2019-04-29 20:09:17 +02:00
Michael Mayer
900e8c5e23 Color extraction: Add saturation value 2019-04-29 17:12:24 +02:00
Michael Mayer
5e1210c508 Add luminance and monochrome return values to MediaFile.Colors() 2019-04-29 01:59:57 +02:00
Sebastian Kunert
6267118acf Fix broken tensorflow test (#107)
* Fix broken tensorflow test

* Introduce rounding to fix tests
2019-04-28 11:09:25 +02:00
Michael Mayer
2e418d6e1e Fix API photo like / unlike test (failed existing photos), see #79 2019-04-26 04:25:00 +02:00
Michael Mayer
bc208c378c Set max length for file name to 512 chars because of utf8mb4, see #106 2019-04-26 04:13:50 +02:00
Michael Mayer
2f15ca2c59 Reduce length for file names to 2048 chars to fix error on CI, see #106 2019-04-26 02:44:57 +02:00
Michael Mayer
ffc64cceb0 Use 3x3 thumbnail for color indexing #7
Other implementations were unstable due to the use of random numbers.
This seems to be fast and also enables us to search specific parts
of an image. 16 colors are indexed (Material Design).
2019-04-26 02:22:53 +02:00
Michael Mayer
94205f0113 Models: Allow 4096 chars for file names, fix #106 2019-04-25 03:52:25 +02:00
Michael Mayer
b294ad10b3 Fix TestMediaFile_GetColors_Slow test 2019-04-18 20:16:09 +02:00
Sebastian Kunert
48a9f78cb3 Improve color indexing by using k-means clustering (#103)
* First commit for color-improvements

* Use k-means for prominent color detection

* Remove debugging code

* Add color checks to tests

* Add additional test for color names
2019-04-18 17:27:08 +02:00
Michael Mayer
57d5d2a183 OpenStreetmap: PlaceID now uint instead of string
API seems to have changed.
2019-04-18 06:58:35 +02:00
Vedhavyas Singareddi
4edfc4fa4c error chacks and minor api refactoring (#92)
* error chacks and minor api refactoring

* consistant naming
2019-01-15 14:00:42 +01:00
Vedhavyas Singareddi
74dc8be598 Fix/defer leaks (#91)
* fix defer leaks
* go mod tidy
2019-01-13 00:45:22 +01:00
Michael Mayer
95b041e25f Add error handling for ExpandedFilename(), see #89 2019-01-03 05:45:54 +01:00
Michael Mayer
e9425329f1 Add SqlServerPassword() and HttpServerPassword() to Config, see #16 2018-12-26 11:40:20 +01:00
Michael Mayer
e37a674e94 Improve thumbnail error messages, see #50 2018-12-26 11:40:20 +01:00
Michael Mayer
a3377dc8e8 Rename tidb to internal for database configuration, see #50 2018-12-26 11:40:20 +01:00
Michael Mayer
579c1272a7 Change order of values in config command, see #50 2018-12-26 11:40:20 +01:00
Michael Mayer
77c101a504 Move version command to the bottom, see #50 2018-12-21 04:40:45 +01:00
Michael Mayer
9e887be2d6 Add version command, see #50 2018-12-21 04:32:17 +01:00
Michael Mayer
5345ad37a2 Move server flags to global config, see #50 2018-12-21 04:17:22 +01:00
Michael Mayer
b300d5540c Remove todo comment, see #50 2018-12-21 04:07:36 +01:00
Michael Mayer
35ce40dfa1 Move ServerPath() up, see #50 2018-12-21 04:06:15 +01:00
Michael Mayer
cc44c3e580 Move favicons to server public directory, see #50 2018-12-21 04:05:14 +01:00
Michael Mayer
a6e4944821 Rename HTTP server paths in config, see #50 2018-12-21 03:44:38 +01:00
Michael Mayer
2050ba61b4 Rename Config.GetFaviconsPath() to FaviconsPath(), see #50 2018-12-21 03:41:07 +01:00
Michael Mayer
e87bf84532 Rename Config.GetTemplatesPath() to TemplatesPath(), see #50 2018-12-21 03:40:19 +01:00
Michael Mayer
3f2156a8fa Rename Config.GetDatabasePath() to SqlServerPath(), see #50 2018-12-21 03:39:10 +01:00
Michael Mayer
a7b6ea8936 Rename Config.GetServerAssetsPath() to ServerAssetsPath(), see #50 2018-12-21 03:33:56 +01:00
Michael Mayer
7d6c3d83b7 Rename Config.GetTensorFlowModelPath() to TensorFlowModelPath(), see #50 2018-12-21 03:25:50 +01:00
Michael Mayer
7fde545fe7 Rename Config.GetAssetsPath() to AssetsPath(), see #50 2018-12-21 03:25:09 +01:00
Michael Mayer
628c598f08 Rename Config.GetThumbnailsPath() to ThumbnailsPath(), see #50 2018-12-21 03:24:22 +01:00
Michael Mayer
3462257cce Rename Config.GetCachePath() to CachePath(), see #50 2018-12-21 03:23:47 +01:00
Michael Mayer
a3d9c61c42 Rename Config.GetDarktableCli() to DarktableCli(), see #50 2018-12-21 03:23:05 +01:00
Michael Mayer
32444bde18 Rename Config.GetExportPath() to ExportPath(), see #50 2018-12-21 03:22:25 +01:00
Michael Mayer
1a4815fd51 Rename Config.GetImportPath() to ImportPath(), see #50 2018-12-21 03:21:49 +01:00
Michael Mayer
c1219799da Rename Config.GetOriginalsPath() to OriginalsPath(), see #50 2018-12-21 03:21:21 +01:00
Michael Mayer
b365a2ce57 Rename Config.GetDatabaseDsn() to DatabaseDsn(), see #50 2018-12-21 03:19:25 +01:00
Michael Mayer
3eb61dff47 Rename Config.GetDatabaseDriver() to DatabaseDriver, see #50 2018-12-21 03:18:43 +01:00
Michael Mayer
ef2719e21e Rename Config.GetServerMode() to HttpServerMode, see #50 2018-12-21 03:18:01 +01:00
Michael Mayer
f0c947ddfb Rename Config.GetServerPort() to HttpServerPort, see #50 2018-12-21 03:16:50 +01:00
Michael Mayer
49793a3706 Rename server-* to http-*, see #50 2018-12-21 03:11:06 +01:00
Michael Mayer
cde4eb5d92 Rename serverIP and serverPort to httpServer*, see #50 2018-12-21 03:06:48 +01:00
Michael Mayer
149e9f15d7 Rename Config.GetServerIP() and HttpServerHost(), see #50 2018-12-21 03:03:59 +01:00
Michael Mayer
62d75f74f2 Rename Config.DbServerIP() and DbServerPort() to SqlServer*, see #50 2018-12-21 03:02:34 +01:00
Michael Mayer
d4aada7f86 Rename Config.IsDebug() to Debug(), see #50 2018-12-21 02:49:45 +01:00
Michael Mayer
6872cff3dc Rename Config.GetAppVersion() and GetAppCopyright() to AppAppVersion() and AppCopyright(), see #50 2018-12-21 02:47:44 +01:00
Michael Mayer
9efbbbfe90 Rename Config.GetAppName() to AppName(), see #50 2018-12-21 02:44:34 +01:00
Michael Mayer
37fe1d093e Rename Config.GetConfigFile() to ConfigFile(), see #50 2018-12-21 02:43:44 +01:00
Michael Mayer
c639a81c90 Rename GetDb() to Db() in comments, see #50 2018-12-21 02:39:31 +01:00
Michael Mayer
40fae6a28f Rename Config.GetClientConfig() to ClientConfig(), see #50 2018-12-21 02:38:39 +01:00
Michael Mayer
0f12aac73b Rename Config.GetDb() to Db(), see #50 2018-12-21 02:37:16 +01:00
Michael Mayer
9e4c134e29 Fixed inline comments 2018-12-21 02:00:22 +01:00
Michael Mayer
d2ba33d5f4 Improve error message for lat/long missing #80 2018-12-21 02:00:22 +01:00
Michael Mayer
43b860801c Proof-of-concept for using TiDB instead of MySQL #60 2018-12-18 18:38:30 +01:00
Michael Mayer
11ca54da3b Add logs for location indexing #80 2018-12-18 18:13:44 +01:00
Michael Mayer
52c82e610d Change fixture download file name to test.zip 2018-12-11 07:22:11 +01:00
Michael Mayer
f92830eb83 Change fixture data URL to our own download server 2018-12-11 07:11:00 +01:00
Joey Zou
c5ff44692f HTTP status code change (#78)
DislikePhoto and LikePhoto should return http.StatusOK (200) instead of http.StatusAccepted (202)
2018-12-07 13:48:15 +01:00
Michael Mayer
2e746c833c Code clean-up #58 2018-11-18 19:18:19 +01:00
Michael Mayer
9872cfaa50 Add ConfigCommand test #58
- Includes refactoring of existing packages to enable testing of commands
2018-11-17 13:57:19 +01:00
Michael Mayer
86a6dda0e0 Run "make fmt" #58 2018-11-17 12:29:01 +01:00
Michael Mayer
bb36226b59 Expected status for like and dislike is accepted (202) #58 2018-11-17 08:37:31 +01:00
Michael Mayer
cdf9d9293d Add test stubs and helper functions for package api #58 2018-11-17 08:28:50 +01:00
Michael Mayer
f7404f838b Fix slow tests and improve test output (colorized) #58 2018-11-17 06:56:43 +01:00
Michael Mayer
fb91ce9a06 Move utils and test config to separate packages #58 2018-11-17 06:21:39 +01:00
Michael Mayer
f3129097cf Fix Inception model name in download script #70 2018-11-17 02:49:25 +01:00
Michael Mayer
8063ba39ac Move slow tests to *_slow_test.go #58
- Added a new make target: test-fast
- To execute all test, you have to use -tags=slow
2018-11-14 23:51:17 +01:00
Michael Mayer
c5ee0fee48 Add darktable development docker image #62
- Improved build scripts and Dockerfile
- broadwayd can be used as display server for darktable or other GTK based software
2018-11-12 06:58:39 +01:00
Michael Mayer
8ac8658cc2 Lowercase fields for Config and added documentation #50 2018-11-09 21:11:52 +01:00
Michael Mayer
dd26ee0dca Use functions for all config values #50
Why? See https://github.com/photoprism/photoprism/issues/50#issuecomment-433856358
2018-11-09 20:48:23 +01:00
Michael Mayer
2cce8ded84 Moved all server assets to subdirectory #55 2018-11-09 19:25:58 +01:00
Michael Mayer
53dfd1647a Preparation for using an embedded database #55 2018-11-09 19:06:03 +01:00
Michael Mayer
90d73e4a61 Fixed default value for database DSN #58 2018-11-09 13:18:12 +01:00
Michael Mayer
133c7964ad Add tensorflow model and test file to development image #39 2018-11-08 16:41:14 +01:00
Michael Mayer
ac31141669 Smaller docker images with multi-stage build #39 2018-11-08 10:56:11 +01:00
Michael Mayer
a4d6f810d6 Added inline documentation #14 2018-11-06 19:02:03 +01:00
Michael Mayer
3e3327ade3 Added link to wiki / developer guide, see #12 2018-11-06 11:10:57 +01:00
Michael Mayer
4a33d430e9 Fixed formatting for api inline docs, see #12 2018-11-06 10:43:59 +01:00
Michael Mayer
e66e9e4f69 Improved REST route docs, see #12
Hard to test locally as godoc -http ":80" doesn't seem to work outside the GOPATH
2018-11-06 10:28:44 +01:00
Michael Mayer
5868d4e664 Added REST route as a first step to document API, see #12 2018-11-06 09:56:40 +01:00
Gergely Brautigam
b202bb6cc7 Refactoring the photoprism package #53
* Started refactoring the photoprism package.

* A lot of more comments and eliminating utils.

* Fixed search.

* See #50 The great refactor -- Refactor config to YAML, Add Docs, Revise exported fields
2018-11-01 17:01:45 +01:00
Michael Mayer
6a2af16d1c Using goimports for formatting imports #50 2018-10-31 07:14:33 +01:00
Philipp Knobel
00f79b2d01 First implementation of liking a photo (#48)
First implementation of liking a photo
2018-10-31 03:33:18 +01:00
Carlos Vazquez
00abbf1af5 Adds basic documentation for internal packages (#43)
* Added basic documentation wireframe for api, commands, and forms.

* Added doc.go
2018-10-31 02:42:54 +01:00
Michael Mayer
479acc06ab Changed edited postfix from "edit%d" to "edited_%d" 2018-10-09 16:48:10 +02:00
Michael Mayer
b9f1fe930b Added TakenAtChanged flag 2018-10-08 20:03:00 +02:00
Michael Mayer
b1e2ac17bd Save() instead of Update() must be used for updating rows 2018-09-27 15:16:37 +02:00
Michael Mayer
7640cae26b Mark files are missing, when they are not found 2018-09-27 12:10:19 +02:00
Michael Mayer
340d9ea799 Don't show missing files in search results by default 2018-09-27 09:44:06 +02:00
Michael Mayer
10859ee695 Moved perceptual hash from photo to file model; code clean-up (go fmt)
- Files might show different details of the full photo
2018-09-27 08:59:53 +02:00
Michael Mayer
c5481a177d Added fields for house nr, street and suburb to location 2018-09-26 15:00:12 +02:00
Michael Mayer
2ae77b7686 Refactored REST API (renamed package to api) 2018-09-24 21:14:15 +02:00
Michael Mayer
bbab05f9db Added additional photo meta data like aperture, lens and camera make; smaller perceptive hash; implemented stub for single photo view 2018-09-24 19:07:43 +02:00
Michael Mayer
13426caba2 Added country name and text wrap to photo search detail view 2018-09-24 11:48:52 +02:00
Michael Mayer
16a89c84c0 Refactoring: Separate file for each REST route and changed thumbnail URL 2018-09-24 11:27:46 +02:00
Michael Mayer
034495d75c Refactoring: Separate file for each command 2018-09-24 09:53:16 +02:00
Michael Mayer
5a2c717030 Using simpler sha1 hash for improved indexing performance (not relevant for security) 2018-09-24 09:02:00 +02:00
Michael Mayer
4ac3b2a602 Implemented detail view proof-of-concept for photo search 2018-09-19 20:15:46 +02:00
Michael Mayer
d7e4531231 Indexer now sets country (guess when there there is no location) 2018-09-19 11:16:18 +02:00
Michael Mayer
122f7a8641 Added countries table 2018-09-19 09:20:57 +02:00
Michael Mayer
ce5869d213 Code clean-up (go fmt) 2018-09-19 00:56:54 +02:00
Michael Mayer
d3ef7abb54 Experimental filters for category and country (photo search) 2018-09-19 00:53:39 +02:00
Michael Mayer
39ab854672 Implemented infinite scrolling and improved search API 2018-09-18 23:24:19 +02:00
Michael Mayer
6b7b5bf186 Improved logging for thumbnail generation 2018-09-18 22:02:50 +02:00
Michael Mayer
e4998d1046 Code clean-up 2018-09-18 21:42:33 +02:00
Michael Mayer
d50e36b213 Indexer now re-indexes existing files 2018-09-18 21:15:54 +02:00
Michael Mayer
4119170587 MediaFile.GetRelatedFiles() now returns shorter filenames first 2018-09-18 20:03:43 +02:00
Michael Mayer
0c39f51a86 Using relative path for file names in database 2018-09-18 19:23:40 +02:00
Michael Mayer
0148096c86 Importer now instantly converts and indexes files 2018-09-18 18:36:12 +02:00
Michael Mayer
de494fb8f8 Fixed Config.CreateDirectories() 2018-09-18 16:34:08 +02:00
Michael Mayer
1af143d806 Changed assertion for c.Debug in test 2018-09-18 15:49:35 +02:00
Michael Mayer
c0c8c26d11 Fixed TestConfig_SetValuesFromFile 2018-09-18 15:28:23 +02:00
Michael Mayer
5e12c48de2 Renamed server-ip to server-host 2018-09-18 15:18:54 +02:00
Michael Mayer
eec90acce3 Improved docker-compose config for production environments 2018-09-18 14:42:49 +02:00
Michael Mayer
a02b144b96 Additional photo jpeg files get editN suffix instead of vN (N = 1,2,3,...) 2018-09-18 14:05:56 +02:00
Michael Mayer
361123b125 Indexer now indexes files in correct order and with better performance 2018-09-18 12:44:22 +02:00
Michael Mayer
9096d87aca Using defaults from flag config if no value was set 2018-09-18 10:06:26 +02:00
Michael Mayer
da77a1230e Code clean-up (go fmt) 2018-09-17 18:40:57 +02:00
Michael Mayer
d925d59e67 Moved gorm models to separate package 2018-09-16 19:09:40 +02:00
Michael Mayer
78d9484d81 Directory clean-up: Moved source code to internal/ and config files to configs/ 2018-09-14 14:04:03 +02:00