Commit Graph

396 Commits

Author SHA1 Message Date
Rasmus Kaj
ac2a790864 Refactor. 2019-07-22 21:07:29 +02:00
Rasmus Kaj
89b34a7fb0 Use more OSM places. 2019-07-22 18:53:13 +02:00
Rasmus Kaj
70b5779363 Accept more place types. 2019-07-18 21:29:37 +02:00
Rasmus Kaj
420aee3c61 Use more OSM places. 2019-07-05 12:03:52 +02:00
Rasmus Kaj
432de2ada6 Update rand to 0.7.0. 2019-07-04 17:12:20 +02:00
Rasmus Kaj
5df25e02de Refactor: Move some code
Just move some code around, make the longest file in the source
tree a bit shorter.
2019-07-02 15:47:35 +02:00
Rasmus Kaj
2b54d043bd Fix kebab-case in precache args. 2019-06-30 15:21:51 +02:00
Rasmus Kaj
8244c42e90 Remove the find-sizes subcommand.
Sizes are required in db now, so that command won't ever find anything
to do.
2019-06-30 15:18:45 +02:00
Rasmus Kaj
c1dea5004d Context arg by reference. 2019-06-02 19:28:04 +02:00
Rasmus Kaj
b68628b12c Refactor to get_or_create. 2019-05-29 17:27:16 +02:00
Rasmus Kaj
23a7926674 Remove redundant use statements. 2019-05-25 13:04:41 +02:00
Rasmus Kaj
938549b51d Remove an unneded attribute. 2019-05-18 22:45:38 +02:00
Rasmus Kaj
cfbf5bb2f5 Fix commandline bug from structopt transition. 2019-05-18 22:38:11 +02:00
Rasmus Kaj
965dcab486 Make photo size required in db. 2019-05-18 21:43:58 +02:00
Rasmus Kaj
19e714970b Add a command to make images public by tag. 2019-05-18 19:04:24 +02:00
Rasmus Kaj
3d8530c0ec Update brotli to native. 2019-05-18 17:14:40 +02:00
Rasmus Kaj
f130f16827 Don't exclude raw images from findsizes. 2019-05-18 15:27:52 +02:00
Rasmus Kaj
43a259e658 Use structopt.
Code becomes a bit simpler than with raw clap.
2019-05-18 15:01:09 +02:00
Rasmus Kaj
f76942bfce Fix path for fallback image reading in find-sizes. 2019-05-16 12:36:44 +02:00
Rasmus Kaj
b5ec3058e7 Release 0.5.6
* Fallback to reading actual image data if exif size fails in
  find-sizes.
2019-05-15 18:49:16 +02:00
Rasmus Kaj
c3f2e4c6a7 Release 0.5.4
* Improve error reporting in ExifData::read_from.
2019-05-12 22:45:11 +02:00
Rasmus Kaj
f2049a8002 Add a command to fix missing image sizes in db. 2019-05-12 19:59:10 +02:00
Rasmus Kaj
5bcda397cd More efficient fetch-places.
Find images that has position but no places in a more efficient
way.
2019-05-11 17:07:27 +02:00
Rasmus Kaj
f59f018d33 Switch memcache implementation.
Use pooled r2d2-memcache instead of the old memcached-rust.
2019-05-03 01:00:02 +02:00
Rasmus Kaj
a305d461f0 Datebased headers in splitlist. 2019-05-01 22:16:54 +02:00
Rasmus Kaj
b282e48f43 Fix a minor clippy issue. 2019-04-27 10:13:52 +02:00
Rasmus Kaj
336b439d7a Update leaflet. 2019-04-26 00:33:59 +02:00
Rasmus Kaj
001cdc8e80 Move the far_expires impl to RenderRucte. 2019-04-25 21:43:02 +02:00
Rasmus Kaj
cd0911c3e5 Add redreict method to request builder exension. 2019-04-23 09:49:38 +02:00
Rasmus Kaj
95c5c0afe2 Cleanup next handling on login form. 2019-04-23 01:14:56 +02:00
Rasmus Kaj
5c03a28f59 Use warp instead of nickel.
Use the modern async warp web framework instead of nickel (which is
starting to feel a bit stale).

Url routing and context passing is changed a lot.
2019-04-22 16:08:19 +02:00
Rasmus Kaj
7080f7b382 Get rid of some redundant closures.
Suggested by clippy.
2019-04-22 15:39:53 +02:00
Rasmus Kaj
fd8cc25002 Minor cleanup. 2019-04-21 01:18:22 +02:00
Rasmus Kaj
7e1c79fa8b Update ructe. 2019-04-20 22:04:09 +02:00
Rasmus Kaj
4d333741dd WIP: Edition 2018. 2019-03-26 18:10:00 +01:00
Rasmus Kaj
5944ad6404 Improve the split function.
I hope this way it should never create zero-size sublists.
2018-11-06 22:28:43 +01:00
Rasmus Kaj
1b0e9bd698 More logging changes in fetch_places. 2018-11-03 15:01:01 +01:00
Rasmus Kaj
8b256c89ee Add positions to year view. 2018-10-27 23:58:27 +02:00
Rasmus Kaj
7884803b3d End rustc-serialize use.
(At least direct use, it is still used indirectly through
nickel and jwt dependencies.)
2018-10-27 21:25:14 +02:00
Rasmus Kaj
4b2abc14fb Handle more places with same name. 2018-10-27 20:24:45 +02:00
Rasmus Kaj
54bf4113f1 Use serde_json and improve error handling. 2018-10-27 18:21:35 +02:00
Rasmus Kaj
08050811e3 Improve error handling in fetch_places. 2018-10-27 14:33:10 +02:00
Rasmus Kaj
ea8a0e345b Some log changes in fetchplaces. 2018-10-21 21:50:06 +02:00
Rasmus Kaj
28ec7e68b4 Allow proc_macro_derive_resolution_fallback.
Released disel doesnt quite play nice with recent stable rust otherwise.
2018-10-21 21:48:51 +02:00
Rasmus Kaj
2247a91118 Update image. 2018-10-17 00:57:29 +02:00
Rasmus Kaj
d9ba9f4c23 Minor cleanup. 2018-10-17 00:32:56 +02:00
Rasmus Kaj
24aaefe5e0 Rustfmt. 2018-10-17 00:27:47 +02:00
Rasmus Kaj
98f1b3e8bc Add time limit to precache. 2018-09-08 17:28:24 +02:00
Rasmus Kaj
79a295159e Rustfmt. 2018-09-08 15:09:07 +02:00
Rasmus Kaj
32ef7fa4fd Added auto arg to fetchplaces command. 2018-09-08 14:18:08 +02:00
Rasmus Kaj
3bcd1e67fc Change debug eprinltln to actual debug. 2018-09-07 21:40:15 +02:00
Rasmus Kaj
7ccc626792 Use more place info from OSM. 2018-09-07 19:50:21 +02:00
Rasmus Kaj
ce77a26eec Fetch OSM places when setting image position.
Also remove specific route that was only partially implemented.
2018-09-06 23:43:18 +02:00
Rasmus Kaj
39126f2bc0 Improve presentation of places on a photo. 2018-09-06 13:52:06 +02:00
Rasmus Kaj
7cea04400f Refactor fetching places.
Added a command line subcommand to fetch places for specified images.
2018-09-05 23:39:35 +02:00
Rasmus Kaj
0482c46b5a Changed some number types, make the migration last.
And some rustfmt updates.
2018-09-05 14:20:43 +02:00
Rasmus Kaj
c78a8a2b65 Use reqwests as https client. 2018-09-05 14:01:22 +02:00
Rasmus Kaj
b512eb3ae5 WIP: Get location names from OSM. 2018-09-05 14:01:22 +02:00
Rasmus Kaj
6af87035be Use r2d2 as diesel feature, not separate crate. 2018-08-31 23:02:03 +02:00
Rasmus Kaj
1d862962b6 Quit using diesel_infer_schema.
Instead, let diesel keep src/schema.rs up-to-date when migrating.
2018-08-31 22:40:39 +02:00
Rasmus Kaj
e5e1ff0234 Test and improve splitting a group. 2018-08-31 22:10:44 +02:00
Rasmus Kaj
135fb5e9f4 Add positions to month view. 2018-08-12 15:02:02 +02:00
Rasmus Kaj
5d9040ab22 Refactor. 2018-08-12 14:52:59 +02:00
Rasmus Kaj
5557dd4de9 Add positions to on-this-day. 2018-08-12 13:31:30 +02:00
Rasmus Kaj
8dd9b9729a Minor exif handling improvement. 2018-07-30 20:56:36 +02:00
Rasmus Kaj
17bb8a0716 Improve diesel usage.
Avoid full-query verbatim sql.
2018-07-30 20:17:06 +02:00
Rasmus Kaj
fb2e215fbf Rustfmt update. 2018-07-30 18:57:25 +02:00
Rasmus Kaj
db8b5e013e Update diesel to 1.2.x. 2018-07-27 20:14:09 +02:00
Rasmus Kaj
1d9b2a2e48 Allow manually corrected positions. 2018-07-27 17:15:35 +02:00
Rasmus Kaj
863d37a162 Some code-style cleanup. 2018-07-19 21:49:48 +02:00
Rasmus Kaj
a9db221aac Add photo previews to map markers. 2018-07-19 21:17:00 +02:00
Rasmus Kaj
df1c33c7ee Add leaflet clustering.
Nice handling of maps with extreme numbers of photos.
2018-07-18 21:20:38 +02:00
Rasmus Kaj
e62bdeffa5 Update rand and memcached-rs. 2018-07-17 11:53:43 +02:00
Rasmus Kaj
5222194c5c Add admin ux to set image position. 2018-07-15 21:52:44 +02:00
Rasmus Kaj
e86271fc2a Some cleanups, mainly clippy-suggested. 2018-07-15 14:34:55 +02:00
Rasmus Kaj
20c72d5ef3 Rustfmt. 2018-07-05 23:28:57 +02:00
Rasmus Kaj
79ca4a4e1a Fast image scaling.
Use the new image.thumbnail method if the source is at least three
times target size.
2018-04-27 11:01:59 +02:00
Rasmus Kaj
fb766f5a0d Update image dependency. 2018-04-27 09:22:53 +02:00
Rasmus Kaj
4ee6265d7a Oops. 2018-04-08 12:05:33 +02:00
Rasmus Kaj
1bc04d6b46 Rustfmt. 2018-04-08 03:10:38 +02:00
Rasmus Kaj
d4509b0ce2 Get size of image even if exif is missing. 2018-03-05 21:48:31 +01:00
Rasmus Kaj
408a7be248 Don't override picture orientation. 2018-03-05 21:09:26 +01:00
Rasmus Kaj
fc1ed81561 Store width and height of images.
Use it to calculate width and height of small images in lists.

Since the old database should be migratable to the new, the width and
height fields are nullable.  I aim to make them not nullable later,
after all images in the database has got width and height.
2018-03-05 00:29:39 +01:00
Rasmus Kaj
c2388befa9 Use kamadak-exif instead of rexif. 2018-03-04 14:35:30 +01:00
Rasmus Kaj
72c07fbe5d Get rid of a reexport. 2018-03-03 14:39:33 +01:00
Rasmus Kaj
7aa4a0fb30 Unify groups and index.
Remove the groups template, use the index template instead.

Remove the Group struct, add an optional title to the PhotoLink struct
instead.
2018-03-03 14:35:50 +01:00
Rasmus Kaj
4d000337d0 Rustfmt. 2018-02-20 10:42:51 +01:00
Rasmus Kaj
56b53e1607 Minor cleanups. 2018-02-19 23:30:03 +01:00
Rasmus Kaj
240b3bada2 Get rid of unnecessary New* structs. 2018-02-19 23:02:31 +01:00
Rasmus Kaj
0357667858 Log if ther is a problem loading positions. 2018-02-11 18:10:00 +01:00
Rasmus Kaj
b567e6625f Improve next/prev for simultaneous images. 2018-02-11 17:16:21 +01:00
Rasmus Kaj
06bb3ce97f Stor compressed only if worth it.
If a .png.br is six bytes less than plain .png, that is not
worth the overhead of having two files on the server and
decompressing .br before parsing the .png in the browser.
2018-02-11 16:09:53 +01:00
Rasmus Kaj
5bd7a8d4a8 Rustfmt. 2018-02-10 23:10:04 +01:00
Rasmus Kaj
59d26c5bce Move source for statics to res directory. 2018-02-10 23:06:09 +01:00
Rasmus Kaj
79c21fa67b Use local copy of leaflet.
At the same time, update the used leaflet to version 1.3.1.
2018-02-10 22:59:35 +01:00
Rasmus Kaj
f7ee3c9f49 Write compressed files only if smaller
When a static file is in a format that is compressed in itself (such
as a jpeg or png image), applying gzip or brotli compression will
actually make it larger.  In those cases, don't write the compressed
file ad all when running storestatics.
2018-02-10 14:37:17 +01:00
Rasmus Kaj
8dcc6359e2 Dont split static path names.
A static filed might be called somename.suffix, but there is no
need to assume that, and absolutley no need to copy the strings
separatley and format them together again when we can just
borrow the relevant substring directly from the request.
2018-02-10 01:00:48 +01:00
Rasmus Kaj
28032e4026 Add maps to image lists. 2018-02-07 20:56:23 +01:00
Rasmus Kaj
df9ad3edbe Support Exif orientation 0 (disabled?). 2018-01-25 21:52:59 +01:00
Rasmus Kaj
fe42eebfd7 Use nightly distributed rustfmt-preview. 2018-01-25 21:20:15 +01:00
Rasmus Kaj
33d7eb03a0 Fix deprecated diesel type usage. 2018-01-25 21:07:47 +01:00
Rasmus Kaj
5a9d534b36 Update memcached and env_logger dependencies. 2018-01-25 20:56:29 +01:00
Rasmus Kaj
696ceab074 Rustfmt. 2018-01-04 00:31:35 +01:00
Rasmus Kaj
0d4a2933ff Use diesel 1.0.0. 2018-01-04 00:15:17 +01:00
Rasmus Kaj
73eb97f1d2 More methods, avoid a giant method. 2017-12-30 17:04:23 +01:00
Rasmus Kaj
f739b745bf Minor code cleanup. 2017-12-25 16:46:16 +01:00
Rasmus Kaj
4971a1b03c Allow "_" in next. 2017-12-25 16:43:23 +01:00
Rasmus Kaj
0a6a7f8f1c Improve shoing of time spans. 2017-12-17 16:02:47 +01:00
Rasmus Kaj
836c5f8683 Remove some redundant refs. 2017-12-11 21:34:07 +01:00
Rasmus Kaj
346ad7099a Be sure to write all of the compressed file. 2017-12-11 21:33:32 +01:00
Rasmus Kaj
6310316669 Rustfmt. 2017-12-11 21:10:18 +01:00
Rasmus Kaj
b1a8360e5c Use flate2 1.x.
There was a slight API change.
2017-12-07 07:17:09 +01:00
Rasmus Kaj
858f873f98 More natural grouping.
Make groups no shorter than 8 and no longer than 16 photos.
Also, make time and not only number of images a factor when
deciding which group to split next.
2017-11-28 00:14:53 +01:00
Rasmus Kaj
3071431452 Use the slug crate for generating slugs.
Rather than having to keep on adding special cases in my own code.
2017-11-26 22:04:16 +01:00
Rasmus Kaj
27481a62b3 Simpler and more versatile links. 2017-11-25 02:35:15 +01:00
Rasmus Kaj
94e661065b Some styling and UX. 2017-11-25 01:22:01 +01:00
Rasmus Kaj
a54ca58850 Fix some clippy complaints. 2017-11-24 22:41:05 +01:00
Rasmus Kaj
8ae2c64564 Improve tag completion.
Less is more (max 10 answers, not 15), and BadRequest rather
than 404 is q query parameter is missing.
2017-11-24 19:56:09 +01:00
Rasmus Kaj
09a7f92bc6 Rustfmt update. 2017-11-23 11:09:13 +01:00
Rasmus Kaj
448f9b8a75 Add admin UX to grade images. 2017-11-22 21:13:34 +01:00
Rasmus Kaj
ade508eb8d Use improved timecluster for day view.
Just as for people, places, and tag views.
2017-11-20 15:10:42 +01:00
Rasmus Kaj
3c3ecbbfbb DRY. 2017-11-20 14:06:55 +01:00
Rasmus Kaj
2460e26e64 Cleanup. 2017-11-20 13:08:12 +01:00
Rasmus Kaj
5028a1831c Add timecluster grouping for place views.
Just as for people and tag views.
2017-11-20 12:42:01 +01:00
Rasmus Kaj
b47726a6a5 Add timecluster grouping for tag views.
Just as for people.
2017-11-20 11:40:06 +01:00
Rasmus Kaj
8e7a3a36b6 Cleanup. 2017-11-20 10:27:27 +01:00
Rasmus Kaj
63fac99f27 Split long list for person in chunks. 2017-11-19 23:46:03 +01:00
Rasmus Kaj
36653d760f Implement next and prev links. 2017-11-18 00:38:41 +01:00
Rasmus Kaj
3dd706c1ef More accesskeys, incl a helpful listing. 2017-11-17 00:26:17 +01:00
Rasmus Kaj
884ffe7e02 Add UX to note people in pictures. 2017-11-10 19:26:45 +01:00
Rasmus Kaj
328074c0b6 Some minor cleanups. 2017-11-09 00:06:12 +01:00
Rasmus Kaj
d41b22b4b8 Update and reenable rustfmt.
Update code format to the new recommended style.
2017-11-08 21:55:12 +01:00
Rasmus Kaj
5fc48cf2cf Redirect from /random.
Use a redirect rather than just rendering a random photo page.
Also, add a link to /random to the menu.
2017-11-08 21:09:15 +01:00
Rasmus Kaj
551c5c6897 Redirect from /random.
Use a redirect rather than just rendering a random photo page.
Also, add a link to /random to the menu.
2017-11-07 23:36:09 +01:00
Rasmus Kaj
18ddb04d65 Remove readkpa subcommand.
My old kphotoalbum database is no longer relevant, rphotos is
the main soruce now and should not be overridden.

The readkpa subcomand was never intended for general consumption
anyway, it was hardcoded to match configurations in my kphotoalbum
setup.
2017-11-07 23:34:19 +01:00
Rasmus Kaj
21f2fce9e1 Nicer implementation of find_image_data. 2017-11-05 23:51:03 +01:00
Rasmus Kaj
8fb8d991dd Add UI to add tags to images. 2017-11-05 23:03:55 +01:00
Rasmus Kaj
376927e39c Silly feature; an url for a random image. 2017-11-05 17:56:18 +01:00
Rasmus Kaj
38711abc37 Some lint-style changes suggested by clippy. 2017-09-27 00:19:03 +02:00
Rasmus Kaj
cde078317a Add a message for login failure. 2017-09-25 19:12:54 +02:00
Rasmus Kaj
3a6a9cb21d Add admin function to rotate image. 2017-09-25 07:25:58 +02:00
Rasmus Kaj
f4d083360e Fix memcache problem.
Thirty days is max expire time in memcache, setting a larger value
gets it treated as a unix time (so when I said 90 days, everything
expired april 1, 1970).

Also, less logging while precaching.
2017-09-23 22:54:41 +02:00
Rasmus Kaj
e5188e1c09 Document intent. 2017-09-21 07:17:32 +02:00
Rasmus Kaj
8a926c3a55 Add a command for precaching thumbnails. 2017-09-20 23:47:27 +02:00
Rasmus Kaj
16a1b75643 Cleanup some more.
Get rid of lib.rs, and move main entry point to main.rs.
2017-09-02 00:05:44 +02:00
Rasmus Kaj
ce1e9c6190 Update some dependencies. 2017-09-01 23:36:08 +02:00
Rasmus Kaj
8131f5e5ec Merge server and adm to single binary. 2017-09-01 23:14:17 +02:00
Rasmus Kaj
97076336a6 Refuse non-replace pidfile.
If the given pid file already exists, but --replace is not given,
refuse to start the server.
2017-08-31 20:09:20 +02:00
Rasmus Kaj
ec52f0b57e Typo. 2017-08-31 19:32:24 +02:00
Rasmus Kaj
d52e874645 Add options for pidfile usage. 2017-08-15 19:54:22 +02:00