Commit Graph

150 Commits (1477a7668d88cc83494d6cde6e73c31f1ab8ce0d)

Author SHA1 Message Date
voussoir d1b0fb6aec Add Bookmark.atomify and /bookmarks.atom. 2022-11-11 11:41:24 -08:00
voussoir 732c13440e Use flasktools.atom_response. 2022-11-11 11:39:04 -08:00
voussoir e89d6fe10e Remove "UTC" from the isoformat since it already contains +0000. 2022-11-09 19:41:48 -08:00
voussoir 11706cc1c7 Add admin button to clear all login sessions. 2022-11-07 17:51:02 -08:00
voussoir b64901105c Move search to an entire class of its own.
The initial motivation for this was to make the "more_after_limit"
feature, which would help the UI to not show a next page button when
the number of results was exactly equal to the limit.

However, in order to surface this more_after_limit status using only
the old search generator, it would have to be a special yield at the
end. I was getting tired of the special yields like give_back_params
at the beginning and warning_bag at the end, and this would be worse.

There is a lot of sideband information about the search that is now
more easily accessible when the search is its own object.
2022-11-06 22:58:36 -08:00
voussoir de2bf6a81a
Move login code over to User object. 2022-11-06 22:59:12 -08:00
voussoir a514ed5ff3
Use voussoirkit timetools. 2022-11-06 22:59:11 -08:00
voussoir 172a539f24
Default yield_albums to false instead of true.
I'm finding I just don't like the ux of having them on default.
2022-10-29 17:17:37 -07:00
voussoir 328e84b0c7
Fix search by SHA256, didn't finish implementing. 2022-10-29 17:17:37 -07:00
voussoir 1e5fc81019
Rename endpoint function logout -> post_logout. 2022-10-01 14:24:36 -07:00
voussoir 3767558c66
Add search filter has_albums.
Sometimes it's nice to search just for the free spirits.
2022-09-28 19:49:01 -07:00
voussoir 57f1b80442
Use SQL generated columns for area, aspectratio, basename, bitrate. 2022-08-13 18:08:45 -07:00
voussoir 6dd4cfe59b
Add admin endpoint uncache. 2022-07-22 19:23:36 -07:00
voussoir d61f504d60
Alphabetize functions. 2022-07-22 16:43:29 -07:00
voussoir 2562084fce
Experimental atom feed for photos, albums, search. 2022-07-20 19:03:27 -07:00
voussoir 4001f6f371
Use datetime objects instead of timestamps in object model.
Trying to make better use of objects in this object oriented language.
2022-07-20 19:03:26 -07:00
voussoir 49992f59aa
Add /admin/dbdownload. 2022-07-20 19:03:25 -07:00
voussoir 0e00a1e981
Use new worms version. 2022-07-20 19:03:25 -07:00
voussoir e6f5d16a03
Bring catch_etiquette_exception into common.
The decorators file only had a single function in it.
2022-04-05 11:53:35 -07:00
voussoir 93e03656ca
Small tidy ups. 2022-03-26 13:22:01 -07:00
voussoir 4261c42512
Add xdg-open for non-windows use. 2022-01-11 01:00:36 -08:00
voussoir 5efad72425
Use log.warning for traceback instead of print_exc. 2021-12-21 16:55:46 -08:00
voussoir 017523bdac
Return 404 if we try to reload_metadata on a missing file. 2021-12-21 16:55:03 -08:00
voussoir 1e9e948431
Move decorate_and_route to flasktools. 2021-10-31 15:11:17 -07:00
voussoir 1f18713875
Add reminder of what __file__.parent.parent evaluates to. 2021-10-31 15:10:54 -07:00
voussoir f0d302d4a5
Move give_theme_cookie to flasktools. 2021-10-30 17:29:43 -07:00
voussoir 6ac1d8a90a
Add remark about X-Forwarded-For. 2021-10-24 23:21:11 -07:00
voussoir 779eff1761
Don't show the registration form if registration is disabled. 2021-10-24 22:17:50 -07:00
voussoir 6794caa32b
Call photo._uncache instead of doing it manually. 2021-10-18 14:10:59 -07:00
voussoir 91cf08efde
Match renamed flasktools.json_response. 2021-10-01 23:05:46 -07:00
voussoir fd42ef16e1
Add admin endpoints. 2021-10-01 22:42:45 -07:00
voussoir 0c51201901
Move truthystring to stringtools. 2021-09-05 01:21:04 -07:00
voussoir d4025e865b
Move cached_endpoint, required_fields to flasktools. 2021-09-03 12:45:07 -07:00
voussoir 2e0b4cfa14
Replace run_generator with gentools.run. 2021-08-31 19:23:56 -07:00
voussoir e9d5711f29
Some linting. 2021-08-20 22:54:12 -07:00
voussoir 82a6103d8d
Fix leftover imports. 2021-06-08 16:04:20 -07:00
voussoir f003f55fca
Move make_json_response to voussoirkit.flasktools. 2021-06-04 21:49:45 -07:00
voussoir 47c4790d36
Remove unnecessary intermediate variable ip. 2021-06-04 21:33:55 -07:00
voussoir 7f8a007e2d
Add decorators.give_theme_cookie to decouple from render_template.
I realized it was not appropriate for render_template to be handling
this responsibility, but previously did not think of another way.
Now I did.
2021-06-04 21:29:23 -07:00
voussoir 1554b86c11
Use flasktools.ensure_response_type. 2021-06-04 21:28:23 -07:00
voussoir d091efb619
Flip all_albums.json to id:name map. 2021-06-04 21:00:49 -07:00
voussoir 53e8030186
Move REQUEST_TYPES, RESPONSE_TYPES to voussoirkit.flasktools. 2021-06-04 21:00:22 -07:00
voussoir 0012999744
Remove some pointless whitespace. 2021-06-04 20:52:39 -07:00
voussoir 975408227b
Improve cached_endpoint behavior with sentinel. 2021-06-04 17:49:46 -07:00
voussoir 56ab6636cc
Add Swipe UI. 2021-06-03 21:28:05 -07:00
voussoir e8cb183849
Add cards.js photos.create, render clipboard batches on client. 2021-05-29 08:46:25 -07:00
voussoir 89205ac24a
Add interface for copying tags from other photos. 2021-04-29 13:12:37 -07:00
voussoir e3872e1da4
Update requirements.txt. 2021-04-04 11:17:45 -07:00
voussoir ff1ec3896b
Use voussoirkit.flasktools for gzip_response. 2021-04-02 18:31:44 -07:00
voussoir 400c255aea
Add "Show in folder" button to photos, albums. 2021-02-25 18:57:41 -08:00